Skip to main content

Author: Mark A. Monteleone

Generic Questions for Interviewing Stakeholders

As a professional instructor for business analysis and project management, I am often asked by students what questions they should ask stakeholders during the elicitation interviews. Of course the answer is that it depends on the solution scope. However, the business analysis team can use a list of generic questions as a start for all the interviews.

With this in mind, I have developed a list of generic questions. I started first with a mind map to organize my thoughts. With the purpose (Stakeholder Interview Questions) in the center of the map, I branched out in four need directions or threads: Business, Capabilities, Change, and System. For the first three threads, I associated targets of key stakeholder, user and sponsor. For needs involving a system, I associated targets of conditions and legacy; assistance from a systems analyst may be needed for these targets. Then for each target, I related question keywords. Note that the project manager may be the more appropriate role to cover the change branch since it deals with project execution questions even though solution scope changes may be discussed.

The mind map (Figure 1) is below, followed by a list of questions derived from the map keywords.

 generic-questions1

Key Stakeholder

Purpose is to capture business requirements that trace back to the stated business needs provided in the project vision and scope.

generic-questions2
  • Describe how your organization fits into the company?
  • How does your organization contribute to the strategic plan of your company?
  • Where are your organization’s locations?
  • What is your management organization structure?
  • What are the processes of your organization? What business decisions (business rules) are made in your processes? Who owns the processes? What process measurements are used? What regulations are abided by?
  • Who are your suppliers and what do they provide your organization? Who are your customers (internal/external) and what does your organization provide them?
  • How does the organization measure its success?
  • How does the organization obtain feedback from its customers?
  • Are there any significant organization events during the year?
  • What is the single item which will make this organization more successful?
  • What is the single item which will make this organization less successful?
  • On a scale of 1 to 10 (10 being highest) where would you put this organization regarding the risk to the company and why?
  • What doesn’t get enough (or gets too much) attention in the organization?

User Questions

Purpose is to capture user requirements for later analysis. During analysis, the business analyst develops solution requirements.
If a system solution is needed, then system functional requirements that describe the capabilities of the system are a result of the analysis. These system functional requirements must trace back to the user requirement which in turn trace back to the business requirements
.

generic-questions3
  • Describe your role in the organization?
  • What are your major responsibilities? What business decisions (business rules) do you make in your job?
  • With whom do you interact to carry out your responsibilities?
  • What information do you use in your job? What forms do you use?
  • What computer systems do you use in your job? Are there any events for which the system provides alerts? Are there any new alerts needed?
  • How do you measure success in your job?
  • What is occurring that is helping/inhibiting you to do your job?
  • What skills are needed in your present job?
  • What training did you receive for your present job?
  • What would you change about the way you carry out your responsibilities?
  • What do you see as the major critical issues facing the organization?
  • What areas for improvement have you observed?

Condition Questions
(assuming system solution)

Purpose is to capture the environmental conditions that are needed along with the capabilities of the system. These are referred to as nonfunctional requirements or possibly quality of service requirements if used in a service level agreement.

Legacy Questions
(assuming migration from
an old to a new system)

Purpose is to capture system transition requirements needed for a smooth system implementation. These requirements are one-time events needed for production cutover.

generic-questions4
  • Does a legacy system need to continue for a period of time after the new system is implemented?
  • Do any data files or business rules need to be converted upon implementation of the new system?

Sponsor Questions

Purpose is to capture feedback how change needs to be managed and if there is any possibility for improvements to the project.

generic-questions5
  • In your opinion what are the project risks? What are the chances of success vs. failure? Why?
  • How will you measure the success of the project? How will you measure the success of the business impact of the project?
  • If you received additional funding for this project, what would you do with it?
  • If you received additional time for the project, what would you do?
  • What items could be discarded from the project plan and no one would notice or care?
  • If you could have anyone in the world work on this project, who would it be and why would you want that person?
  • What information do you want to keep abreast concerning this project?
  • How often and by what means would you prefer to be informed about this project?

