Nitish Patkar

Logo

Supporting Multiple Stakeholders in Agile Development

Requirements engineering is both a sequential and a cyclic process. Numerous stakeholders, each passionate about the project’s success, enter the fray equipped with their preferred tools. Unfortunately, facilitating coordination and collaboration among these enthusiastic stakeholders also requires integrating their diverse tools.

I advocate for the creation, management, and implementation of requirements and other specification and design-related artifacts within a unified environment. This method proves effective only when the representations of requirements and artifacts are tailored to meet the diverse needs of both technical and non-technical stakeholders. With the right graphical user interfaces, an Integrated Development Environment (IDE) can serve as an ideal platform for merging static requirements with live domain objects.

In my approach, requirements are treated as first-class entities within an IDE, where they are specified, maintained, and implemented. This involves shaping requirements hierarchies and their representations to fit the specific application domain and project requirements. Developers begin by constructing custom requirements hierarchies, ranging from high-level epics to detailed scenarios. They then develop interfaces, such as graphical ones, allowing other stakeholders to create, access, and navigate these requirements. Developers also design domain-specific representations for entities within the requirements. This strategy extends to representing design models, like use case diagrams, as yet another form of a specific use case instance.

Curious? Check out my doctoral thesis