Emergent Requirements

Glen Alleman in his Herding Cats blog, asks some really good questions about emergent requirements.  Since Glen is always and forever explaining that domain has everything do do with process, this appears to be another example, where the domain that he is in does not have the same sources of requirements emergence, that the business enterprise has….

In the business enterprise, software is designed to enable a business process by adding capabilities that make human actions more efficient, less risky, and more effective.  But, in enabling the business process, it also changes the business process.  In my experience, this is where the vast majority of requirements emerge from – the building of software capabilities to change the business process, creates new requirements for new or different capabilities.  Why is this so, because once people start to use the new enhanced business process, or start to walk through it on paper or in models, on story boards or in design sessions, they realize the the process enhancements that they had envisioned either did not have the desired effect, or they realize new opportunities to add more value that they had not previously seen.

Simply put business process enhancement is itself an iterative process, with each enhancement.

Since requirements “emerge” in this pattern, we have a choice.  We can ignore the emerging requirements until the current project is complete, but what that creates is a case where the delivery of software capabilities is always a cycle behind the development of requirements for those capabilities.  Isn’t the goal to deliver the capabilities as close to the development of the requirements as possible?

When my customer constantly asks what have I done for her lately, I want to point her at what I am doing for her right this instant – and that is agility: “The ability to respond quickly”

I can imagine that a domain where software capabilities are bespoke to a larger program of capabilities – the software requirements can only emerge from requirements changes in the larger program.

No Comments

Leave a Reply