Keynote: Just Enough Requirements Management for Web Engineering

When building web applications, strong temptation exists to “just build it.” After all, the tools available today for web engineering are just so easy to use. The operational environment is so tolerant of implementation problems. And the expectations of the user community allow for constant evolution. On the other hand, almost every type of application, including those that are highly financial-critical and life-critical, is migrating to the web. This trend works against the attitude of “just build it.” So, the answer cannot be “forget about requirements; we'll figure them out later.” And the answer cannot be “write a formal requirements specification for all parties to approve prior to system implementation.” Requirements management exists to reduce risk, but it also needs to be made simpler, not more complex. And in today's competitive world we need to find ways to accelerate system development dramatically; modern requirements management must thus reduce, not extend, the effort. The Capability Maturity Model (CMM) movement has tended to cause companies to over-methodize, while the agile programming movement has tended to cause companies to under-methodize. The result is that requirements are either over-analyzed and over-specified, or are totally ignored. This common-sense talk addresses the “right” level at which requirements should be addressed, with emphasis on recognizing that the “right” level is different for every project. The talk will cover all three major areas of requirements management: elicitation, triage, and specification. Each will be described, its goals will be made clear, common practices will be described, and recommendations for doing it in a “just enough” manner for web engineering will be explored. The talk will also discuss the factors that would cause you to want to alter the “just enough” prescription for your own needs.