Two of my best friends since forever are getting married next year and I couldn't be happier! As a best man, one of the duties is to assist the groom (and bride) on their wedding preparations. It occurred to me that using Agile methodologies might just be the best way to plan a Wedding.
When you think about it, Wedding planning is not that different from software development planning. We have a budget, a delivery date (the big day) and a colossal list of tasks with varying priorities.
For those of us that work in Software Development it might be a natural choice to solve planning problems this way. Working in an agile environment for the past several years has lead me to approach projects in another light and can help reduce the complexity in everyday lives. In this case, the groom, the bride and the rest of the wedding task force team have no idea what a Kanban Board is, so part of the challenge is to demonstrate what Agile is, how it works and why it is advantageous.
Software Wedding Development
The term "agile" was coined in the 2001 Agile Manifesto. Agile software development is an approach to software development that advocates incremental delivery, team collaboration, continual planning, and continual learning.
Agile is not a "thing"... you don't "do Agile"; rather agile is a mindset that you use to approach software development. There isn't one approach that works for all situations, rather "Agile" has come to represent a variety of methods and practices that align with the value statements in the manifesto.
Agile advocates discipline in adaptive, continual planning, early delivery and continual improvement and most of all encourages rapid and flexible response to change. Finally agile practices should not just be followed blindly, but rather apply what makes sense to your environment.
In a wedding agile team, we have the bride and the groom (team members, product owners and active stake holders), the best man (the Scrum Master and team member) and the Groomsmen and Bride's Maids (team members).
The Scrum Master
The scrum master is accountable for removing impediments to the ability of the team to deliver the product goals and deliverables. The scrum master is not a traditional team lead or project manager but acts as a buffer between the team and any distracting influences. The scrum master also ensures that the Scrum framework is followed. The role has also been referred to as a team facilitator or servant-leader to reinforce these dual perspectives. Some of the core responsibilities of the scrum master are:
- Helping the product owners (remember in this case the Bride and the Groom are produce owners) maintain the backlog (To-Do List) in a way that ensures the needed work is well understood so the team can continually make forward progress
- Helping the team to determine the definition of done for the product, with input from key stakeholders
- Coaching the team, within the Scrum principles
- Promoting self-organization within the team
- Helping the scrum team to avoid or remove impediments to its progress, whether internal or external to the team
Kanban is a lean agile methodology to manage and improve work across human systems. Funnily enough, the underlying Kanban method originated in lean manufacturing inspired by the Toyota Production System.
In Kanban, work items are visualized to give participants a view of progress and process, from start to finish usually via a Kanban board.
The Kanban Board
For a Kanban Board I decided to use Trello mainly because it is easy and free although not as advanced as I would have wished.
Although Kanban does not require that the team use a Kanban board, it is the preferred way to see the flow of work, get the participation of the team, and manage work.
A Kanban board shows how work moves from left to right, each column represents a stage within the value stream. In our case, this is the Kanban Board for the wedding.
Instantly, everyone (including the Bride and Groom) can visualize work in progress and understand complex information like processes, task relationships and risks related to a team's ability to complete work on time. It is easier for us to process information with a visual aid than without.
From various Movies and TV Shows, it is clear to me that Wedding Planning can never be stress-free. My aim is that by adopting Agile Methodologies to Wedding Planning, I can make this an a less-stressful process for the Bride and Groom. Having specific deadlines and time frames that are apparent to everyone on the team makes everything a lot easier. The team can be super organized and help stay on task.
For this to work with most efficiency, we need to touch base frequently and give each other updates on where we are on the tasks we are working on. Over the next few months, using agile is going to be essential to help create efficiencies as we start working on the website, save the date/invitations and finalizing the guest list.
I hope that everyone can realize that Agile is not something that you just do on Software (or at work). In essence, it is the concept of Divide and Conquer that we have been using for ages taken into the 21st century. Split tasks into smaller tasks, start somewhere and do continuous improvement. Dealing with change is inevitable and we have to learn to response to the unexpected.