Over the last 8-weeks, I used parts of Scrum primarily on a one man project. I used a product backlog, estimated stories, had my share of great and bad sprints, made a demo every week and even carried out retrospectives. You can certainly apply Scrum processes to small projects, even on your own, but, I would warn anyone trying to do this, that unless you have an accountability system, such as weekly meeting with a customer or product owner, then you are very unlikely to follow through.
I didn’t realise in writing the final blog on this web app project, that I’d become apprehensive. So far I’ve had no feedback through comments on my blog or youtube channel. I had hoped for an honest discussion.
This experiment was a way for me to share parts of the Scrum process without having a team, Scrum master and product owner. I’ve been trying to avoid prescribing what is right or bad, there are just too many people doing that, nobody wants to be Chet Rong, the world’s worst agile coach, which is a funny video in itself, but I can tell you from many years using Scrum myself, that even badly implemented you can still reap benefits.
Anyone considering using Scrum processes should expect resistance if trying to get freelancers and contractors to work in this kind of team. I think that it boils down to them worrying about being micro-managed. I can assure you that this is not the case and that through the planning and retrospective meetings you both have a good 2-way communication from business to IT, vice-versa, and will be making improvements on a sprint to sprint basis.
For this project, I only used tech that was new to me, including; the Ember.JS framework for the app, Node.JS for a microservice, Docker, Google Cloud Platform, Kubernetes and NGINX. It wasn’t until the last couple of sprints I began to gain traction on the frameworks I had chosen. For example, the goal in the last week was to integrate a bootstrap theme which I completed relatively quickly. Obviously it takes a bit more work to get an application to look really great.
With any new technology, framework or programming language you’re learning there are always going to be surprises. Just this week, for me it was figuring out the Ember environment settings. Documentation on taking secrets like API keys out of source control don’t seem to be freely available, answers I only found by re-reading Ember documentation a couple of times.
Although I’ll be taking a break for a couple of weeks from the web app project. I took an hour to go through the product backlog. Now it might look like the stories are jumbled up. This reflects the last planning exercise I did.
Using Critical Path Analysis (CPA) is not common on Scrum projects, but the technique can help you decide on future sprints.
Something I’ve not seen anyone use or talk about before. It can be helpful in working out and identifying dependencies, even if it is miss-leading on the total time required to complete work.
There are currently 4 epics:
- Usability (purple) – adding progress bars when processing website speed and confirmation on delete.
- Dashboard (orange) – providing charts to make it easier to analyse the changes in site rankings.
- Scheduled Comparison (blue) – Checking the page speeds every night and sending notifications to users when there is a change.
- Monetization of app (green) – Make it possible for customers to purchase the service which will provide features like the scheduled comparison.
Following the critical path analysis I drew up the following sprint plan which looks like there will need to be at least another 8 to 10 sprints.
I’ve also included a velocity chart which documents the number of story points I tackled in each sprint. This chart can also be a little miss-leading and you can see in Sprint 7 what seems to be a dip in productivity. However, bugs that need to be fixed cannot be estimated in JIRA. In that Sprint I deliberately took only one story, to be sure I would complete all work.
To wrap up on the infrastructure, I think Firebase is fantastic for rapid prototyping. The Google Cloud Platform is also very powerful and the fact they provide free credit allows you to get a good idea of the services they provide. The billing is currently showing that $112 of the $300 free credit have been used which will expire in about 3 weeks. For small businesses this might seem a lot, but, you are getting access to a world-class data centre which is not comparable with setting up your own servers in-house.
That’s it! Let me know what you think of the 8-week project and web app, in the comments below! If you have any feedback at all, I welcome it.