To manage scope effectively within an agile framework we need to collaborate together to deliver the best feature set within budget constraints. Business Analysts work alongside Product Owners to create a prioritised product backlog at the start of implementation. Prioritisation is revisited by the team along with product owners after every agile iteration.
Any requirement that has not been worked on can be swapped out at iteration boundaries for new requirements of equal work. In the spirit of agile Business Analysts collaborate throughout the process, defining the best set of detailed features within budget and time constraints, using business value to prioritise effort, i.e. use business value to decide where the fidelity of the experience needs to be highest and areas where simplified solutions are deemed sufficient.
To manage requirements I propose using JIRA, a commercially available requirements and issue management tool. JIRA provides the following capabilities:
- Flexible, configurable data model for handling requirements, features, user stories, issues, defects
- Browser based to assist with full access from various locations on different devices
- Support for multiple document attachments to items
- Custom issue types supported such as training requests, support requests, communications requests
- Ability to handle different priority levels for ease of prioritisation
- Full traceability of all changes
- Customisable workflow to notify users of changes, items assigned, etc
- Supports agile workflows
- Excel export capability with varying levels of data export
Ensuring quality of output is of critical importance. Requirements capture is perhaps the most critical part of the technical delivery framework. Without clear business requirements, we fail before we even start. In a sense Quality can be seen in terms of the clear communication of requirements across the various phases of the project lifecycle.
The process of communication is most difficult when team members from one discipline need to pass their thinking to those in another. This is why Business Analysts pay special attention to Wireframe Analysis refined by the Experience teams, to ensure clarity in delivery to the Technical development team for implementation.
Developers write software to meet functional requirements while keeping an eye out for things such as maintainability, extensibility and performance. Pursuit of these intangibles becomes so engrained that quality concerns become aesthetic – “that’s a beautiful piece of code”. Activities such as unit tests, code reviews and pair programming all contribute to quality in the development.
Once developers have built the solution, it needs to be tested. Testing is the process of conducting experiments to verify that a system meets its specification. Quality Assurance is broader than Testing since it also covers things such as expression and communication of the target quality as a set of requirements and the design of the optimal delivery approach.
The final step in any technical delivery engagement is to accurately deploy the solution to the production environment without disturbing the behaviour confirmed within the testing environment. As a Business Analyst I take special care to review features when deploying from test to production environment.