Skip to main content

Tag: Tips

Productivity-Killing Monsters of Requirements and Tips to Slay Them

As a Business Analyst or Project Manager, you are on the front lines of bringing products to market that build value for your business. If you’re like most BAs, however, you spend too much time reporting status, explaining context and tracking decisions. From listening to you over the years, we’ve started the list by identifying six of the biggest challenges—or monsters—that BAs and PMs face (see list, below) but many other monsters lurk out there, slowing down your project and throwing obstacles in your way.

monsters

Example Monsters

Swoop Monster

This executive monster comes to you at the last minute with critical feedback you asked for weeks ago. Right when you’re about to move forward, she’ll swoop in to mix things up; chances are, Swoop results in more work and less time to get it done.

Rework Monster

The Rework monster pops up months after you’ve made a decision and moved forward. He wants all the details, asking you to prove who decided what was decided, when and why. Guess what happens next? You get to redo something!

CYA Monster

The CYA monster has selective memory and doesn’t remember that conversation where you both agreed on a new direction. Do you have the backup necessary answer this monster’s detailed questions?

Missing Monster

This monster is an essential contributor to your project, with a long history on your team and an ironclad memory. This monster is great… until he suddenly disappears forever with all that intelligence.

Meh Monster

Your finished product lands with a resounding… “meh” from this monster. He was expecting x, y, and z, but you delivered q, r and s. All that work you did turns out to be based on mismatched expectations so the best you could deliver is disappointment.

Cog Monster

The Cog monster blocks you from knowing the whole project, treating you like a task rabbit. She thinks as long as you do your part, and every other cog does theirs, the whole product will hum. Cog monster doesn’t understand the importance of providing context so that everyone knows what is being built and why.

Tips to Slay These Monsters

  • Give management better visibility and a continuous feedback loop to address issues before it’s too late. Be transparent and open for feedback at all phases of the project, and have frequent check-ins to get reactions early. If your team and executive staff are in the same office, this is easier to accomplish.
  • Provide full context of every decision so everyone understands the scope of the project and why. Cog monsters need your help seeing the value of context in empowering people to do their best work. This applies upstream to your stakeholders and customers so they understand what they’re getting and it applies downstream to your design, development and QA teams so they know exactly what to build and to test properly.
  • Embrace changes intelligently by connecting the dots, quickly assessing the impact and communicating updates to the right people involved automatically. As you know, we can’t talk about requirements without talking about change!
  • Break large, complex projects into smaller manageable parts, and let people filter in on what’s relevant to them. Manage project scope item by item to get work done. People naturally work on a list of a few items at a time. It’s how our brains work and we’re more productive that way.
  • Be proactive. People have selective memories. We all remember what we want to hear. What stakeholders forget is the additional things they add along the way or that you’ve had to reprioritize features as the scope evolves over time. Make sure everyone approves of the trade-offs resulting from the decisions.
  • Collaborate. New tools for managing requirements and the product delivery process can house the conversations, comments and decisions in the same place where the work takes place. Context is captured, reviews are public and nothing stays in someone’s head. Rethink the document-driven, meeting-heavy process and shift to a more modern way of working

Don’t forget to leave your comments below.

The Magic Behind Functional Requirements – Data!

For me a good day of gathering requirements is marked by a business user saying, “That’s a very good question.” In the majority of instances the trick of coming up with those questions is the same – while talking to users about their business processes, I am mentally mapping the information those processes involve to a data model.

In a previous life I was a Data Administrator. Relational database technology was new and ‘normalisation’ was a magical art. Apprentice data analysts could get to third normal form. Full data wizards understood fourth and fifth normal form. Hard to believe it now but we ran sessions with business users that focused purely on data. We asked them to put their processes out of mind and focus only on their information requirements. Our deliverables were entity/relationship models intended to support the development of enterprise-wide, reusable databases. It was a VERY painful process for all involved.

I’d estimate that data administrators (myself included) spent about 30% of their time documenting business data requirements and the other 70% debating with other data administrators about such things as naming standards, domains, and whether “Double-headed arrows,” “Crows Feet” or “A Big Dot” was the best way to represent the “Many” end of relationships on Entity/Relationship (E/R) diagrams. I really miss those days – NOT!

Fast forward twenty-something years to today. The Unified Modelling Language has morphed E/R diagrams into Class Diagrams (although Relational databases for the most part are still the norm rather than genuine Object-oriented databases). When people talk about requirements the two main types are Functional and Non-Functional. Data requirements are typically relegated to entries in a glossary or one or more E/R diagrams in an appendix.

