http://insights.dice.com/2014/11/07/3-things-business-analysts-should-know-about-agile-methodology/Over the past few years, software development has moved more rapidly toward Agile practices. This change impacts how business analysts perform their role.
Click here to find business analysis jobs.
Here are three key aspects of how business analytics works differently in an Agile environment:
1. The Analyst Evolves to Become a Key Player in Helping Companies Avoid Costly Software Development Problems
There are many definitions of “software architecture,” but its
ultimate point is to make sure that the development of the software
product winds up satisfying the system’s requirements. Successful
software products generally have solid architecture, and are capable of
addressing all scalability attributes required to fulfill the business
need.
When business analysts work on a traditional software project, they
usually employ a traditional Waterfall methodology, and therefore are
expected to detail all the requirements up front, making available all
the information needed by the system architect to understand and support
the business goals. Agile projects, on the other hand, emphasize a
different, incremental delivery of required features. In working via
increments, there is often an inherent lack of full visibility into the
overall requirements, which can cause issues related to system behavior,
performance, scalability, maintainability, or other crucial attributes.
These issues then translate into costly reworkings in order to retrofit
important capabilities that weren’t identified earlier in the process.
In order to avoid these problems, analysts dealing with Agile
projects must work harder to make sure the high-level requirements for
the release are properly identified early on. When working with Agile,
there’s an inherent risk that the team will move too quickly into
development and design before the critical aspects of the solution are
sufficiently understood to support the right architecture decisions.
One of the best things about using Agile approaches is that they tend
to minimize unnecessary planning and documentation, but the big
challenge for an analyst is to learn how to effectively distinguish an
analysis effort that is “unnecessary” from what’s critical, in order to
avoid the risk of wrong architecture decisions that cannot be easily
undone.
2. Analyst Skills Are Critical to Ensure the Right Kind of Features
As software is released incrementally over several iterations, it’s
critical to choose the right mix of features that are both high-value
and immediately useful. In theory, product owners, business
stakeholders, and/or end-users should be able to make the correct
decisions about the features that will deliver the most value in the
next release.
As stakeholders prioritize features, the analyst needs to have the
ability to step forward and help them use their best judgment to decide
what features make up the best-quality release. It is essential that the
right questions are asked and, in this way, the analyst can elicit the
best answers and help the decision-makers understand not only what
features will provide the highest value, but what additional
capabilities should be included in the release to augment the primary
features. One of the most valuable contributions of a BA in an Agile
project: ensuring that a release incorporates all the functionality that
would prove truly useful to the people who ultimately receive it.
3. Test Analysis and Design Skills Are Taking a More Prominent Role
Analysts working on Agile projects are generally most effective when
they have experience creating quality acceptance tests that cover all
dimensions of the quality of software produced in short release cycles.
In Agile shops, test analysis and design are essential components of
the requirements analysis and specification process. As part of an Agile
project team, the analyst must be able to work with various
constituents: the product owner, developer, tester, as well as the UI
designer to define effective acceptance tests for the user stories
covered in each sprint or iteration.