Skip to main content

Tag: Communication

The Power of Story in Business Analysis

Tell me if you’ve heard this one before – you’re on a project that was thrust on your stakeholder groups from high above.  They were insufficiently consulted during the problem definition phase, and they are now questioning everything during implementation. These stakeholders can’t get the project to be outright cancelled, but they can cause it to be ultimately unsuccessful if they don’t commit to putting their time and energy into ensuring that the solution being developed is appropriately used.

Sound familiar? Business Analysts can often be faced with reluctant or even hostile project participants. Sometimes this can be due to lack of sufficient involvement early on, other times it is because they do not see the value in your project. How can you work to overcome these powerful barriers and get your entire stakeholder group to work with the team to successfully implement change?

A few years ago I was working in the education space and faced this challenge. The government had decreed that a change was to occur and that all school boards within the jurisdiction needed to conform within a certain timeframe. As more boards became aware of the change and the impact it would have on their organizations, many naturally questioned why the change was needed. The project team needed an effective way to present the long term value of the change without boring people with facts or figures, or getting into long winded explanations. So we focused on the one common value driver that all the school boards had in common: the student.

We used a short two minute before-and-after video depicting a day in the life of a new student and how the change would positively impact their educational experience. Even seasoned educators had their heartstrings pulled seeing the video; they could immediately empathize with the student and recognize how the situation described was all too common in today’s world. We used this story to introduce nearly every presentation and dialogue we had with our stakeholders for several years, as it helped establish the reason for why the change was necessary and put everyone’s mindset into focusing on the common goal all stakeholders had – providing the best possible education to the student.

Stories can captivate an audience, give them the critical information they need to understand a complex problem in a concise package, and be used to get people with very different backgrounds and goals to relate to shared events and situations. Leveraging stories to engage readers is used in the educational setting to help students process new or challenging experiences. Danielle Lowe, an educator in the state of New York, has observed “story-telling is a timeless teaching tool. Expression through text offers readers of all ages the opportunity to find solutions through the characters and conflicts within a story, and thus within themselves.”

Business Analysts have several opportunities to leverage stories in their work:

  • Defining a business need: sometimes worthwhile projects are never started because the individual(s) who recognize the problem are not in a position to allocate resources to develop a business case. Many Business Analysts who are embedded in business units can uncover problems or opportunities that can have a massive impact on the organization. Stories can be a great way to convey the business need to potential executive sponsors and get them interested enough in the topic to have a business case commissioned.
  • Documenting/communicating requirements: as Scrum methodologists are well aware, sometimes requirements can be best described in the form of stories. These do not need to be long narratives, but rather simple, structured descriptions about what needs to be addressed and in some cases why. Stories can also be effective when you need to summarize detailed or complex requirements. When performing a current state analysis of an entire division, I analyzed over a hundred processes and documented hundreds of requirements. To communicate my findings, I used three simple stories to describe the main challenges the division faced in their daily operations. This gave me a starting point to show how these challenges could be addressed through changes in processes and supporting technologies.
  • Secure stakeholder buy-in: while this activity is not solely performed by Business Analysts (indeed, the responsibility for buy-in is usually assigned to the Project Manager or Change Management team), we often directly engage with the stakeholders that will ultimately make the solution being implemented successfully operate and realize its full potential. As a result we are the first to encounter signs of potential resistance, and can be put on the spot to justify why a project exists or receive criticism for how the project is going. BAs have an opportunity to put forward a succinct but effective description of why a project is valuable, and can use story to relay the message in a narrative that matters to the stakeholder at hand. This can be tailored by stakeholder, often by using problems that they are encountering in today’s world and describing how the project will address those issues. When working on an inventory management project, I used two examples of the biggest pain points the group was encountering to convince them that performing extra data entry up front was worth their time and effort.

You don’t need to have the skills to pen the next great novel to effectively use stories. Focus on the narratives that matter to your audience and think about what compels them to do a better job. For some groups or individuals, it’s the customer that drives their desire for doing good work. For others, it may be recognition or compensation. Like any good story, start off with a problem that needs to be solved and then have your hero (in this case, the proposed solution) save the day. Don’t over exaggerate what the solution can do for the sake of the story, or else you may lose credibility with your audience. Even if the story has a fictional character or problem situation, make sure the benefits the solution is shown to perform are something it can actually do.

