Web App Project: Sprint 1

Last week I introduced my 8-week project in which I want to demonstrate how the processes of Scrum can be applied even when on your own. Normally a Scrum team would have several persons, but right now I am on my own mission. I want to build a web app that allows people to check the speed of their website. It allows them to compare the speed against other websites and set up an alert that will get triggered if theirs becomes slower or another gets faster.

I choose a couple of new technologies I wanted to use in this project, EmberJS and Firebase, which hopefully I don’t live to regret.

Firstly, let me say that the Ember JS framework does have a learning curve, having only consumed two tutorials at the point last week when I chose it, I must now admit it has given me a few challenges.

The goal in this weeks sprint was to have a basic app setup where someone can add, edit, update and delete website URL’s they’ve given into the system. I achieved that very early in and had that working on Tuesday.

Being eager to get ahead I very nearly took on an additional story to set up the login screen but then quickly realised I had forgotten to create any automated tests and after a little testing, I quickly realised users could submit blank forms. It was a good lesson for me. The first credo of Scrum is always to aim to deliver “potentially deliverable software”, but certainly the second should be to include something on a testing.

Trying to learn how to create data validation routines in Ember JS got me into several hours of research which were unfruitful, I found it difficult to find training material. Even online paid courses I found didn’t cover topics I wanted, which were validation and testing. Searches like “learning ember” produced two good hits with comprehensive lists, which I went through but either they were outdated, didn’t work or were too complex for me.

Finally on Friday I sought professional help on upworks.com and placed an advert to get a developer to show me how. Luck had it that I found Alexandr Opak in Ukraine, who in one hour produced the necessary validation checks. So now users can’t submit blank entries into the database. He also pointed out some problems I had created from the tutorial I used to create the input forms. If this were a larger application then adding additional stories to refactor and validate architecture would certainly be needed.

Sprint 2 Backlog

In next weeks sprint I have again taken stories with a total estimate of 4 points;

  • Implement login screen (3 points).
  • Create button to trigger website speed comparison (1 point).

For the job to be considered done, I expect persons to be able to login using their Google account and only then can data be saved and retrieved.

In the backlog, there was a large 8 point story to create the speed comparison service. I made it into an epic and created several smaller stories. Based on what I learned this week I also adjusted some of the others. There are a total of 38 story points now to complete the project, so with a velocity of 4 per week, I will be one week over, this is already a little better than last week. 

Web App Project: Website Speed Comparison

Check out the video, and you’ll see me introduce the project, all uploaded videos over the next 8 weeks related to this project should also have subtitles in English. Just click the captions button to activate!

The points dealt with in my video and to all of this:

1. Why do this in 8 weeks? Why not just take your time?
2. Why an app to measure website speed?
3. The tech-stack I will try to use.
4. How I plan to do it.

I’ve never before carried out a project like this before; my idea is to share how parts of Scrum can be used even in a one man project. I want to try and give any small businesses and you entrepreneurs out there some encouragement in your endeavours.

Another reason I’m doing this is also to learn both a new cloud platform (Firebase) and framework for creating web applications (Ember.js). I’ve been asked before how you pick up this kind of thing, which will hopefully be understandable as I share that along the way.

I’m more comfortable with desktop applications, so you will see me struggle with things like CSS, which is the language for presenting web pages, but here I might grab into the trick box for a quick fix.

A couple of things I forgot to mention in the video. The time I have to spend on this project is limited because I have a day job and a family. I will be spending at least 5 hours a week on this, usually an hour a day plus my Saturdays. Otherwise, the timeline here for a first release would likely be much sooner.

Your tips specific to the project or my approach would be appreciated, please let me know in the comments below! And general encouragement is also appreciated!

You can expect 1 video per week on my YouTube channel (starting next week).

Sprint 1 Backlog

I will be using a tool called JIRA to track and manage the project. I already created a list of all the things this web app will require, and I have roughly estimated each by giving 3 points for small, 5 for medium and 8 being large (see my vlog for more info).

Next week I will tackle 2 stories:

  • Registering myself on the Firebase site (1 point).
  • Creating basic screen that allows someone to Add, Edit, Update and Delete a website URL and description (3 points).

For the job to be considered done, I expect the information is saved and retrieved from the Google Firebase database.

If you add up the estimates for each story, the total will be 50 points. That means if I can only accomplish 4 points per week, the project will already exceed the planned eight weeks. Perhaps there are some items I’ve rated too high, or we won’t need to go live?.. I will provide an update on that in the coming week.