I recommend the business analysis team start with this generic list and augment it with solution scope specific questions. During or after elicitation, the team then needs to validate and analyze the answers and develop solution requirements using appropriate modeling and traceability techniques. Good luck with your interviews.

Don’t forget to leave your comments below


Mark Monteleone holds a B.S. in physics and an M.S. in computing science from Texas A&M University. He is certified as a Project Management Professional (PMP®) by the Project Management Institute (PMI®), a Certified Business Analysis Professional (CBAP®) by the International Institute of Business Analysis (IIBA®), a Certified ScrumMaster (CSMTM) and Certified Scrum Product Owner (CSPOTM) by the Scrum Alliance. He holds an Advanced Master’s Certificate in Project Management and a Business Analyst Certification (CBA®) from George Washington University School of Business. Mark is also a member of the Association for the Advancement of Cost Engineering (AACE) and the International Association of Facilitators (IAF). Mark is the President of Monteleone Consulting, LLC and can be contacted via e-mail at [email protected].

You might be on an Agile/Waterfall Project, if:

mark-agile-waterfallThe purpose of this brief article is to laugh.  Laugh about how we as business analysts approach our work.  Whether you are a proponent of agile, waterfall, or some hybrid solution development life cycle (SDLC), I hope this article makes you laugh.  Remember laughter is the best medicine.

Agile:  If____, you may be on an agile project

  • If someone on your team actually offers you assistance, you may be on an agile project
  • If you’ve developed requirements and software at the same time, you may be on an agile project
  • If “waterfall” means taking a shower, you may be on an agile project
  • If you’ve had conversations with stakeholders who don’t know what they want, you may be on an agile project
  • If fun means not having to refactor code, you may be on an agile project
  • If you measure progress in story points, you may be on an agile project
  • If you share office space with team members, you may be on an agile project
  • If you play poker just to estimate work, you may be on an agile project
  • If you correct your team mates code at the same time he writes it, you may be on an agile project
  • If the work pace of your team never changes and you only work on one thing at a time, you may be on an agile project
  • If you have not worked overtime in the last year, you may be on an agile project
  • If you actually implemented something in 30 days, you may be on an agile project
  • If you stand during meetings, you may be on an agile project
  • If you actually understand these jokes, and share them with all your friends, you definitely are on an agile project

Waterfall:  If_________, you may be on a waterfall project

  • If your project sponsor dies prior to delivering the product, you may be on a waterfall project
  • If you are thinking of forging your sponsor’s signature on the 27th version of the business requirements document, you may be on a waterfall project
  • If you have worked on one project for the last ten years, you may be on a waterfall project
  • If you have a private office, you may be on a waterfall project
  • If you have a well written business requirements document that no one wants to read, you may be on a waterfall project
  • If testing is a phase in the way distant future, you may be on a waterfall project
  • If you have not met with your customer in the last week, you may be on a waterfall project
  • If 24 hours has passed and no one has asked you for a work status, you may be on a waterfall project
  • If you think a project will go according to your work plan, you may be on a waterfall project
  • If you have been working with the same people for the last twenty years, you may be on a waterfall project
  • If you think work attrition is caused by retirement, you may be on a waterfall project
  • If you have created documentation or know where it is, you may be on a waterfall project
  • If you hear the word agile and it reminds you that you are getting on in years, you may be on a waterfall project
  • If you actually understand these jokes, and share them with all your friends, you definitely are on a waterfall project

Final Comment

The style of the previous statements of course is borrowed from Jeff Foxworthy, the popular comedian and TV quiz show host.  I’m a big fan of his work and I just couldn’t resist writing this article.  As you read the agile and waterfall statements, I am sure you came up your own.  I invite you to submit them as comments for everyone’s enjoyment.  Let’s all laugh a little at ourselves. Or maybe cry!

Don’t forget to leave your comments below


