The agile framework is a brilliant way to build and deliver scalable software solutions irrespective of size or complexity. The foundational principle of agile teams is continuous collaboration and conversation, which helps discover and maintain a consistently holistic and interdependent business view. This approach also keeps the team and client engaged ensuring resounding success until the end of the project, and then some.
Given that intent, it lies with Business Analysts (BAs) to keep track of all the possible questions that come up during the life cycle of an agile project. From my work on the field, I have put together a guide, a list of questions that every BA needs to ask to keep their projects on track.
Familiarizing oneself with the client’s ecosystem
Who is my client?
What is my client’s business and market of operation?
What is my client’s business model?
Who is my client's target audience?
Who are the internal and external decision makers/ influencers relevant to my client’s business?
Who are my client’s competitors?
What differentiates my client from his/her competition?
Who is the executive/project sponsor (deciding on budgets and roadmap) on my client team?
Drawing out the scope of work (for the service provider)
What can I learn/use from the target audience?
What is the product/service that my client needs help with?
What is the product/service’s Unique Selling Property (USP)?
What is the landscape of the product/service?
Will the intended solution solve the problem at hand or, does the right gap need to be identified?
Why this solution and not something else?
Is the problem an internal service or process related issue for my client? If yes -
What is my client’s problem?
Why is that a problem?
At present, where does it hurt my client the most?
What factors surrounding the problem are affected?
Who are the people/users facing the problem?
What ideas/solutions should we look at?
What are the pros and cons of those ideas/solutions?
Which solutions would I recommend?
Why would I recommend that solution/s?
Is this a green field or brown field product/service
If it is a green field product/service-
Which market is my client targeting?
What is unique about that market?
Who are the potential users in the market?
What would make this product/service special/irresistible?
How is my client planning to market this product/service?
Plotting the product/service’s functional feature and prioritizing:
What will be the most regularly used product/service features?
Which of those features should be developed first?
Is everyone from my client’s team invested in the current priorities?
How would we define my client’s success?
Are the prioritized features going to help with that success?
By when should this success ideally happen?
How do I rank what (or combination of what) is important to my client - saving time, saving money, fine-tuning the product/service?
Do I have all the information I need, to split chosen features into agile stories?
Identifying focus areas to ensure optimum project/partnership outcomes:
What kind of research/homework should I carry out on the product/service?
Why is my team uniquely positioned to help my client?
Who are the stakeholders (to be mapped) from my client’s team?
Who from my client’s team will the team and I be collaborating with (plotting individuals’ level of engagement vs. their influence on my client’s team)?
Have I/my team interacted with all these individuals?
Ensuring successful delivery right from the beginning:
Are my stories the right (estimable) size?
Is the User Experience/User Interface (UX/UI) design available for the solution.
Is the UX client-approved?
With stories, estimates, and UX in place, can a release be planned?
Is the release plan, budget, and timelines client-approved?
Have I started building my RAID log? If yes -
What are the risks involved in the solution?
What assumptions are being made at the project-start?
What issues have bubbled up already?
What are the dependencies to be considered: people availability, required resources, and software integrations.
What are the important non-functional requirements that are needed to build the solution?
What does my ‘continuous communication plan’ of progress and pitfalls (project progress) look like?
How can I engage the executive or project sponsor in communication?
Have the functional dependencies been addressed?
Getting into the groove of implementation:
How is the project being set up, once development starts?
Are all the team members on board from Day 1?
If yes - are roles, responsibilities, and requirements of every team member clear to all?
If no, how can new members be brought up to speed?
Is the functional context and landscape of what is being developed clear to the team?
Am I ensuring efficient project tracking using a project management tool like Jira, Mingle, Trello, etc.?
Am I ensuring that the team has understood a story’s requirements and boundaries before development kicks off?
Am I ensuring that the project wall is up to date and the client’s side product owner/manager has reviewed the stories, before development?
Am I ensuring that completion means all the acceptance criteria covered in a story are developed (dev box testing/volley ball)?
Am I focussing on Iteration N+1 stories while the team is focusing on Iteration N?
Are all stories slotted for Iteration N progression, and doable throughout the iteration?
Do any stories have blockers?
If yes, can the blocker be removed quickly?
If yes, can the story still be completed within the iteration?
If neither is possible, can another story be brought in to ensure the pace of development is unaffected?
Are there plans for automating some of the testing?
Managing delivery and the client relationship:
Are all developed stories ready for client showcasing?
At the showcase, are progress and pitfalls highlighted for communication?
Have I planned for a Retrospective?
Are delivery heads and client partners updated on progress and pitfalls?
Has the team reviewed the N+1 iteration stories before the iteration begins?
Does every team member agree on the way forward?
Are we looking at a cost burn up?
If yes, are we burning more or less than planned?
If more, how do we highlight this?
If less, why? And how does this impact scope management?
How is the scope burn up? Are we tracking more or less than planned?
Is the scope tracking lesser than planned?
If yes, why?
Will we be able to catch up with the plan.
If we cannot catch up, then what factors should feature in my client conversation to decide - scope cutting, workarounds, timeline changes, etc.
Is the scope tracking more than planned?
If yes, is it due to constant spillovers?
If not, is this the new normal?
Are we tracking defects?
Are they tracked per environment (development, user acceptance, production, etc.) or development cycle (iteration, sprint etc).
How are these defects prioritized and included in the plan?
What inputs from the BA/Project Owner can help with defect specifications and triaging?
Collaborating and communicating for wholesome success (team happiness, delivery on time, knowledge quotient, client satisfaction, trust quotient, etc.):
What inputs should the BA share during Dev huddles?
Is there continuous check and showcase of completed work with the client (iteration planning and feature demo).
Are key participants part of planning meetings.
Are priorities addressed/changed when these meetings take place?
Are my clients actively looking through completed functionalities?
If not, why? What can be done to ensure they look at completed work?
Consistently tracking progress and removing blockers:
Do my clients have access to a production like (UAT) environment to test the functionality?
Are we continuously integrating newly developed features into the UAT environment for clients’ review?
When my clients are testing the solution, are we receiving feedback on the functionality?
Is the feedback about newly defined functionalities or misses from our end?
How is my team tracking the feedback?
Are new stories being prioritized in the backlog?
Are there priority-re-setting workarounds for the feedback.
How am I tracking my RAID log?
How am I mitigating the RAID items?
Last few miles of delivery:
Is the client environment ready for deployment and going live?
What infrastructure will the client need to host and maintain the solution?
What software will the client need to host and maintain the solution (these two questions will be during Inception, with the help of tech leads)?
Has the user reviewed all required scope to go live/ be deployment ready?
Will the client or client’s target audience need training to use the solution?
Are stakeholders/the movers and shakers/ project sponsors from the client’s side on board with the deployment, go live plan?
Dotting the I's and crossing the T’s
Does the project’s initially identified success criteria match what will be deployed?
If not, why? Is the client aware and in agreement?
What steps lead to deployment (bug bash/branching/cherry picking)?
Once deployed, what kind of/level of support is needed? How will this need be met?
Visualizing a successful, long-term partnership
What are my client’s next steps?
Is there a Phase 2 or a backlog of tasks to be dealt with?
If yes, should that phase be prioritized through an Inception and workshops?
If not, what are the recommendations to use the solution?
Has the development team collected client feedback?
Has the development team given feedback to the client?
I’d like you to keep in mind that, though this list of questions is quite long, it’s still not exhaustive. Honestly, it can never be because the context with which you, the BA are working will play a key role in what is considered relevant and what is not. However, this list of questions should be a guideline that will set you, the team and the client in the right direction.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.