Stories can be a powerful and effective tool at conveying information to audiences, and when done well can be used to give people with entrenched viewpoints a chance to look at another perspective without being bombarded with facts or differing opinions. Business Analysts can look to leverage stories to engage and expand the minds of stakeholders in working towards a common goal. 

Don’t forget to leave your comments below.

10 Ways to Succeed in Busting Trust

FEATUREMay5thWith so much written on trust these days, I thought it might be interesting to provide ten things that you can do that are almost guaranteed to destroy the trust of your project team, peers, and business stakeholders. Busting trust is pretty easy. As Sophocles said, “Trust dies, but mistrust blossoms.” There are lots of ways to destroy trust. For example, we might think of all the ways to build trust and then do the opposite, like being dishonest, or lacking authenticity, or if we are unwilling to communicate bad news. What follows are ten additional ways to bust trust. There are, of course, many more. These are just a few of my favorites.

  1. Gossip. Gossiping’s fun, right? It’s great to be in the center of who knows what about everything and everyone. Some people use gossip as a currency. Feed me a juicy tidbit and I’ll give you two in return. So why does gossiping bust trust? If I tell you a piece of gossip about someone, do you really think I wouldn’t tell others about you?
  2. Use humor inappropriately. Have you ever joked around during a meeting or requirements workshop, making wise cracks or being sarcastic? Have you ever told the facilitator who was trying to enforce ground rules, “What’s the matter? Don’t you have a sense of humor?” We may pride ourselves on our cleverness, but others in the meeting might feel dismissed or that their ideas are being trivialized. It’s a great way to ensure that the agenda stalls and that the meeting objectives are not reached. If you are the constant joker, join the club of trust busters.
  3. Be competitive. When we are collaborative, value others’ input, and are interested in a solution that meets the organizational goals and project objectives, we will probably not succeed in busting trust. But when we put our self-interest ahead of the team, when we don’t listen to others’ ideas, when darn it, our way is the right way and we argue our position rather than listening actively to others, we have a good shot at busting trust.
  4. Withhold information. Ah, those poker players. We all know them. They’re the ones who hold their proverbial cards close to the vest. When we withhold information or feed it to the project stakeholders on a “need to know” basis, we are not being transparent and others might well question our agenda. Have you ever known people who were master poker players in all their communications? The ones who feed you one item at a time? When we hold onto information because we know that information is power, rather than sharing information because we know that sharing information not only is power but also a key to getting projects done quickly, we are sure to win a trust-busting award.
  5. Share confidential information. Sometimes, however, there really is a need to withhold information. When we have accepted the responsibility of hearing or reading confidential information, we cannot share it and leave our integrity intact. Some people have a need to “be in the loop.” Such people ask, “Can you keep a secret?” or “If I tell you something, do you promise not to repeat it?” or “I really shouldn’t mention this but…” We need to be careful before listening to the confidential information. We want to avoid the conundrum of whether to share vital information if it means breaking our promise and therefore being out of integrity. If we’re comfortable with this dilemma, share and listen to confidential information and you will certainly bust trust.
  6. Don’t make or meet commitments. I once had a boss who never had to meet his commitments because he never would make any. Making commitments means taking a stand. However, making commitments without meeting them is a great way to lose credibility. When we stall, put off work, or simply don’t get the job done, others lose confidence in us. And we open ourselves up to micromanagement. People who are dependent on our results and have made commitments to others understandably get real nervous when the results are delayed. They’re on the hook because of their own commitments. And when nervous, they tend to hover. One of our best defenses against micromanagement is to meet our commitments—and communicate if we can’t.
  7. Be unprepared. When we don’t do our homework, we lose credibility. When we’re asked a question and have to admit that we don’t have an answer and are forced to say “I’ll get back to you on that one,” we lose credibility. Sure, saying that you’ll get an answer is better than making up an answer, but it’s no substitute for being prepared. So if we don’t anticipate questions we’re likely to be asked, and if we don’t prepare answers in advance, we will lose credibility, which is a great way to bust trust.
  8. Act inconsistently. Acting consistently is a cornerstone of building trust, so when we don’t, we can be pretty certain that people won’t trust us. Consistency is having values and matching our behavior to our values. It’s about “walking the talk.” It’s about behavior that people can count on. It’s about reliability. So when we react inconsistently, such as when we react emotionally to unexpected bad news and shoot the proverbial messenger in the process, we will be effective at busting trust.
  9. Be closed to other cultures/ethnocentric. In a nutshell ethnocentrism is the belief that my culture is better than yours. The culture in question might be organizational culture, national culture, regional culture, age, gender, religion, or a host of other cultures. When we close ourselves off to input from people who are different from us, we let them know that neither they nor their ideas are important. Not only will we bust their trust, but we will lose credibility with other team members as well.
  10. Believe that results rule. When we put results ahead of relationships, we pretty much guarantee that we’ll get those results at the expense of trust and without the collaboration and cooperation that we’ll need for long-lasting success. Getting results is fine. But getting them at the expense of others means they’ll be short-term results at best. Failure to collaborate is a great way to bust trust.