Business users now, as then, have zero (or less) interest in looking at a data model. However, they are more than happy to be shown a screen ‘wireframe’ representing the way a system would present data to them in support of their business process. The trick, at least in my case, is applying my data perspective during discussions of these wireframes, but without using the “E” or “R” words. Most typically a screen equates to an entity (e.g. Customer, Contract, Order). So does a displayed table of items (e.g. Order Line Item, Payments). Fields in the screen (or columns in the table) either are ‘facts’ about that entity or reference some other entity (e.g. the Customer ‘named’ in an order or the Product ‘short description’ in an order line item).

OK, back to the magical source of ‘good’ questions. The basic data normalisation technique is ensuring that each attribute is a fact about the most appropriate entity. [“The key, the whole key and nothing but the key, so help me Codd.”] If not, then it is a fact about some other entity.

For example in an Order Line Item, “Quantity” is definitely a fact about the Line Item. The “Product” being ordered is a fact about that Line Item, but because there are a bunch of ‘facts’ about Products irrespective of them being ordered, there needs to be a Product entity. Users entering Line Items need a way to ‘identify the product’, and having done so the screen is populated by fields that are facts taken from the identified instance (e.g. short description, unit price). A “good question” might be, “When a Product is ordered, is the Unit Price the same in all cases, or can the unit price be different (e.g. Customer-specific price schedules)?”

Another ‘good question’ that has its basis in normalisation is, “Can that fact have multiple values at the same time (e.g. an Employee being classified as having multiple Skills)? Or the cardinality of a relationship (e.g. can a Contract involve more than one Supplier?).

If you have data analysis skills, I encourage you to apply them during requirements gathering. If you are light on data modelling skills, I encourage you to learn more about the subject. Regardless, I encourage you to keep these skills hidden from your business users and let them think you have magical abilities to ask ‘good’ questions.

Anyone else, “been there, suffered that”? If so please add any examples and/or tips for gathering requirements without diverting Business Users from their focus on their processes.

Don’t forget to leave your comments below.

The Industry Agnostic Business Analyst – Defying Market Trends

It is common within the ICT industry, to come across job advertisements listing prior domain experience as mandatory for a Business Analyst. Finance and health are among the worst culprits and those of us who have faced a position description stating ‘experience in a financial organisation is essential’ will understand exactly what I mean. Whilst prior domain experience certainly has benefits for the organisation in terms of shortening the learning curve of a Business Analyst, and getting them started faster, there are also pitfalls that organisations should be aware of and should take into consideration.

I recall my first Business Analyst position in the health industry. The organisation was looking for a Business Analyst with experience in health. Fortunately having worked with the Program Manager previously was enough to get me in the door with my proven analysis skills and experience. The clinical project I was assigned required me to work as a Business Analyst very closely with subject matter experts from Nursing and Allied Health disciplines. Naturally I was aware of my lack of domain knowledge and relied on my inherent Business Analysis skills and techniques to get up to speed quickly – document analysis was a great place to start.

To my surprise, the subject matter experts on the team commended my ability to actively listen and understand their domain to the point that I was adopted by the team as a ‘pseudo clinician.’ I received comments like ‘we are really glad you haven’t worked in health before, it means you ask the obvious questions instead of bringing your own assumptions and past experiences that may not align to how we define and do things here.’ Another comment was ‘it is so nice to not have to hear you tell us, how the place you used to work does things, and that “x” word actually means something completely different in your prior organisation.’ The take away lesson I learnt, is that the power of ignorance should not be disregarded and can actually be used as a strength to create the right frame of reference from the start, instead of having to alter perceptions brought from other ‘similar’ organisations within the industry. It is easier to create new understandings than to change those already deeply embedded.

Travelling further back to my university days, I recall a business lecturer emphasising the value of learning critical lessons from other industries that ‘do what they do best.’ For example, if you are working on a system to manage capacity within an aged care facility, why not look to the lessons learnt and finely tuned practices of the airline or hospitality industry for creative ideas and advice? The benefit of having a Business Analyst who has worked across multiple industries is that they can bring a new perspective to solving cross-industry problems. I have worked in mining and construction which many would assume is quite a contrast to health, however from a process and systems perspective, body parts and tyres are really not that different – they each need to be screened and assessed, have attributes which need to be recorded, have an acceptable range for blood pressure or tyre pressure, require monitoring and reporting.

