Waterfall vs Agile For Interactive Projects
What’s the different between the waterfall and the agile approach to software or interactive development cycles?
Waterfall
- Define project scope and timeline.
- Allocate budget, resources, and milestones.
- Do your best to keep the project on track in spite of numerous important additions to deliverables and business requirements that could never that could never have been predicted and accounted for in a vacuum (during due-diligence).
- If you’re lucky, have amazing resources who don’t mind working gobs of overtime, and are able to keep change orders to a minimum, you may deliver the product on time, but often to the dissatisfaction of the sponsor and/or user who had to wait until the end of the project to discover that their vision for the project wasn’t quite what yours was.
- Oh yeah, and you couldn’t QA because that was the first thing to go when the project started to get behind. You end up calling it “beta” and fix things in production.
Agile
- Define business requirements.
- Divide business requirements into categories of “vital”, “important”, and “would-be-nice-to-haves”.
- Estimate resource and budget requirement for a first iteration that includes vital features.
- Allocate a portion of those resources and budget to the creation of a functional prototype (or wireframe walkthrough depending on the project’s complexity).
- Iterate upon the prototype and project requirements document (including use-cases) until project sponsor and users (usability studies) sign-off and the resulting feature-set falls within acceptable timeline and budgetary parameters.
- Develop test plans that follow use-cases defined in discovery phase.
- Development cycle begins with iterative sprints toward important project milestones.
- Each sprint includes QA and unit testing.
- Usability studies are conducted at appropriately defined milestones.
- Version 1 is put into production and step 3 – 9 are repeated for the secondary or “important” features.