Don’t forget to leave your comments below.

How To Define Scope on Software Development Projects: Functional and Non-Functional Requirements

The Story Of A2LL

A2LL – the German social services and unemployment software system was developed over the course of several years by T-Systems – a software department of state telecommunications company – along with ProSoz, a smaller company of about thirty developers located in the town of Herten.

The final product was delivered in the last quarter of 2004 and went live on January 1, 2005. The system consisted of the web browser front end, while the back end was based on 16 servers with 4 processors each.
Upon the deployment of the system at several large German cities including Cologne, Hamburg, Frankfurt and Berlin, the users at the welfare offices started reporting serious problems with the software. Some of the problems encountered are listed in Exhibit 1.

Exhibit 1

System Bug Description

Type of Requirement

If data entered into the form was incomplete (e.g. someone missed one of the many questions) the system automatically deleted the record after about three or four weeks

Functional

Account numbers that were less than ten digits in length were filled with zeros at the end of the string rather than at the beginning (e.g. 3225223 became 3225223000 instead of 0003225223).

Functional

System was not capable of producing an “Analysis of Variance” report

Functional

System was not capable of producing a “Persons Who Received Too Much Money” report

Functional

System did not include the functionality to deal with the deductions for income from small jobs

Functional

System could not cope with one-time payments (e.g. schoolchildren purchasing books)

Functional

System was not registering people properly with their insurance companies

Functional

System could not properly calculate insurance rates resulting in 25 million euros per month overpayment to the insurance companies

Functional

Extremely slow response time of the software

Non-functional

Extremely slow data entry times

Non-functional

Document printing was incompatible with many local stations

Non-functional

As a result of the above-mentioned deficiencies the expert committee appointed by the German government has concluded that the system was inadequate and started considering a new software system, just nine months after A2LL went live.

What are the lessons that can be learned from this project? It looks like the failure of this endeavor is rooted in project team’s inability to extract and document the proper system requirements (both functional and non-functional). After all it is less likely – at least in the author’s humble opinion – that the requirements were captured and included in the Requirements Specifications documentation properly but neglected by the developers.

The inability to properly define the detailed-level scope of IT and software development projects has unfortunately been the root cause of many failures in the hi-tech industry. According to the Standish Group five out of the eight top reasons why projects fail are related to requirements:

  • Incomplete requirements
  • Lack of user involvement
  • Unrealistic customer expectations
  • Changing requirements and specifications
  • Customers no longer need the features provided

Furthermore, between 50-60% of errors in software development originate in the requirements
stage. Rework needed to remove requirements errors can account for as much as 50% of software development projects. And finally, requirements errors are the root cause of 70-85% of rework cost.

Therefore since proper scope definition becomes one of the key factors of project success, this article is dedicated to the extraction and documentation of the functional and non-functional requirements of the system.

Requirements Specifications Template

