Share this
Will analysing complex requirements in short agile sprints result in requirement errors?
by Martin White on 12 May 2014
On agile software development projects agile business analysts are taught to delay detailed analysis until the time that information is needed. This stops the business analyst from having to undertake significant rework to accommodate changing requirements. We are also told to work in short iterations or sprints. As all business analysts know some complex requirements can take time to elicit, synthesize, communicate and validate. So it does raise the question:
Will analysing complex requirements in short agile sprints result in requirement errors?
There are ways of managing requirements on agile software development projects to reduce errors that could be associated with trying to deliver complex requirements within the tight time available on short agile sprints:
Two levels of analysis
On Equinox IT agile software development projects we undertake analysis at two levels. The initial level of analysis is usually done prior to the sprint, and consists of establishing high-level user stories with acceptance criteria - just enough detail from which to be able to plan and estimate the task. We then elaborate acceptance tests (which also act as detailed requirements) as our in-sprint activity. So, this can help manage the business analyst workload within each sprint.
Sprint planning
Agile projects normally have planning sessions prior to each sprint or iteration and work is assigned based on product backlog priority and also what is achievable in the available time. If you are working on a sprint of two weeks and you are trying to fit a requirement within that sprint, then you need to have the unit of work be small enough so that it is achievable. A greater number of smaller tasks is also easier to manage from a workflow perspective. So, if it’s just a single algorithm for calibrating salary based on three inputs, then you should be able to do that within a sprint comfortably, while also undertaking detailed analysis for other user stories.
Reducing time to analyse requirements
Complex requirements do take time to get right. On agile software development projects at Equinox IT we often use a tabular form to express requirements as sets of test scenarios. This can help accelerate requirements elaboration, uncovering ambiguities and missing requirement very quickly
Working as a team within the sprint
Agile teams are often cross functional and in these collaborative teams you will normally find that the business analyst isn't the only person involved in analysis activities. For example, acceptance test definition, which as stated above is our way of documenting detailed requirements on agile projects, should be done ideally with the participation of the developer and the tester. The developer knows how they are going to implement and automate the tests. The tester is good to have involved because they have a testers' mindset. We find this collaborative approach is quicker because more people are involved and you handle the questions immediately rather than being interrupted later forcing you to switch tasks. Effectively you have a continuous feedback loop during the process between the developer, the tester and the business analyst.
Share this
- Agile Development (89)
- Software Development (68)
- Scrum (41)
- Agile (32)
- Business Analysis (28)
- Application Lifecycle Management (27)
- Capability Development (23)
- Requirements (21)
- Lean Software Development (20)
- Solution Architecture (19)
- DevOps (17)
- Digital Disruption (17)
- Project Management (17)
- Coaching (16)
- IT Professional (15)
- IT Project (15)
- Knowledge Sharing (13)
- Equinox IT News (12)
- Agile Transformation (11)
- IT Consulting (11)
- Digital Transformation (10)
- Strategic Planning (10)
- IT Governance (9)
- International Leaders (9)
- People (9)
- Change Management (8)
- Cloud (8)
- MIT Sloan CISR (7)
- Working from Home (6)
- Azure DevOps (5)
- Innovation (5)
- Kanban (5)
- Business Architecture (4)
- Continuous Integration (4)
- Enterprise Analysis (4)
- Client Briefing Events (3)
- GitHub (3)
- IT Services (3)
- AI (2)
- Business Rules (2)
- Communities of Practice (2)
- Data Visualisation (2)
- Java Development (2)
- Lean Startup (2)
- Scaling (2)
- Security (2)
- System Performance (2)
- ✨ (2)
- Automation (1)
- FinOps (1)
- Microsoft Azure (1)
- Satir Change Model (1)
- Testing (1)
- March 2025 (1)
- December 2024 (1)
- August 2024 (1)
- February 2024 (3)
- January 2024 (1)
- September 2023 (2)
- July 2023 (3)
- August 2022 (4)
- July 2021 (1)
- March 2021 (1)
- February 2021 (1)
- November 2020 (2)
- July 2020 (1)
- June 2020 (2)
- May 2020 (3)
- March 2020 (3)
- August 2019 (1)
- July 2019 (2)
- June 2019 (1)
- April 2019 (3)
- March 2019 (2)
- December 2018 (1)
- October 2018 (1)
- August 2018 (1)
- July 2018 (1)
- April 2018 (2)
- February 2018 (1)
- January 2018 (1)
- September 2017 (1)
- July 2017 (1)
- February 2017 (1)
- January 2017 (1)
- October 2016 (2)
- September 2016 (1)
- August 2016 (4)
- July 2016 (3)
- June 2016 (3)
- May 2016 (4)
- April 2016 (5)
- March 2016 (1)
- February 2016 (1)
- January 2016 (3)
- December 2015 (5)
- November 2015 (11)
- October 2015 (3)
- September 2015 (2)
- August 2015 (2)
- July 2015 (7)
- June 2015 (7)
- April 2015 (1)
- March 2015 (2)
- February 2015 (2)
- December 2014 (3)
- September 2014 (2)
- July 2014 (1)
- June 2014 (2)
- May 2014 (8)
- April 2014 (1)
- March 2014 (2)
- February 2014 (2)
- November 2013 (1)
- October 2013 (2)
- September 2013 (2)
- August 2013 (2)
- May 2013 (1)
- April 2013 (3)
- March 2013 (2)
- February 2013 (1)
- January 2013 (1)
- November 2012 (1)
- October 2012 (1)
- September 2012 (1)
- July 2012 (2)
- June 2012 (1)
- May 2012 (1)
- November 2011 (2)
- August 2011 (2)
- July 2011 (3)
- June 2011 (4)
- April 2011 (2)
- February 2011 (1)
- January 2011 (2)
- December 2010 (1)
- November 2010 (1)
- October 2010 (1)
- February 2010 (1)
- July 2009 (1)
- October 2008 (1)