In my current role as a Service Delivery Manager for an expert Business Analysis consultancy, I would rather hire a Business Analyst who is foremost a Business Analyst and not a health or finance industry subject matter expert. Similarly, I would take my car to a mechanic and not a motoring enthusiast. When I look for a great Business Analyst to join our highly skilled team, I look for someone who is well versed in the core competencies, skills and techniques required for the role, whether that is business process modeling, stakeholder management, use case documentation, business/functional/non-functional requirements specification, requirement traceability, business case development, enterprise analysis or workshop facilitation. The frustration however comes with placing these expert people into clients who are more focused on hiring a Business Analyst with subject matter expertise, than a Business Analyst who is great at their own job, and who brings a diverse range of experiences with them to the role. The divide between a Business Analyst and ‘the business’ needs to remain preserved – the role of the Business Analyst is to facilitate decision making and provide objective advice, however when the Business Analyst is also the subject matter expert, objectivity can be compromised and the Business Analyst may creep into decision making, or making assumptions and prioritising requirements without the business input.

With all this said, my first Business Analyst role in the health industry did assist me in some ways with my subsequent health role – for example I was familiar with software solutions used within the industry which could be applied to my later role, although it would not take long for a Business Analyst without prior health experience to also quickly come up to speed on this. My experience working with clinical stakeholders was an advantage, however the same core stakeholder management skills come into play whether proving your value and credibility to a clinician or tyre performance manager.

Many industries feel they are unique, just as many stakeholders feel their processes and requirements are very different from the next. If this were the case, it would be difficult for cross-industry process classification frameworks to exist, and Business Analysis guidelines such as the Business Analysis Body of Knowledge (BABOK) to be developed. I therefore still arrive at the conclusion that whilst prior domain knowledge does have advantages, it is certainly not everything it is promoted to be by the industry and it is not my preference in hiring someone for a role. The industry has not yet matured in this space, and those on the job hunt will share this frustration. So I urge you to keep educating the market with the benefits, as the industry agnostic Business Analyst has a lot of value to offer – as Business Analysts many of us know this, perhaps it will take the industry a while longer to catch up. However, with the modern pressures now on industry to innovate or perish, some will be more open to looking at the agnostic Business Analyst providing cross-industry innovation.

Don’t forget to leave your comments below.

Dispersed Business Analyst Teams Are Hard Work, But Fun

As a BA Manager who works in a consultancy with a dispersed bunch of brilliant Business Analysts, it’s hard to show our Business Analysts we really care and value what they can bring to the wider Business Analyst team.

Problem Statement (aka problem scream!)

How do we encourage our dedicated Business Analysts to engage with their colleagues who are located elsewhere, and contribute to our central BA practice, when they already have a team to interact with every working day?

Some context

Although my current role is within a consultancy, I’ve also worked in organisations as a BA Manager. In these organisations, Business Analysts have been dispersed or situated outside a central practice, to be found in business units, IT departments or form part of other business teams. I’ve also been a Business Analyst working the coal face and engaged or otherwise with all sorts of BA practice structures.

What I think I’ve learned about engaging dispersed BAs

  1. Your madly dedicated Business Analysts will become attached to their clients/project teams/business units. They will like the people they work with, they will participate in social activities with those people they work with, they will quote those people too. Don’t panic. Learn from their engagements what does draw them in, and seek to use those learnings to create similar or better at home base. Plagiarism of ideas here is a good thing.
  2. Business Analysts are all unique – that’s no surprise! You can’t cater for all your unique people in all activities or events that you organise to bring them together. Don’t sweat it! Hosting an event/activity with 70/30 fit for your people, even 60/40, is damn good. Explain what you’re doing and why, and the return to be gained by participants. Your team will decide their level of involvement, or even better, their peers will often exert the pressure for them to participate where you can’t.
  3. Find your outliers and middle ground: your participators and your non-participators, and your sometimes participators, and get to know a bit about them. I’m not saying bell curve them – they are people and I’m not into bell curving people. But I am into personas and trying my best to wear different hats, and say to myself “if I was xxxx what might I think of this event/communication/approach?”
  4. Don’t assume that your communications have got the message across. You may deliver by email, you may deliver by a regular “circular”, you may have “gatherings”, but until you (or someone in your practice) gets face-to-face and talks the latest news directly to an individual there is still a good chance you will “surprise” a Business Analyst with some news long after they should have known about it.
  5. Elicit from them, with quality business analysis techniques, what would engage them. Just don’t ask them too much and make sure you USE the information they supply. A BA practice needs to practice what it preaches. They will tolerate you getting it wrong occasionally but they won’t tolerate you not learning to get it right.

