Monday 2 October 2017

Rethinking BA in Agile Software Development

If only I had a dollar for every change after I had finished typing the Requirement specifications document. I know I am not the only one who feels this way. Especially in Agile enterprise software development projects, change is not only unavoidable but also inevitable. 

The agile enterprise software projects often evolve during the life cycle making it harder to track by the stake holders. And I have personally witnessed traditional business Analysis approaches failing to cope up during these project changes.
The BA role itself has many flavors, in fact many Business Analysts like me often grow organically into the role and hence the way one operates would differ from the other. 

There are pure requirement analysts who’s only and sole job is to elicit requirements. On the other hand, system analysts  analyses the requirements and determine if the system fulfill those requirements. Then there are Business Analysts who are solely focused on Business and making improvements to it. Then of course, we have multiple combination of above said types. The point I am trying to make is, one rule doesn’t fit all.

Towards Agile Development Analysts:

Despite all the differences the major objective of a BA in my opition is to enhance the communication between the project stake holders and developers. 

In Agile development model especially in enterprise software development projects, traditional communications needs to be enhanced and enriched. 

The following are the main areas which I think would be highly beneficial to revisit and tailor according to the situation.

1. Ignore Tags and Titles, focus on the objective:

Instead of cumbersome traditional documentations can we use prototypes as the documentation method? What other tasks could we drop or relook. 
Identify what new tasks you can take on instead of traditional ones such as account handling or pre-sales. I say focus on the task and ignore the tags and titles.

2. Skills, Skills and Skills

The very basis of Agile development is to assist the development faster. In order to do so, the Developer needs to know what to work on and how to complete the task to meetthe business requirement. This is where prototypes plays an important role. For example, I create Photoshop prototype images which are used for focus group and project brainstorming. The prototype images goes through series of iteration and refinement. Then these final prototypes are passed directly to programmers after the approval from stake holders. 
Skills such as Application Design and using project management tools  plays an important role in Agile development process.

3. Collaborations

Instead of practising traditional modes of communication and boundaries, IT BA’s should be given the freedom to collaborate with different stake holders and developers of the project in open forum. This could be virtual and synchronous to organisation's culture and values. 
Why not think of a WhatsApp group to enhance project discussion? Why not even involve your experienced developer and an experienced business veteran in a discussion about the project challenges?

4. Tools!

Project development tools are plenty and you can even find cheaper ones which serves much better purpose while managing the project. Modern requirement tools provide requirement analysis with virtualization, analysis, traceability and reuse capabilities. It can make the BA role and that of stake holders so easy, in refining and filtering out the information noise. They can then be integrated with the tools that development team use, making it robust form of collaboration. 

Like screen recording of customer existing system which captures the features that needs to be worked on the upgraded version and attaching those clips as work items to the Project Management Tool.

5. Environmental Factors.

Most of the IT environments are evolving and trying to catch up with growing technologies. The boundary between one system and another has become minimal. Hence changes to one system will have impact on other existing systems. BA need to have a holistic view and approach towards compiling these hidden aspects of the project.

Strong business analysis skills are important in software development, regardless of project characteristics or the methodology used. The ability to think quickly on feet ,  develop new ways and use creative thinking becomes important aspect of the BA in Agile software development projects. To know how BA can benefit your upcoming project please contact us here.

   Srivatsan Aravamudan

   Telephone:+65 62689551
   Fax:+65 62689858
   Business Analyst - Snr Software Consultant.

No comments :

Post a Comment

Related Posts Plugin for WordPress, Blogger...

Share Buttons