Exhibit 2

Exhibit 2 - Jamal

There is a multitude of software specification templates available in various textbooks, Internet sites and other sources. They include user classes, operating environments, constraints, assumptions, dependencies, various interfaces, etc.

The purpose of this article however, is to concentrate on the two major sections of these documents that usually account for 80-90% of the overall volume – functional and non-functional requirements (see Exhibit 2).

Functional Requirements

Agility Guide For Functional Requirements

Many of the companies I consult for have been asking me “Well we have switched to the Agile methodology now and we are not sure how to treat our requirements processes now. For example, Do we still have to document them? And what about requirements management?”

My answer to such questions is that regardless of the project management methodology used, traditional waterfall or one of the Agile varieties, sound requirements engineering practice must exist in the project team. Here is a dumbed-down example that I once used during a conversation with a young and overly enthusiastic business analyst:

BA: Do all the rules of traditional waterfall requirements engineering apply on Agile projects?

Me: Let me ask you several questions, if you don’t mind. Pretend you are working on a very conservative waterfall project and have recorded the following statement in the requirements specifications document: “The home page shall load quickly”. What do you think will happen?

BA: The developers will probably insist that I specify the “quick” part; they would probably want to know how fast the page should load.

Me: Perfect! Now imagine you are working on a very Agile project and you write this requirement on the whiteboard or even simply mention it to one of the programmers in the same format. What will his reaction be? Do you think he will find it acceptable?

BA: Hmm … I don’t think so. He will still need to know how fast the page should load.

Me: Aha, so it is the formality of the requirements engineering and not the quality of extensiveness of it that is defined by the agility of the project management methodology!

Before we move one to describing the formality of the requirements approaches let us define three broad project categories first (see Exhibit 3).

Exhibit 3

Project Type

Project Attributes

Agile projects

  • Highest degree of agility
  • Smaller projects
  • Close stakeholder participation
  • Smaller number of stakeholders

Traditional projects

  • Very large in size and number of stakeholders
  • Very complex
  • Contractual obligations

“Something-in-between” projects

  • Try to be as agile as possible
  • Have constraints imposed on them
    by project and/or organization
  • Probably larger than Agile projects but smaller than traditional ones
  • Probably have more stakeholders than Agile projects but less than traditional ones

So, what are the guidelines for recording functional requirements on various types of projects (see Exhibit 4)?

Exhibit 4

Project Type

Formality Level

Agile projects

  • Typically avoid writing formal requirements
  • However, rushing to a solution before understanding the requirement will lead to wasted effort

Traditional projects

  • Have a need to formally write their requirements
  • Could use scenarios and/or use cases to communicate requirements

“Something-in-between” projects

  • Try to be as agile as possible
  • Have constraints imposed on them
    by project and/or organization
  • Probably larger than Agile projects but smaller than traditional ones
  • Probably have more stakeholders than Agile projects but less than traditional ones

What Are The Requirements Writing Guidelines?

There are several simple rules that have to be followed when recording functional requirements.

Firstly, let’s examine the concise writing rule. This rule consists of several sub-categories. Statements should be short and to the point. They should focus on what the system must do rather than on how it should do it. Also, one of the most difficult aspects to achieve – the statements should not leave any room for interpretation. This task becomes easier to achieve if the writer attempts to record one requirement per statement or paragraph with one verb.

Another good tradition to follow is to consistently use the word “shall” rather than mix “must”, “will”, “might” and “may” to indicate priority and/or create a semantic confusion.

Here is an example of a bad requirement for the readers to analyze and attempt to re-write properly:

Product SKUs entered by the customer will be validated against the SKU master list if possible and the results will be presented in the tabular format to the user

Some of the issues a good requirements expert will notice about this statement are:

  • Usage of “will” instead of “shall”
  • “will be validated” – validated by whom or what?
  • “if possible” – and what happens if it is “impossible”?
  • “results” – what kind of “results”?
  • “tabular format” – imposing solution
  • No unique identifiers
  • Usage of word “customer” instead of “user”

A possible improved version of the same requirement may look something like this:

FR 1.3

