Equinox IT Blog

Agile development business analysis Q&A

On Wednesday 30 April 2014 I delivered a webinar entitled The seven habits of highly effective agile analysts. We had great attendance on the webinar with many questions asked. We had so many questions relating to agile software development and agile business analysis that we could not answer them all during the webinar and so we promised to write this blog post to answer the remaining questions.

Where the answers were quite short, we have answered these as part of the post below. Where the answers were long, we have created individual posts for each question and linked through to these from below.

What are the benefits of using Agile? (Sue)

Please see our post The key benefits and costs to Agile software development.

Any tips to incorporate feedback in a controlled way? (Laura)

Please see our post How can agile business analysts incorporate feedback in a controlled way?

Just software? (Andrew)
which we interpreted as 'Is Scrum only relevant to software development?'

During the webinar we spoke about agile and Scrum in the context of software development. Fair point from Andrew. You absolutely could use Scrum as an agile approach for non-software development projects. Agile methods, such as Scrum are typically about software, but many of the principals and practices could be applied to just about any type of project. Scrum is particularly well suited to other types of projects because it is about organising a team and not about the construction practices. Alternatively, XP is much more about construction practices that are industry specific to software development.

Good change control allows waterfall to constantly change requirements at any phase in a project. Perhaps you have been on bad waterfall projects? (Andrew)

Absolutely waterfall can allow change. I think it just makes it harder. If you have to go through a change control process in order to make a change, then your natural tendency will be to try and avoid that because there is more hassle involved. If you minimise the level of that hassle, then it becomes less of a big deal absolutely. But usually it is a hassle, especially for projects where there is a contractual relationship. Going through change control tends to imply that you have to spend more money, is often considered a sign of 'bad' behaviour on the part of the stakeholders or business analysts, and is generally seen as a bad thing and to be avoided.

Agile encourages us to be less specific about the details of the scope of the project, and this is what I was talking about during the webinar when I mentioned deferring detail until the last responsible moment. If you start with less specific requirements (which is what user stories are all about) then in many instances there is no change, it’s just that you are elaborating the detail in the right way, just in time for when it is needed, with the most up-to-date knowledge.

That is why requirements take time to write and trying to do them in the sprint will result in errors? (Andrew)

Please see our post Will analysing complex requirements in short agile sprints result in requirement errors?

The difference between a story and a requirement is the level of formality (Andrew)

And detail. A story is a 'placeholder for a conversation', which is held when the detail is needed for implementation.

The project team I am currently working on has adopted the OpenUP methodology, with four phases being Inception, Elaboration, Construction, Transition. Is this considered Agile on some level? (Sash)

Many years ago Equinox IT used to develop software using the Rational Unified Process (RUP). OpenUP is the open source version of this same approach. RUP and OpenUP are considered to be iterative software development approaches, so typically they should be somewhat more responsive to change and more agile than waterfall. However, standard RUP or OpenUP do still encourage quite a bit of up front planning and elaboration of requirements into detailed use cases early. These approaches also exclude many of the practices that you would see on a typical agile project. Note that Scott Ambler has created the Agile Unified Process (AUP), which is simplified version of RUP and does incorporate agile practices to improve productivity. Exploring in this area may provide some insight into how OpenUP could be run in a more agile manner.

How is this different to a project manager? (Mark)

This refers to my comments during the webinar that the business analyst plays an important role in creating the vision and context. So first thing to say is in Scrum there is no Project Manager role. If you are working in a non-agile environment and you have a project manager then one of the things that role does is maintain the vision and track progress towards it. If you move to a Scrum environment and decide, as many people do, to dispense with the project manager as a role, then who is going to take on the responsibilities for that vision? My view would be that the BA would do it (however, it should be noted that the BA role is also not defined by Scrum). A product owner could be another good role to create the vision and context for the agile development team - I'm not dogmatic about who does it!

Can agile be used if you don't have developers on site, being developed by a vendor? (Michael)

Please see our post Can agile software development be used if you don't have developers on site?

What is the difference between a Scrum product owner and an Agile business analyst? (Matthew)

Please see our post What is the difference between a Scrum product owner and an Agile business analyst?

Aren't the business requirements and specification by example the same? Just setting an acceptance criteria? (Ismath)

No. With specification by example the key words are 'by example'. Acceptance tests are not the same as acceptance criteria. Say we are talking about the salary calculator example I used in the webinar. The acceptance criteria for this feature might include 'Must pay double time for hours worked on Sundays'. An acceptance test for this might be 'Given I have an hourly rate of $20, and in a week I work 30 hours on weekdays and 5 on a Sunday, then my pay for that week will be $800'. Its an actual test, which can be automated, with inputs and resultant outputs that can be verified by the client. There will usually be many acceptance tests for each of the acceptance criteria.

How do you set up an agile infrastructure? What tools do you need to set it up and how do you govern the process? (Ismath)

Please see our post How do you set up an agile software development infrastructure?

 

Recorded webinar: The 7 habits of highly effective agile analysts

Subscribe by email