BLOG
There is no one-size-fits-all solution to managing a project
I was teaching an IT project management class recently and had a student ask a question I hear all too often: 鈥溌槎构炒解檙e using waterfall right now but I really want to move towards agile, will we learn about that?鈥 The answer is always, yes, we will cover agile. But the answer to 鈥淪hould we use an agile style of project management?鈥 is much more complex.
Eric Ries, author of , seems to have inadvertently started a craze here in the Bay Area. It鈥檚 understandable. With so many software companies around here, terms like 鈥渋terative鈥 and 鈥渕inimum viable product鈥 (MVP) have become ubiquitous (and sometimes nauseating). And certainly many software development projects will benefit from an iterative approach. But if you鈥檙e just creating an in-house app calculate payroll deductions or event registrations, waterfall is perfect. On the other hand, if you鈥檙e trying to develop a consumer-facing game in a fast-moving mobile market, agile is probably better.
The heart of the issue is how much you actually know about where you鈥檙e trying to go. Waterfall, agile, traditional, really any style of project management is only useful if you know the state of requirements. If the requirements are generally well-known and agreed upon (e.g. 鈥淭he software must be able to calculate payroll deductions based on current state requirements.鈥), then a waterfall approach works great. A waterfall software development life cycle (SDLC) looks like this:
Because requirements are known, the progression through each project phase is linear. Customers, internal or external, should not expect to have much input once the project is running and should generally be satisfied with the outcome. But what if we鈥檙e designing a mobile game where the requirements are less understood? Perhaps we know it will be a first-person shooter involving wizards and aliens and that鈥檚 about it. An iterative process that allows us to test our game in the market for feedback is more useful if we want to ultimately make something people will buy. This is why agile is so popular. Work is done in short bursts or 鈥渟prints鈥 that allow instant feedback to developers. An agile SDLC looks like this:
The idea is that the customer can give feedback throughout the process, possibly sending the project back to a preceding phase for rework. Though you and the customer don鈥檛 always know where you鈥檙e going, the hope with agile is that you鈥檒l know when you鈥檙e there.
There is no definitive answer here. That requirements be known and understood is the standard answer but 鈥渒nown鈥 and 鈥渦nderstood鈥 are clearly subjective. There are many other variables to consider too, including how finicky your customer is. In any case be sure to do your best to clarify requirements before committing to any particular style of project management. A good project manager assesses requirements first, then picks the management model the is best for the project, not whatever style seems sexiest in Silicon Valley.
鈥
Want our articles in your inbox? Sign up for our blog newsletter to never miss out!