The ABC system shall validate Product SKUs entered by the user against the SKU master list

If the SKU entered can be located in the SKU master list, the ABC system shall communicate to the user that the product was found and prompt the user to add the product to the shopping basket

If the SKU entered cannot be located in the SKU master list, the ABC system shall communicate to the customer that the product was not found

Exhibits 5-7 list additional attributes of quality requirements.

Exhibit 5

Exhibit 5 - Jamal

Exhibit 6

Exhibit 6 - Jamal

Exhibit 7

Exhibit 7 - Jamal

 

Requirements vs. Design Discussion

One of the key issues that I have witnessed on numerous IT and software development projects is over-eagerness of the project stakeholders – both technical team members and customers – to delve into the discussion of the granular design aspects of the final product well before all the functional and non-functional requirements have been defined.

Sometimes the remarks of more experienced team members that the location and the color of the “Submit” button should be postponed until later were very frequently met with the following comments;

“Well, we know this now; why postpone the discussion until later?”

There are two main reasons for separating functionality and design discussions. The first one is that defining the functionality of any software product is a complicated and cumbersome process that has not been fully grasped by many IT professionals. Adding the design-related discussions into the mix complicates things even more and distracts both team members and customers from more important aspects.

Secondly, one should always remember that technical team members (e.g. developers, architects, etc.) typically have a much better understanding of various design options available to the team. Thus it is only logical to expect that developers, architects and UI designers will be able to come up with more efficient and innovative solutions. Furthermore in many cases these solutions could be the ones that the customer did not even know were possible.

Before we explore this topic further, let us look at the respective definitions of the requirement and technical design.

Requirements describe what the customer wants – they communicate business capabilities required to solve business problems or achieve business objectives.

Technical design describes how the requirements will be satisfied and which system components will deliver the new capability.

How can one distinguish between a functional requirement and a design-level solution? One of the easiest ways to weed out design elements in the specification document is to look for phrases like:

“The system (or customer) shall do X by …”

See Exhibit 8 for several examples of design sneaking into requirements.

Exhibit 8

The system (or customer) shall do X by …

Question

… choosing an option from a dropdown menu

Why does it have to be a dropdown menu necessarily?

… pushing a “Submit” button

Can it be “Proceed to Checkout” button instead?

… clicking in the checkbox

Why not radio button?

Parking Lots

What frequently happens during the requirements discussion meetings is that great, cool and incredibly innovative design solutions unexpectedly “pop-up” all over conference rooms. The obvious question at that point of time, “If we are not venturing into design issues right now, what do we do with these cool ideas?”

The solution is to create a “parking lot” in order to capture these “too early to discuss” items in order to revisit them at a proper time of the project. Parking lot can take several forms depending on the complexity and the formality of the project. For example, more Agile project teams may decide to use whiteboards or flipcharts to capture design ideas.

On the other hand it is recommended that more sophisticated projects capture this info in the special section of the System Requirements Specifications document (SRS).

 Don’t forget to leave your comments below.


Bibliography

  1. “Software Requirements, Second Edition (Pro-Best Practices)” by Karl E. Wiegers
  2. “Effective Requirements Practices” (Addison-Wesley Information Technology Series) by Ralph R. Young
  3. “Exploring Requirements: Quality Before Design” by Donald C. Gause and Gerald M. Weinberg
  4. “Requirements by Collaboration: Workshops for Defining Needs” by Ellen Gottesdiener (Kindle Edition – Feb 17, 2009)
  5. Mastering the Requirements Process (2nd Edition) (Hardcover) by Suzanne Robertson and James C. Robertson
  6. “Project Management Body of Knowledge (PMBOK)” by Project Management Institute (PMI)
  7. http://en.wikipedia.org/wiki/A2LL

The Great Facilitator Part 4: What Great Facilitators Know About Estimating

Bob_Z_mar_27_28309844_XSIn my previous article, I shared an exercise that helps teams understand how to develop a plan that is manageable and achievable. I call this “Commitment-Based Estimation.” Now I will show how great facilitators can play a role in making their teams super confident about their estimates.

Who Should Facilitate an Estimation Session?