Mark.A Monteleone holds a B.S. in physics and an M.S. in computing science from Texas A&M University.  He is certified as a Project Management Professional (PMP®) by the Project Management Institute (PMI®), a Certified Business Analysis Professional (CBAP®) by the International Institute of Business Analysis (IIBA®), a Certified ScrumMaster (CSMTM) and Certified Scrum Product Owner (CSPOTM) by the Scrum Alliance.  He holds an Advanced Master’s Certificate in Project Management and a Business Analyst Certification (CBA®) from George Washington University School of Business.  Mark is also a member of the Association for the Advancement of Cost Engineering (AACE) and the International Association of Facilitators (IAF).  Mark is the President of Monteleone Consulting, LLC and can be contacted via e-mail – [email protected].

The Business Analyst Facilitator Role in an Agile Software Development Team

The purpose of this article is to define the need for the business analyst facilitator role in an agile software development team. Traditionally the business analyst role has been defined in the context of a project, utilizing the waterfall solution development life cycle (SDLC). This approach has the business analyst collecting all the requirements and business rules upfront prior to development. However, today’s demand for accelerated solutions has changed the dynamics of system development to a more agile approach, where requirements and business rules are defined in conjunction with solution development in iterative cycles. Hence, the question – “Is there a need for a business analyst role in an agile software development team?”

Some readers of this article may believe that the business analyst role is not needed with the agile approach. To those of this position, I encourage you to read on. I suggest regardless of the SDLC chosen (waterfall or agile), the role of the business analyst is still needed. As a developer, you may say, “but we are doing fine on my agile project without a BA role.” To you I ask, “Have you examined your expanded role of directly interfacing with stakeholders?” For the past 40 years in the IT business, I have experienced several approaches to solution development. One rule that does not seem to change is that regardless of the SDLC used, functions that roles provide remain. In the agile case, BA functions are absorbed by members of the software development team at some risk.

Please note, I am assuming that the reader is familiar with waterfall and agile SDLC approaches, so I will not attempt to define them in detail in this article. For the purposes of this article, a Scrum like process for the agile approach is used.

As an instructor of business analysis techniques and practices, I often field questions on the role of the business analyst (BA) in an agile software development team as opposed to the traditional waterfall solution development life cycle (SDLC) approach. After much thought and input from many sources, I am convinced that the role of the business analyst facilitator is needed in an Agile Software Development Team.

The Role of the BA Facilitator

The role of the BA facilitator is to guide activities on developing both the vision and software solution. The key word here is guide. The BA facilitator role provides process to group settings and avoids participating in content. Typically, the BA facilitator role serves as the liaison between stakeholders, and the stakeholders and software development team respectively. As the liaison, the BA facilitator role uses various techniques and emotional intelligence skills to assist project sponsors and/or team leaders in accomplishing group meeting goals:

  • Facilitation Techniques for Identifying Solution Features
    • Creating a Solution Vision and Scope
      • Brainstorming – discussing of ideas
      • Brainwriting – submitting written ideas for discussion
    • Eliciting Features and Associated Business Rules
      • Focus Group Meetings – soliciting opinions
      • Joint Application Design – resolving conflicts
    • Analyzing Features – Assumptions, Constraints, Risks, and Issues
      • Root Cause – five whys, Ishikawa Diagrams
      • Force-Field – listing negative and positive influences
      • As-Is and To-Be Gap
    • Making Decisions on Features and Priorities
      • Multi-voting – subjective paring down a long feature list
      • Criteria-Based Grid – weighting feature value criteria
      • Impact/Effort Grid – comparing feature benefits versus effort
  • Emotional Intelligence Skills for interfacing with stakeholders
    • Active Listening and Paraphrasing
    • Generating Participation
    • Neutrality – focus on meeting process instead of solution content
    • Questioning – seeking answers rather than posing solutions
    • Maintaining Focus – use a parking lot and issue log for off agenda topics
    • Obtaining stakeholder feedback
    • Summarizing and synthesizing Ideas
    • Conflict intervention

Under the agile SDLC, the BA facilitator role contributes in two main activities: Continuous Vision and Scope Sessions, Iterative Software Development Meetings and Workshops.

