This is the second part of my Project Management series Tech Startup Projects: What’s different, what works, what doesn’t. If you have not read the previous part please do so. It sets the tone for the text you will read in this post. The previous post is titled Why managing projects for startups is different.
Now that we’ve seen why startups need a more flexible, responsive approach to Project Management versus the larger enterprise, let us look at some methods and practices used within design and software development environments at large.
Agile = Speed + Quality + Predictability
How do you manage a mobile or Web app project, where requirements change frequently? This is where an Agile software development method applies. It is very hard to maintain predictability in product delivery for tech startups, yet still provide the level of last minute changes that the entrepreneur requires. Agile methods established for Just-In-Time (JIT) manufacturing provides a solid foundation for tech startups and project management.
While there are many methods and tools created for Agile software development, the most prevalent ones are Scrum and Kanban. If you are not familiar with the term, Scrum is an Agile framework for managing work, with an emphasis on software development.
For further reading on Scrum, read The Scrum Guide by Jeff Sutherland and Ken Schwaber. Kanban is a visual framework for process management that takes its roots JIT and Lean manufacturing pioneered at Toyota in the 1980s.
Here, the focus is on making the processes efficient by clearly communicating capacity while maintaining transparency of work. For more about Kanban, I recommend reading Kanban in Action by Joakim Sundén and Marcus Hammarberg and The Toyota Way by Jeffrey Liker.
Scrum is an Agile framework that focuses on predictability of deliverables (software releases), with the help of efficient planning and communication. Scrum works with the concept of a self-managing team (usually no more than nine members) and typically communicates every day via 15-minute ‘Standup Meetings’.
With Scrum, a Product Owner creates a Backlog of Tasks to be done in a prioritised order. These Tasks roll-up into to features and work Tasks called ‘Stories’. What underpins the work is at set of iterative time-boxed set of Tasks known as a ‘Sprint’, and where this is typically a 1 or 2 week period. Stories are discussed with the team in a Sprint Planning session that usually lasts a couple of hours for each Sprint and its related Statement of Work (SoW), describing all Tasks. In the same prioritised order, the team can pick Stories from the Backlog and discuss them in the regular Standup Meetings.
Work items are moved in different stages on a Scrum Board. At the end of the Sprint, functional work is demonstrated to the Product Owner and shipped. The design and development team then undertakes a Sprint Review meeting, where an open discussion takes place on what went well – and what did not go well. Based on the outcomes, the team realigns around the next Sprint, hence, ensuring better productivity the next time, in a process of continuous change and improvement.
Scrum is a hugely popular Agile framework and some of its key terms like ‘Sprints’ and ‘Standup Meetings’ are a tech industry standard practice for Project Management. Many large, medium and small companies or startups have implemented the Scrum framework or method.
With Kanban, things start with a prioritised Backlog (a group of Stories). Backlogs are a common theme in Agile. A Product Owner can create and prioritise a Backlog on a Kanban ‘Board’. A Kanban Board simply consists of stages of a project, moving from left to right on the Board. Some examples of the different stages or columns on a Kanban Board are: To Do; Doing; and, Done. You are free to create as many stages on the Kanban Board that fits your workflow.
On the Kanban Board, team members pick Stories from the top of the Backlog stack. This is usually the To Do column. If a new priority arises, work on a particular item can be dropped back to the ‘To Do’ stage. A higher priority work will then be taken up. To ‘drop’ the work in between like this needs the use of a proper versioning and release workflow setup. Gitflow from Github is a popular workflow tool that allows you to do this via ‘git versioning’.
Kanban Boards have adopted by project management tools such as Trello, owned by Atlassian, who have now integrated this with Jira, favoured by many design and development teams for the more detailed Tasks that underpin the Scrum Agile method described above.
At Cliffex we have follow a method called Scrumban - combining the predictability of Scrum with the flexibility of Kanban. I have explained Scrumban further in the next post.