Texts about project management often tend to be abstract and vague. So we’ll introduce the three most popular agile methodologies, and demonstrate them on a real-life project: creating a website for a client who owns a flower store.
The opposite — traditional — way of doing projects is not flexible. You come up with a BIG plan and hope that everything goes smoothly, and nothing unexpected happens.
Using the Traditional (waterfall) approach we would plan everything first — every color, button, text — and then start working on the website. We’d do everything step by step and deliver when we’re done. Sticking to the plan is the key, as it’s difficult to change the course later. If the client doesn’t like the layout of the site, we’ll have to do a lot of backtracking and the cost of rework will be very high.
With the Agile approach, we get feedback early on during the construction of the website We see how the client responds and make adjustments on the go. Again, and again — each adjustment will get us closer to the finish. If the client doesn’t like the layout, we can change it quickly, and not lose time and money on dead ends.
The Agile approach consists of many overlapping methodologies. The most popular ones are: Lean, Kanban, and Scrum.
According to the Lean methodology, do only the bare minimum to deliver the product. That product is called Minimum Viable Product (MVP) and it’s the core concept.
In our case, we’d first create a website with just an image of a flower store and contact information, and launch it. The goal is to be up and running as fast as possible. Now that the site is live, we can start adding some more features — but only ones that are absolutely necessary for the business. So we can add a flower gallery and some prices, and publish. If the client wants a blog, you don’t need to make a database, back-end, interface… You can just add posts as simple HTML files and make it look like a blog section. That’s much faster: the client can capitalize on the idea quickly and see if they should invest more.
Perfectly viable product. The goal is to get it out there
Lean is most popular with startups that try to penetrate the market or test their idea. They don’t have the time to develop the concept because they’re not sure it would be a viable business. Running Lean is an excellent book that describes the concept, plus provides real life examples that illustrate every point.
Kanban is a board on which you arrange your tasks and track progress. You make several labels (columns), and move the tasks across them.
In our example, we’d divide the board into several columns: To-Do, In Progress, Review, Done. Then we write all the tasks on cards (like create wireframe, get flower photos, build form, write content, choose fonts and colors) and stick them under the “To-Do” column. When we start working on the wireframe, we move the card to “In Progress”, and when it’s finished it goes to “Review”. The client can see what’s in “Review” and provide feedback. If it’s good, the client moves it to “Done” — if not, the card goes back to “In Progress”.
Kanban board — great for spotting bottlenecks
Kanban is very simple and widely used. It can be applied in production, software development, or even as a personal productivity method to organize your To-Dos. Kanban-like boards are also used in Scrum.
Scrum is a whole system of organizing your workflow. It incorporates a kanban-like board, special team roles, events, and techniques.
For our project we ask the client to write what they want from the website — one thing for one card — and pin them all on the board, under the “Backlog” column. The client may request things like:
- I want visitors to see all the flowers I have, so they want to visit my shop.
- I want visitors to contact me about special offers if they buy for weddings.
- I want analytics so I can track number of visitors.
We ask the developers how much time they would need for each card. To build a gallery maybe we need 1 day, to make a form 2 days, and to create a cool animation 4 days. Then we prioritize the cards and choose what we will work on — that makes a sprint. During the sprint we have visual representation of our progress on a board and a cool chart. At the end of each sprint we ship an improved version of the website.
A Scrum board is similar to a Kanban board
In the meantime the client can make more requests, like including carousel gallery. That goes on a separate card, and into “Backlog”. Those requests are taken into consideration in the next sprint. If there’s a bug, it also goes on a card. If the client wants a redesign, another card. This way the client knows how much we can do, what to expect, and what to count on. But if there’s something urgent they need, like yesterday, it can mess up our scrum workflow.
Scrum is widely used in software development because you always add new features to existing software, ship it on a regular basis, and the client knows what to expect.
P.S. Be sure to download our free Kanban ebook - it has everything you need to get started and more.