Q: I've heard software development shops talk about various methods--"waterfall," "agile" and "scrum"--for building apps. What's the difference?
A: Be assured, the developers who use scrum aren't billing you for a daily rugby match to help brainstorm your product. In this case, the term describes one of more than a half-dozen software development processes used to organize a project's work flow. And whether you need an e-commerce site for your T-shirt startup or a smartphone app for your pizza delivery business, you should decide on the approach to development that addresses the requirements, design, production, testing and deployment phases of the software in a manner that works best for your management style and, ultimately, your business.
According to Kim Heldman, senior IT director for the state of Colorado, choosing the right methodology for a development project can spell the difference between rapid success and drawn-out failure. Heldman suggests focusing on the three most popular development processes: waterfall, agile and scrum.
|Process||Methodical, linear||Continuous, repetitive||Delegates tasks to self-directed teams|
|Best used if||The project builds upon existing platforms (e.g., a website or database)||The shape of the end product--or end user--is unclear and likely to change. Design, development and implementation occur multiple times.||The project involves uncharted territory for the developers, yet the deadline calls for a quick development cycle|
|Pros||Highly structured, reliable||Flexible, simple; working prototype available early in the cycle||Collaborative; good for products with tight deadlines|
|Cons||Software delivered at the end of the cycle, with few changes allowed||Unpredictability of end product and uncertain delivery time||Success depends on the quality of team members and their ability to collaborate|