Before we talk about how to do a great job in facilitating estimation sessions, I’m going to discuss how to select the best person to facilitate these sessions.
I typically find that the Team Lead drives estimation sessions. Project Managers and Architects are also fairly popular in this role. The key, however, is to find a person who will allow the team to own the estimate.
When a Project Manager leads the estimation, they usually drive a team to develop estimates that reflect the project plan. Once the Project Manager starts imposing schedules, or challenges the team to optimize an estimate constantly, then the team won’t feel ownership. This is not how to get a Commitment-Based Estimate.

Similarly, when an Architect drives the estimate, they typically assume a technical frame of reference and try to help the team understand the mechanics of the estimation. If they impose their vision for the complexity of certain tasks, once again, the team won’t feel ownership.

So who makes the best facilitator for estimation sessions? I’d say look for a person who is:

  • Part of the team and has skin in the game
  • Already a respected leader and trusted by the team not to impose their personal views
  • Is experienced in helping teams balance risks, contingencies and dependencies

The One Rule You Should Never Break

There is one rule the facilitator must never break: Allow the team to come up with estimates they believe in. Unless the team is very junior or new to estimating, every team needs the freedom to come up with their own estimates. If the team asks for two weeks, never impose a shorter schedule and tell them to get the job done in one week.
Now you may be thinking: Does this mean I can never challenge a team? It does not. What it does mean is that as a good facilitator, you ask the right questions and help them share and test their assumptions.
For example, ask the team: “What would you need to get this done in a week?” or “How much can you get done in a week?” By asking the right questions, the scope may get reduced. Now you get the deliverable within a week because the estimation was not imposed on them. Again, the facilitator does not want to undermine the ability of the team to own the estimate.

Other Things Great Facilitators Do:

Some of the other approaches that have helped me personally manage some very strong groups include:

  • Make sure the team does not give an estimate that is simply unrealistic. I talked about this recently on my blog, in a post called “Attitude of Estimation.” As a facilitator, you want to encourage the team to come up with an estimate that is workable.
  • Ask questions and create assumptions to make the team think of scenarios that might happen. This helps the team create more accurate estimates.
  • Make sure everyone has a voice. Business Analysts need to be able to articulate the business needs and clarify what is being delivered. Project Managers can offer perspective on dependencies and resource availability. The QA team needs to test not only to see if something works, but also to see if the product is in compliance with business needs. Developers, Architects and the database team also need to weigh in. Too many times an estimate does not include a full set of voices and results in inaccurate estimates and mediocre functionality.

In my opinion, too many people take the facilitator role for granted. I think there are some jobs that are too important to perform any less than perfectly. Facilitation is one of them. A poor facilitator can break the spirit of a super talented team while a great facilitator can lead a good team to surprise itself on what it is capable of.

Get the whole picture by checking out the other 3 parts of this series –

Part 1 –  Part Business Analyst. Part Orchestra Conductor. Part Psychologist – Do you think of yourself as an effective facilitator but unsure how others perceive you? Maybe you’ve been at a meeting recently where the facilitator is doing a fantastic job but you just can’t figure out exactly she is doing differently. The differences are subtle.  This series is about those subtleties that separate the great facilitators from the mediocre ones.

Part 2 – Check in and the Chair:  Why can some facilitators effortlessly lead their team to achieve brilliant clarity and enthusiastic alignment? This article includes some basic practices great facilitators use to manage a room and deliver impressive results.

Part 3 – Commitment Based Estimation: In order for an estimate to have teeth, the team must feel ownership of the process and genuinely believe the estimates are achievable. This article includes exercises to facilitate estimates that are realistic and manageable. 

Don’t forget to leave your comments below.


Bob Zimmerman’s career in custom software development spans more than two decades and has been largely dedicated to the process of leveraging technology to drive innovation and growth. As Geneca’s CTO, Bob Zimmerman continues to build on his work as the driving force behind Getting PredictableS.M., the requirements definition and project best practices that are the foundation of Geneca’s mission to make software development predictable. He continues to extend these best practices to leverage more value for clients and new growth opportunities for Geneca.