Every project starts with a vision and scope of the solution to meet a business need. This vision may be definitive or fuzzy. However defined, the vision will reflect a prioritized set of high-level solution features that is essentially the scope of work to be done by the software development team. In the agile approach, defining the vision and scope is a continuous set of sessions. Each session represents a snap-shot of the vision and scope at that time determined by the stakeholders. These sessions manage the scope of solution features either as additions, changes and/or refinements until the stakeholders complete their vision.

These vision and scope sessions are chaired by the project sponsor. The challenge for the project sponsor is to ensure that the project vision and scope is a collaborative effort among all the stakeholders, hence the need for the BA facilitator role. The role of the BA facilitator is to assist the project sponsor by providing and executing session plans. Each vision and scope plan consists of:

  • ensuring the correct participants attend
  • accounting for meeting risks
  • arranging for an adequate facility conducive to collaboration
  • setting an appropriate agenda

This agenda contains facilitation techniques that will lead the stakeholders to a consensus on a prioritized set of high-level solution features to be pursued by the software development team. During the session, the BA facilitator role uses emotional intelligence skills to ensure that all stakeholders participate and that their ideas are respected. The BA facilitator role ensures through “questioning” that the features are justified and can be traced back to the business need. Note that all features are subject to the approval of the project sponsor – chair of the session.

Iterative Software Development Meetings and Workshops

After the initial vision and scope features are determined, the Software Development Meetings begin with a consensus on which of the prioritized set of high-level features will be developed on the first iteration. Once a finite set of features is selected and time-boxed by the software development team, then a series of follow-on status meetings are held addressing progress and the removal of impediments. Between these status meetings, the software development team holds workshops with stakeholders to develop the solution. These iterative workshops conclude with a validation meeting of the developed solution and a decision on implementation by the project sponsor. In summary,

  1. Select vision and scope features from prioritized list
  2. Develop a solution for this iteration within a time-box
    1. Conduct workshops producing prototypes
    2. Hold status meetings on progress
  3. Validate final prototype and implement with project sponsor approval
  4. Return to step one for further features and add rework as needed until feature list is exhausted

Note that with implementation, the iterative software development meetings are renewed by another selection of prioritized high-level features to address. These features may have been changed by the stakeholders in the meantime by further vision and scope sessions held in parallel with the software development meetings.

The feature selection and status meetings are chaired by a team leader similar to a project manager. In these meetings, the team leader faces the same challenge as the project sponsor – ensuring that solution development is a collaborative effort through consensus. Once again there is a need for a BA facilitator role. As in the vision and scope sessions, the role of the BA facilitator is to assist the team leader by providing a plan for each meeting and executing that plan.

The software development team is self-directed and/or self-organized. The team runs the workshops according to their skills and experience, rather than using a set plan by the team leader. The workshops are direct conversations between the software development team and the stakeholders. These workshops involve vital business and technical details in developing the solution:

  • User and system functional requirements
  • Associated business rules
  • Information needed to be managed
  • User Interface
  • Technical implementation methods

Both what needs to be developed and how it is to be implemented are discussed at the same time during the workshop. As a result of these discussions, the development team provides a solution through a series of prototypes each tested with direct stakeholder feedback. The final prototype (for this iteration) is then validated and approved by the project sponsor for implementation. A new cycle then starts with the selection of further features from the vision and scope including possible rework items….etc, etc, etc.

In the workshops, the role of the BA facilitator is different from the previous planning meetings. During the planning meetings, the BA facilitator role provided and executed an agenda. The role of the BA facilitator in the workshop is to assist the stakeholders and the software development team to determine system requirements from stated user requirements for the purpose of building prototypes. The software development team uses these prototypes to build an incremental solution.

The BA facilitator role accomplishes the above by using an expanding BA tool which includes:

  • Business Modeling Tools for identifying and analyzing user requirements, system requirements, and business rules
    • Activity Workflows with Swim Lanes – manual processes
    • Use Case – user / system dialogue – system functional requirements
    • Storyboard – user / system interface – screen flows
    • Entity-Relationship – organizing information used by the system
    • State Change – information changes as it proceeds through processes and systems
    • Class / Object – use for Object-Oriented implementations

