“The secret of getting ahead is getting started. The secret of getting started is breaking your complex overwhelming tasks into small manageable tasks, and then starting on the first one.” – Mark Twain
Mark Twain wasn’t a Software Development manager in any way; however, his words still resonate very accurately when it comes to how you can get started adopting Agile project management techniques.
Here are the top 5 practices you can use TODAY regardless of your situation or environment.
- Don’t call it “Agile” – The term Agile seems to have become fatigued or simply over/misused. In some organizations it even has negative connotations – synonymous with “developer centric” or “no documentation” or “no requirements.” This is not the intent of Agile. In addition, sometimes the term “Agile” conjures up dogma– a religious like push to have an “all or nothing” adoption of all things “Agile”. In many cases, this simply isn’t reality. Ultimately we adopt “Agile” project management practices to help control chaos and more importantly, reduce waste by helping us focus on the production of business value. The term “Agile” sometimes conjures up a nebulous end-state that seems unachievable or unpractical to a lot of organizations. So, why call it Agile? The goal of adopting any practice is virtually the same – to minimize waste. You don’t need to label any of these practices with “Agile” if you don’t want to and still get tremendous value.
- Time-boxed High-Bandwidth Communication Cadences – The term “High Bandwidth” is used for a reason. Part of “Agile” is an acknowledgement that humans communicate more effectively when they are face-to-face – other forms being wasteful. We like face-to-face discussions – body language, facial expressions, and interactive conversation all add to the effectiveness of this form collaboration. Given this, you should start to sprinkle in regular cadences of high-bandwidth communication across your project. To make this even more effective, consider placing a time-box around these sessions to make sure everyone stays focused. Don’t mistake this with “have more meetings” – implementing this correctly results in having less more effective meetings focusing on greater team communication. Start with a daily 15 minute “standup” meeting where the team simply acknowledges what they are working on and if they are having any problems. Next, sprinkle in a bi-weekly “show-and-tell” to show off what was accomplished during that time period with your customers. If you can’t meet face to face, then think about other forms of higher bandwidth communication such as video chat with Skype or Lync. Try to NOT rely upon email for your primary form of discussion as meaning and intent are quickly lost or misinterpreted the more you rely upon written words for communication.
- Be Visible: Find a way to simply and effectively communicate the current state of work. I might stress that this is not a 50 page print out of your Microsoft Project Gantt chart – but a very simple, highly visible board that shows what people are working on. This doesn’t need to be electronic and could be as simple as sticky notes on a whiteboard. There are lots and lots of examples of this – yet, you should start off with something simple to create and more importantly, simple to maintain and update.
- Regular Checkup: The term “Post Mortem” is a horrible term. It means to investigate something after it is dead. Instead of using an autopsy to drive organizational learning why not have a “regular checkup” to make sure you are doing all that you can to keep the project and team healthy? This doesn’t need to be formal – it can be as easy as a “pizza Friday” on the last Friday of a month where the team gets together to chat about what they think is going well, and what they know needs fixing.
- Define Done: Instead of having arbitrary numbers that represent the % of “done” something is, create a checklist that you and your team agrees define exactly what it means to be “done” a task of different types. You can have a “done” checklist for your analysis tasks as well as any other step in the development process. Checklists are very easy to produce and should start off very simple. You can use your regular checkup meetings to add or remove items from your checklists to continue to capture team learning and improve consistency across your project and team members.
These 5 practices should not conflict with any method or model you are working on today and go a long way to helping you along your path to the adoption of even more Agile practices.