Practical tips:

These are some of the tools myself and my colleagues have used to keep dispersed Business Analysts engaged within our BA practice:

  • Regular coffee catch-ups at client sites
  • Regular gatherings offsite – to network, bond over food and drinks
  • Regular learning sessions – from colleagues or guest speakers, or team training
  • A few full days together offsite during the year
  • Facilitated a higher level of availability of senior managers for BAs i.e. give us this consideration and we guarantee value for time
  • Fortnightly circulars with a variety of content
  • Existing Business Analysts involved in recruitment process for new Business Analysts
  • Involved Senior Business Analysts in running “BA for a Day” opportunities
  • Put BA representatives into other team/specialist meetings, or onto collective committees. They then have a responsibility to engage with the central practice and they learn something new too.
  • Business Analysis Team Posters – list Business Analysts who reside in their unit, and central practice details, with offers for free talks to teams on what we do
  • Collectively, by small focus groups, or as individuals, engage Business Analysts in leading projects of change for the practice
  • Listening, learning, evolving, getting it wrong sometimes, but genuinely caring for individuals and delivery.

Summary

Being a BA Manager with a dispersed workforce of Business Analysts is hard work but great fun too. It drives you and the team to explore and innovate in a way that might not have otherwise come to mind or had such a high priority if you had a centralised team.

This does mean of course that these learnings are just as applicable to a centralised team of Business Analysts. Since it’s all about engagement, perhaps a centralised practice should raise the priority on these sorts of activities?

There is nothing new in my experience, but somewhere there might be a new BA Manager who needs some starting hints, or an “older hand” like me who knows it’s never too late to learn new tricks.

Which reminds me, the key learning might be this one:

  1. You don’t have to figure out how to engage a dispersed Business Analyst workforce all on your own. I didn’t. I learnt from my leaders, my network, from trial and error, from a variety of roles I’ve held, from the vast universe of the web, by sharing what I do know and asking people for their sharing in return.

I’d love to hear your experience (techniques that work and those that don’t), in keeping a bunch of dispersed Business Analysts engaged with each other and their practice.

Don’t forget to leave your comments below.

The Broken Telephone Game of Defining Software and UI Requirements

The broken telephone game is played all over the world. According to Wikipedia, the game is played as follows: “one person whispers a message to another, which is passed through a line of people until the last player announces the message to the entire group. Errors typically accumulate in the retellings, so the statement announced by the last player differs significantly, and often amusingly, from the one uttered by the first.”

This game is also played inadvertently by a large number of organizations seeking to define software and UI requirements by using information passed from customers to business analysts to UI/UX designers and then to developers and testers.

Here’s a typical example:

  • The BA or product owner elicits requirements from a customer and writes them down, often as a feature list and use cases.
  • The use cases are interpreted by the UI/UX team to develop UI mockups and storyboards.
  • Testing interprets the storyboards, mockups, and use cases to develop test cases.
  • The developers then interpret the use cases, mockups and storyboards to write the code.

As with the broken telephone game, information is altered with each handoff. The resulting approach includes a lot of rework and escalating project costs due to combinations of the following:

  • Use cases don’t properly represent customer requirements.
  • UI/UX design is not consistent with the use cases.
  • Incorrect test cases create false bugs.
  • Missed test cases result in undiscovered bugs.
  • Developers build features that don’t meet customer needs.

The further down the broken telephone line the original requirements get, the more distorted they become. For this reason, UI storyboards, test cases and code typically require a lot of reworking as requirements are misunderstood or improperly translated by the time they get to the UI and testing teams.

How Can We Reduce the Broken Telephone Effect?

The good news is that there are some reasonably simple changes to processes and deliverables that will decrease the broken telephone effect. The following techniques share the goal of reducing handoffs and translations.

Interview the customer with cross-discipline teams

One method is to involve the BA, UI/UX and quality assurance people directly in the elicitation process with the customer. You can even make a case to include the lead developer as well. Having all disciplines represented during the interview process lets each party hear requirements directly from the customer, reducing the reliance on BA documents alone. An equally important benefit is that each discipline brings a different perspective, which can lead the interview process down different paths of conversation and requirement gathering.

