So you work in a traditional software development shop — waterfall development with massive business requirements documents, BDUF (Big Design Up Front), SQA testing at the end, and change requests (lots of change requests) — been there, done that.
Your team wants to try an agile approach like Scrum, XP, Lean or Kanban. You realize that it would be a huge change and not everyone in the organization is up for it. The risk of failure seems high. What should you do?
I suggest you test the organization but applying a few agile ideas and gauge the reaction. You’ll still be doing waterfall development and generating all the artifacts everyone is familiar with but in a different way. What follows are some ideas to get you started.
- When someone requests documentation, challenge the need for it. Why do they need it? Who is the audience? How will it be used? If they insist on it, supply the minimum amount of information needed to satisfy the request. Make them ask for more and repeat the process.
- Shorten meetings. Reduce the standard meeting time from 1-hour to 30-minutes. Insist the meetings have an agenda, are focused, start on time and end on time. Keep the list of invitees as short as possible.
- Postpone decision-making for as long as feasible. Log issues and track them. Make decisions when needed to avoid the need for change requests and document revisions.
- Have the software development team deliver software releases (call them increments, if needed) often — at most monthly. Even if you do nothing more than arrange a monthly show-and-tell meeting for the stakeholders, it will be worth the effort.
- Conduct regular retrospective meetings and really work at improving the way work gets done. Isolate one or two items to improve at each meeting and track the results.
- Allocate dedicated space for a team or project room. Encourage the team to use the room for impromptu meetings and discussions. Omit the chairs.
- Consider setting up a simple task board (like Scrum and Kanban teams use) in the team room. You won’t have user stories as such but you could track assigned tasks, important features, key issues, or critical defects just to get an idea of how a task board works.
These simple ideas will help make your software development team more agile. They will also help you prepare the organization for moving away from waterfall and toward better outcomes.