The thoroughness with which Business Modeling is used by the BA facilitator role is tempered by the needs of the software development team. Rather than comprehensive documented requirements as in the waterfall SDLC, the BA facilitator role generates “just enough” documentation as needed by the software development team to code the prototypes.

Conclusion – Formal BA Facilitator Role “Just Ensures”

Whenever solution features are being defined, prioritized, analyzed and/or developed, the BA facilitator role is used naturally to ensure stakeholder buy-in and acceptance of the final solution. Whether it is the vision and scope sessions, the iterative software development meetings or the workshops, the BA facilitator role may be taken on by a member of the software development team. However, consider the risk involved in building a consensus with someone less trained and experienced in BA facilitation. The level of productivity and consensus is directly dependent on effective use of the BA facilitator tool set. In addition, there is a risk that the stakeholder and the developer will focus on the technical aspects of the prototype rather than requirements. It is prudent to avoid this risk. To “just ensure” the success of the team, a formal BA facilitator assisting the agile software development team needs to be that best practice.

Don’t forget to leave your comments below


Mark A. Monteleone holds a B.S. in physics and an M.S. in computing science from Texas A&M University. He is certified as a Project Management Professional (PMP®) by the Project Management Institute (PMI®), a Certified Business Analysis Professional (CBAP®) by the International Institute of Business Analysis (IIBA®), a Certified ScrumMaster (CSMTM) and Certified Scrum Product Owner (CSPOTM) by the Scrum Alliance. He holds an Advanced Master’s Certificate in Project Management and a Business Analyst Certification (CBA®) from George Washington University School of Business. Mark is also a member of the Association for the Advancement of Cost Engineering (AACE) and the International Association of Facilitators (IAF). Mark is the President of Monteleone Consulting, LLC and can be contacted via e-mail – [email protected].

This article first ran in the IIBA newsletter February 2009.

Why Can’t John Write Requirements?

whycantjohn4The purpose of this article is to provide business analysts with further insight into why writing requirements must be a conscious effort of using an elaborative language. This elaborate language provides details through the use of specifics and metrics, where possible. Because business analysts work inside business area bubbles, it is their nature to write in a restrictive language that assumes everyone understands the nuances of their words. They naturally speak in a condensed code and therefore write requirements in the same condensed format. As a result, they unconsciously imply additional meanings to their words. Unfortunately when their documents are handed-off to systems analysts, who just happen to live in a different bubble, the requirements are misinterpreted.

Studies [1] have shown that the majority of software defects found in testing can be traced back to inadequate requirements definition. Much has been said on how to ensure the quality of the final deliverable of the analysis phase – the business requirements document (BRD). The BRD is the major document produced by business analysts when employing a “waterfall” System Development Life Cycle (SDLC). Professional technical writers cite the three qualities for documents: clear, complete, and concise. To achieve the three Cs, business analysts utilized quality assurance techniques in the form of desk checking, walk-through, peer review, and inspections on the BRD, depending on the risk associated with the requirements.

Of course, one might say that the root cause of the BRD quality struggle is the SDLC chosen. In an agile SDLC, the BRD hand-off from the business analyst to the system analyst simply does not exist. Instead, agile teams develop requirements via direct customer-developer conversations using user stories. However, misinterpretations are not limited to the written word. User story conversations during agile development can lead to just as much misunderstanding perhaps even more, since speech is typically even more casual.

Restrictive and Elaborative Languages

Recently I came across a 1970s study [2] by a British sociologist, Basil Bernstein, on language codes that provide some insight. His premise was that depending on the social class of children in school they tended to use one of two language codes: one was restricted, the other was elaborate. The restrictive language is a condensed form of communication. It carries a social message of inclusion. Essentially, the restrictive language assumes that the receiver has a common understanding, either through shared experiences or background. It reminds me of the ubiquitous phrase of “you know what I mean” that we hear in conversations. In contrast, elaborative language is not condensed. It is very detailed and does not assume the receiver has a common understanding. In fact, it assumes just the opposite. Specifics are provided to make the message clear, complete, and concise.

A Simple Example