For example, the QA resource may ask more questions about the requirements related to edge or error conditions than the BA or UI/UX resource. Putting a UI/UX member in front of the customer will provide a chance to understand features that are frequently used to manage the cognitive load of the end user.

Combine and evolve use cases, UI mockups, and UI storyboards into an integrated deliverable

Another approach to reduce the broken telephone effect is to avoid creating use cases, mockups and storyboards as separate deliverables by combining them into one “integrated deliverable.” To create an integrated deliverable, start with the use case and attach UI mockups to each step. This automatically creates a UI storyboard that has the same steps (including main and alternate flows) as the use case, and means they don’t get out of sync. Also, since the UI mockups are attached to each step, you know they will be consistent with the purpose and requirements outlined in the step.

Often, new requirements or changes to existing requirements emerge, and if your storyboards and mockups are separate from the use cases, the original use cases are not updated. This creates confusion for your developers, testers and stakeholders. Combining your use cases, mockups and storyboards into one integrated deliverable makes it much easier to keep all three in sync, dramatically reducing the potential for conflicting requirements.

The integrated deliverable approach encourages collaborative and combined authoring and review of use cases and UI/UX design by your BA and UI/UX teams, resulting in more accurately defined and understood requirements.

To bring this concept to life, here’s an example that starts with the use case defined by the BA or product manager, without any mention of UI-specific requirements.

Use Case: ATM Cash Withdraw

The steps with the Y-shaped symbol are steps with alternate flows.

Oct9thMartin1

Alternate Flows

Oct9thMartin2

Oct9thMartin3

When the UI/UX team starts attaching UI mockups to each of the steps, a UI storyboard is created that uses the same exact main flow and alternate flows as the use case. A UI storyboard expressed in terms of a main flow and alternate flows has the benefit of reducing the number of traditional linear storyboards. If you were to create traditional UI storyboards for each of the unique paths through the use case above, you’d have 11 in total, with duplicated steps across them. UI storyboards with main flows and alternate flows reduce rework and errors that pop up in linear UI storyboards.

You can do this in Word by inserting UI mockup images created in a different UI mockup tool, but keeping the UI mockups up to date in the will become time-consuming and error-prone. Products such as PowerStory (a plugin for PowerPoint) make this easier by enabling you to combine use case steps with UI mockups to create UI Storyboards.

In the following screen shot you will see that PowerStory adds a panel specifically designed for creating main flows and alternate flows of use cases, and associates the steps in these flows with typical slides in PowerPoint.

Oct9thMartin5

As before, the steps with the Y-shaped symbol beside them indicate an alternate flow. When you hover over the icon you can view and enter the alternate flows associated with that step.

Oct9thMartin6

PowerPoint is an extremely powerful tool for creating UI Mockups that can support more UI design ideas than typical wireframe mockup tools, especially with plugins like PowerMockup and Microsoft’s upcoming storyboarding plugin.

Write use cases and UI storyboards with testing in mind

Test cases typically include a “user action” followed by an “expected result.” If you spend a little more up-front time defining which steps are “user actions” and which steps are “expected results” when creating your use cases and UI storyboards, you can save your testing team time. Use cases are well suited for this approach by defining the principle actor for each step. Any step where the actor is a system should be classified as an “expected result” step for the test case, and any step where the actor is an end user should be labeled “user action.”

One of the test cases derived from the combined use case defined above is shown below, following the rule that a step with an end user actor is an action and a step that has a system actor is an expected result.

Oct9thMartin4

Automate the creation of your test cases directly from your use cases

Using tools that will automatically generate test cases from your use cases and UI storyboards will save you a significant amount of time and money typically spent by your testing team creating manual test cases. In the context of this article, it also eliminates a handoff and thus mitigates the broken telephone effect. When QA teams interpret requirements and translate them into test cases, they might misunderstand requirements and create faulty test cases and/or miss requirements and their corresponding test cases.

Key Points to Take Away

Developing software requirements, UI designs, and test cases can mirror the broken telephone game we all played as kids. Every time we pass information on, it gets changed and misinterpreted, leading to increased project costs and the delivery of the wrong solutions to your customers. Following the steps outlined above, you can reduce the broken telephone effect and follow a more streamlined process to clear and lucid product development.

Don’t forget to leave your comments below.