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.
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.