A simple, but meaningful example for everyone, is the typical hygiene sign one sees inside a restroom. See the example below: the one on the left uses restrictive code and the one on the right uses elaborative code.

whycantjohn1

Figure 1. Example of Restrictive and Elaborative Code

The restrictive coded sign leaves much to interpret such as use of soap, water temperature, and wash duration. I have noted in the past five years that the elaborative coded sign is being used more often.

The Bubble Principle

We all live in our own worlds commonly known as bubbles. These bubbles are the business domains. We share this world with others and naturally develop a restrictive language within it. This restrictive language consists of codes that contain implied messages in the form of business words, phrases, and of course acronyms. We conduct interviews and meetings using this condensed form of communication. In writing and validating requirements, we interface with stakeholders in our bubble. We can apply the elaborate language in our struggle to ensure quality in a business requirements document. Unfortunately, we have a natural and unconscious tendency to use our restrictive language – “you know what I mean”.

whycantjohn2
Figure 2. Business Area Bubbles

In order to overcome our struggle, we must consciously utilize an elaborative language in writing requirements. Spelling out all detail in requirements ensures the receivers can understand them without misinterpretation. This also solves the problem of determining if a requirement is achieved in development – testability. Elaborative requirements provide enough specifics to allow proof that the requirement is met.

Requirements Examples

Below are some restrictive and elaborative language examples. The restrictive message is condensed and, depending on the reader’s familiarity with the business area, carries an implicit message. In comparison, the elaborative message is detailed leaving less room for misinterpretation. Note the use of details and metrics in the elaborative language in the requirements examples below.

Restrictive Elaborative
The system must be backed-up on a regular basis. The system must be backed-up at midnight every Saturday. Two back-up copies need to be taken; one stored on-site and one off-site.
The system must allow users to view expense accounts. The system shall allow users to view only their own expense account for the past six months.
The system must be available during business hours. The system must be available to users 95% of the time during the hours of 8 AM to 6 PM central time Mon. thru Fri.
The system must provide users a weekly sales report on Fridays. The system must provide sales managers a weekly sales report by 9 AM central time on Friday. The sales report is defined in section……….

Table 1. Comparison of Restrictive and Elaborate Languages

Conscious Effort

Elaborative language does not happen naturally. The BA must make a conscious effort in making requirements understandable by people outside the business area bubble by adding detail – specifics and metrics, where possible. I recommend that one of the quality assurance reviews focus on elaborate language.

whycantjohn3

The intent of this article is to provide the business analyst further insight into why writing requirements must be a conscious effort of using elaborative language. Note that elaborative language is just as vital in conversations (e.g., user story conversations during agile development iterations). The bubble principle still applies regardless of the SDLC used.

About the Title

I derived the title from the classic 1986 book on phonetics [3], “Why can’t Johnny read?” I decided to use the name John – now a grown-up business analyst. However, since the struggle is with both the written and spoken word, perhaps I should have expanded the title to “Why can John neither write nor discuss requirements?” You know what I mean…………….

Don’t forget to leave your comments below


Mark Monteleone holds a B.S. in physics and an M.S. in computing science from Texas A&M University. He is certified as a Project Management Professional (PMP®) by the Project Management Institute (PMI®), a Certified Business Analysis Professional (CBAP®) by the International Institute of Business Analysis (IIBA®), a Certified ScrumMaster (CSMTM) and Certified Scrum Product Owner (CSPOTM) by the Scrum Alliance. He holds an Advanced Master’s Certificate in Project Management and a Business Analyst Certification (CBA®) from George Washington University School of Business. Mark is also a member of the Association for the Advancement of Cost Engineering (AACE) and the International Association of Facilitators (IAF). Mark is the President of Monteleone Consulting, LLC and can be contacted via e-mail – [email protected].

References

1 Johnson, Jim (2006) My Life is Failure; Standish Group International
2 Bernstein, Basil (1971) Class, Codes and Control vol 1 London; Paladin
3 Flesch, Rudolf Franz (1986) Why can’t Johnny read: and what you can do about it; Harper Paperbacks

  • 1
  • 2