For the uninitiated, the Agile approach to business requirements can seem confusing. For those who have been on a project with a cowboy coder who claimed they were “Agile” as an excuse to avoid a disciplined approach to requirements gathering, it can seem like a downright fraud. Can a developer really build to the light-weight requirements on a user story card? Isn’t this cutting corners, and don’t you end up paying in the end?
I believe that most people expect me to say, “Of course, all you need are story cards and you’re good to go!” However, the real answer is, “It depends.” Projects come in all types and sizes, per the chart.
Agile methodologies do not advocate a one-size-fits-all approach for software development. They agree that higher criticality (if the system fails, do you lose a few bucks or does someone die?) and larger project teams (how many people and how distributed among various sites) necessitate more detailed requirements, more formal communication, and more quality controls.
For example, if your project only has a few developers in one room and the business contacts are actively engaged in providing guidance, answering questions and frequently reviewing completed functionality, the nifty little story card is all you need. From there it is a graduating scale that includes writing detailed acceptance criteria, UI design, and on up to flow diagrams, detailed use cases, etc.
I’ve been on the other side and seen the results of using a heavy approach regardless of project type or size, generating unnecessarily heavy documentation that commandeered significant project resources and budget, only to be so overwhelming that developers ended up missing key details on pages 123 and 207. After a disastrous experience, the developers end up talking things through with the business and getting back on track, avoiding the documentation altogether. I won’t even talk about the hours spent maintaining old documentation based on changes to the project over time. Go through this, then experience the flexible Agile approach to only produce just as much documentation as is absolutely required and you’ll never want to go back.
No comments:
Post a Comment