Agile Development and the role of a Business Analyst

author

By Asad Khan

16 December 2017

0

1442

image

Business Analysts are a vital part of any agile team. They liaison with all the key project stakeholders and help projects run smoothly in an agile environment. Business Analysts facilitate dialogue about the customer value with the team, prioritize the key slices of value and help the agile teams embrace the value-driven development of the product. At the end of the day delivering a product that fulfill all the customer needs and is built in a timely fashion. Agile embraces change and BA's (Business Analysts) bakes agility into the product development cycle ensuring a smooth flow of product development. BA's also helps in making the product owners role more efficient and reliable. A BA analyzes product owner priorities and works to decompose them into small pieces. Each piece delivers value to the customer and is small enough to be accurately estimated.

BA's initiate correct conversations to get the correct understanding of the requirements. One way an agile BA differs from traditional BA is that agile BA does not work on detailed requirement analysis document. Something that people coming from traditional waterfall method of development finds extremely odd. The truth is we all live in an agile environment and requirements of the business keeps on changing with the changing environment, the waterfall model was static, clunky, slow and it often missed out on a lot of requirements. Still, the use case of waterfall mode should not be entirely ruled out, there are situations where waterfall model suites well than the agile model and sometimes even a hybrid approach turns out to be the best-desired model. Not having a detailed requirement analysis document does not means that there is no documentation but rather the documentation is of different kind. It serves as a communication ignitor or a record of a conversation, instead of having detailed diagrams the BA's usually takes the photographs of the whiteboard directly, record key points of the conversation or just write down key questions. Approach differs from BA to BA but one thing is common not a lot of time is spent on creating and managing a requirements document.

To further understand a BA's role in an agile team lets look at the agile manifesto and see how agile BA's mark against the fundamental points of agile manifesto. The original Agile manifesto can be found here.

  1. Highest priority is to satisfy customer through early and continuous delivery of valuable software.

    Business Analysts facilitate the dialogue that helps the product owner prioritize what the team builds. Product backlog is constantly being monitored and evaluated. Tasks that do not confirm to the highest value for the customer are pushed back and taken out completely, high value tasks are pushed up and handed to the development team first.

  2. Welcome changing requirements, even late in development. Agile process harnesses change for customers competitive advantage.

    BA's facilitates the teams for thoughts and ideas that will make the product more valuable. External market changes, feedback from customers continuously influences the product and with the BA's help is incorporated into the product backlog and priorities. Changing requirements is good it means the product is getting better & better.

  3. Deliver working software frequently, from a couple of weeks to a couple of months with a shorter timescale.

    BA's are key in helping customers and business leaders realize the intended benefits of the product sooner.

    BA's slice work in small increments of value and help the team analyze the business value, technical dependencies and technical debt. BA's ensure not only the software works but it is valuable and the small pieces of values are delivered within short timespans, delivering a constant flow of value.

  4. Business people and developers must work together daily throughout the project.

    BA's result in high impact collaboration and communication which results in rapid learning and fast decision making.

    When this is done well requirements and documentation are kept lightweight. The focus is on dialogue rather than cranky notes. To make it happen daily communication is conducted involving all the project stakeholders facilitating frictionless flow of information and ideas.

  5. Build the project around motivated individuals. Give them environment and support they need, and trust them to get the job done.

    BA's serve the user, customer and the organization, they help them understand each piece of work and how it aligns with the vision. They help the product owner prioritize, make decisions, balance tradeoffs and move features and work that doesn’t aligns with the vision. BA's make sure everyone involved in product development is on the same page perfectly aligned to the product vision and everyone knows where the product is right now and where it is heading. This clear communication keeps everyone in the loop clear about his or her responsibilities and motivated to deliver their end of work.

  6. The most efficient and effective way of communication within development team is face to face conversations.

    Almost always all the meetings that are conducted are always face to face even with virtual teams if they are spread out geographically the team with the facilitation of a BA conducts the meeting in a virtual room where everyone is able to either see or hear everyone. It is BA's job to keep everyone in the loop and make sure valuable product is being delivered in a timely fashion. Remote teams has its own set of challenges which makes the job of a BA a little more demanding.

  7. Working software is the primary measure of progress.

    Team should increase the value of the product rather than increase the work, more work and less value generated is bad. The goals need to be SMART specific measureable achievable, results oriented and time bound. Delivering value in a constant flow.

  8. Agile process promotes sustainable development. The sponsors developers and users should be able to maintain a constant pace indefinitely.

    Proactive work rather than reactive is the preferred way in agile and it’s the role of BA to be proactive rather than reactive. BA's refine the backlog considering the big picture view as well as the detailed view. The detailed views are only needed for the upcoming items. BA's also help the teams slice and estimate the work helping both the product owner and the development team to come up with realistic time estimations.

  9. Continuous attention to technical excellence and good design enhances agility.

    BA's job is to work with the technical team to understand risk, architecture and the technical debt. BA's help the technical team understand product and vision map. In turn technical team helps BA's & product owner(s) understand the technical aspects that help them prioritization of technical risks.

  10. Simplicity:- The art of maximizing the amount of work not done is essential.

    BA's ensure that actually a lot of items in the backlog are not done. Because BA and product owners are working to make sure only the most important things get done. They evaluate the backlog item and make sure that they align with the vision and the future.

    BA's should have a ruthless focus on value when analyzing items in the backlog. Only high value items should be prioritized and worked upon by the development team. Lightweight documentation and models are key parts of the principles for BA's the leaner the documentation the better for example taking a photo of a drawing on a white board is preferred rather than drawing on a modeling tool. The idea is to keep the documentation lean but rich enough to get the conversation started and the concept through.

  11. 11. The best architecture, requirements, and design emerge from self-organizing teams.

    BA's must identify and act on changing requirements. Requirements emerge and evolves as the team learns. Architectures designs and requirements change and these changes cannot be predicted so the team must work hard at building experimenting and getting constant feedback consequently helping evolve a working software that delivers best value in the best way possible.

  12. At regular intervals the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

    BA's participate in teams retrospectives, frequent retrospectives derive continuous improvement and change the way the team works maximizing the value for the users and the organization. They constantly ask questions like What went well? what can be improved in the next iteration? And then improve and adjust accordingly.