You are probably familiar with agile methodologies, such as scrum, or the shortly popular XP programming, or even the formless Kanban.

You’ve heard from consultants that waterfall CMMI types of frameworks are not ideal for rapidly changing requirements projects. That if you go agile, you don’t need to implement all the artifacts, but just choosing the right ones for your team.

All those advises sound like a good story, but in practice, the reality is different. In a software development project, you have 3 very different, distinct, and consecutive phases:

1) Plan: as dull as it might seem, you need a Gannt chart for this phase. You don’t need to go as deep as task-level rows. As long as you have the features, who is the owner, when she will start and finish, and all of that placed in a timeline, that’s enough.

You will refer to this tool throughout the whole life cycle of the project, especially when someone needs to change the requirements.

2) Code: a simple Kanban board is all you need to keep your engineers focused. Your Gannt chart is a weekly or even monthly usage tool. The Kanban board for every day. Its primary purpose is to make sure there are clear assignments, there are no blockers, and progress is being made. 

3) Deploy: deploying features doesn’t necessarily mean production-ready components. It means you have two environments, one for testing, and another for production, and you have a clear schedule to deploy changes in both, whether it is for beta user testing, integration tests, or you have the features market-ready.

Leo Celis