When asked to pick a single term that describes the ‘ideal’ project setup for startups and small businesses (and any shape of business or project really), it would need to be the word ‘agile’.
Even without full understanding of what agile project management is, the word itself conjures up an image of a flexible, fast moving entity that can easily respond to obstacles and changes thrown in its way. And it is in exactly these areas that an agile approach excels.
The Agile Manifesto
The term ‘Agile project management’ was first coined in 2001 by a group of people looking to change the face of software development. They introduced the Agile Manifesto.
At the heart of the Agile Manifesto sit twelve core concepts. I’d invite you to read them here – they are non-technical and sum up the philosophy behind the movement. To summarise, essentially they value the following:
- Embrace change as part of your process.
- Continuously deliver value to your business and your customers.
- Empower teams to collaborate and work to their strengths.
The manifesto came at a time when IT projects were run on a strictly hierarchical top-down, performance-lead approach. It forever changed the face of software development and project management in general.
Why you need agile
Agile was developed as a means of reacting to change and delivering value to your business, faster. So unless you can confidently say that:
- your project will not change in any way
- your product vision will not need adjusting
- your business requirements will not shift as time goes on
- it doesn’t matter how long you take to deliver your project
- your competition is not working on anything similar
…unless you can confidently say these things, then you will benefit from an agile process.
In practical terms, agile processes empower teams to work as effectively as possible. They allow startups to pivot to a completely new product direction. They allow smaller players to outperform and outsmart larger competitors. An agile process embraces change and will work with you rather than stand in your way.
Putting Agile into practice
Contrary to common belief, there is no one right way to put Agile project management into practice. As long as you adhere in some way to the manifesto, you’re doing Agile. As long as you keep the tenements of the agile manifesto in mind, you will be ‘doing’ agile.
Nevertheless, there are certain methods that have become hugely popular and successful in delivering agile projects. When you’re starting out from scratch I’d recommend picking one of these and implementing it fully. Adjust as you gain more experience.
Let’s take a look at the key players in the world of agile project management…
Agile project management – Scrum
Scrum is the poster child of modern software development. In the last few years it has also gained popularity for non-software projects.
If you’re running a software development project and have no previous experience, picking Scrum as your solution is an excellent starting point.
Scrum revolves around the following core concepts:
The Backlog: A project backlog lists everything you want to deliver as part of your project. Scrum calls these User Stories – read more about how to create great user stories here.
Fixed-length delivery cycles: Scrum revolves around a fixed length cycle. This cycle is repeated again and again and provides structure to the project. Two weeks is a common cycle length – start with that unless you have a good reason not to.
The objective for the team is to have a working product at the end of each cycle, with more business value than at the beginning.
Scrum calls these cycles ‘Sprints’.
Yes, Scrum is full of terminology. It’s easy to lose the process over words, so let’s stick to plain English here!
Initial planning session: At the beginning of each cycle, the team picks things they want to work on from the backlog.
Daily stand-up meetings: During each cycle of the project, the team works as an independent unit, which generally isn’t disturbed from the outside. Daily short stand-up meetings serve to remove obstacles from the team’s path. An outsider to the team, called the Scrum Master (and closest to the role of the traditional project manager) serves to remove these obstacles.
Some useful links:
A review at the end of each cycle: At the end of each cycle, the team comes together to review what happened and learn from the experience, with a view to optimise the process.
Useful link: How to run a great sprint review
Were you to implement just the above, you would be in a great shape to run your project. Evolve and refine the process as you go.
Here are some more useful links to drill deeper into Scrum:
- A book: Scrum: The Art of Doing Twice the Work in Half the Time, by Jeff Sutherland
- A guide to the different roles within a Scrum team: Scrum Roles Demystified – by the Scrum Alliance (they also offer great courses and certifications, if you are interested. Just don’t get too hung up about the practicalities here – put your knowledge into action and evolve from there!).
Scrum and Estimates
An article about Scrum would not be complete without a section about estimates. So here it is:
Traditionally, Scrum uses estimates to gauge how long individual items of the project are likely to take. Estimates would either be created of the entire backlog, or during the initial cycle planning meeting, when the team picks the next items to work on.
Please, don’t get me wrong – there is a time and a place for these metrics and they form an integral part of traditional Scrum practice. Unfortunately, metrics have also been abused and misused tremendously and without a deep understanding of how they work, how they implement them and how to use them to drive business value, you’re likely to cause more damage than good. If you’re intent on following this path, please get an experienced Scrum / Agile Coach on board to set this up for you.
Overall, there is a massive debate over how useful estimates really are. I’ve had first hand experience of many wasted estimation processes, highly inaccurate estimates and abuse of estimates by management to drive performance. Over the years it has lead me to become a firm subscriber to the no-estimates methodology. Wherever you stand on estimates I would say that if you’re starting out with scrum you can go along way without estimates. Ease your way into the general system, then add estimates if you feel you need more control.
There is a lovely no-nonsense write-up on estimates here: The No Estimates Movement
And if you’re keen to do estimation, please take a look at planning poker.
Tools for Scrum
There are lots of software tools to help you run Scrum. Here, in order of personal preference:
- Trello together with the Scrum for Trello Extension. See also 7 key tips for using Trello with Scrum.
- Pivotal Tracker – my favourite non-Trello software development tool
- Scrumwise – a great software development tool for larger teams
- Jira – the most commonly used tool, I find it cumbersome and slow but your mileage may vary!
If you need to pick one, go with Trello!
Agile project management – Kanban
Another incredibly popular agile method is Kanban. Originating from Toyota’s famous lean manufacturing methods of Toyota’s fame, Kanban offers a strong alternative to Scrum for some workflows.
At the heart of Kanban sit these tenements:
A product backlog: You keep a product backlog of items you would like to complete.
Workflow steps: Each work item flows through a set number of states on the way to completion. Think of these as the phases of your internal workflow. Traditionally these would be the stages of a production line, culminating in delivering the final product to the customer.
Work-in-progress limits: There is a strictly enforced limit on how many items can be in a single stage of the workflow at any given time.
That is essentially it. There is a lovely 5 minute overview of Kanban here (incidentally it also talks about combining Scrum and Kanban into an overall workflow).
While simple, Kanban is a wonderful method and very easy to work with. You can set up a Kanban board with post-it notes in just a few minutes.
Kanban workflow optimisation
Kanban places a strong emphasis on optimising your workflow. Each item in your list will travel through pre-defined steps. By measuring the time it takes to complete each step, along with the overall time from beginning to end, you can identify bottlenecks and optimise overall delivery.
As a primer to flow optimisation, see Cumulative Flow Diagram
PostIt Notes + a wall in your office – great for physical, non-distributed teams or quick planning sessions.
KanbanFlow – still easy to use, with some analytics.
Always remember: Choose tools quickly, make a decision and move on. It’s easy to get stuck in analysing the ‘perfect’ solution. That’s what I’m here for – I’ve done the research for you, take the knowledge and work on your business! The best project management setup isn’t going to safe you if you don’t have any customers!
Agile – the homegrown approach
Both Scrum and Kanban are fairly rigid methodologies. You can get certification in both and implement them by the book. Perhaps that is a good idea when you first put together your project management methods. It takes the thinking out of it for you and makes it easier for your team and outsiders alike to understand and follow the process.
Over time, you will adapt your chosen method to suit you and your organisation’s unique requirements. In all likelihood you’ll end up with a mix of different techniques – and that’s completely ok. After all, there is no single correct way of doing agile.
An example of a home grown approach that is looking to make it in the mainstream is Popcorn Flow. It was developed by Claudio Perrone to support his work in agile change management. He has now packaged it into a process that others can use and adopt.
Which agile approach is best for your project?
Scrum lends itself very well to general project management aimed at delivering a particular outcome. This could be an event, a piece of software, a mobile app. The applications are practically endless and it is a fantastic general purpose agile project management approach.
If you’re just starting out, I’d suggest adopting a looser version of Scrum without estimates and evolve it from there.
Kanban is a great all-round project management approach (and arguably easier to implement than Scrum). It lends itself particularly well to repeatable processes. When you do the same kind of tasks over and over again, process optimisation and measuring tools really come to the fore. As such, Kanban lends itself particularly well to operational workflows and delivering repeatable services or products to customers.
I go in depth on my own agile project management approach in a previous Tech Hug, which combines bits of Scrum and Kanban into an effective method.
Don’t forget – the aim of any project management technique is to add value to your business. Don’t get hung up on ‘doing it right’, start with a base approach and evolve it for your own needs.
Armed with this knowledge, what are you going to change in your project management approach? Let me know in the comments!