Skip to content

You can’t always get what you want.

Morgan T. Lee The Rolling Stones may have said it best “You can’t always get what you want”. This is true in so many situations and software development is no exception. Business Analysts and Project Managers see this all the time. You start a new project with some idea of what you want the final product to do. You have several weeks, months, or years to complete a project and deliver the perfect solution for your business, clients, or customers but somewhere along the way requirements change, resources come and go, priorities shift, or one of many other excuses change the outcome of the project, schedules, and budget.

So how can we increase the success rate of delivering a working product even if it is not fully what the business asked for at the start? You can start by asking the project sponsor and key stakeholders these five questions at the start of the project and make sure that they understand what you are asking and what they are agreeing to.

1. What do you do need the project to do? – People will often give you what they want it to do. That is fine as long as you are able to tell the difference and make a note of this when you are documenting and ranking the requirements.

2. What are you willing to put into the project to make it successful? -These three things will help determine what features (the requirements from question #1) you can deliver during the life of the project.
A. Money;
B. Time; and
C. Resources.

3. If project time or money is cut short or wasted, what can you cut to keep things on track? -Cut lower priority/value features instead of cutting resources or testing time.

4. Are you willing to make the project sponsor or key stakeholders (including management) accountable for project activities and milestones? -Projects are often more successful if key stakeholders are more engaged when they have an active role in the project.

5. Is your project sponsor or key stakeholders willing to commit to the answers from the above questions? – if so, they should help you with the following:
a. Define what you need;
b. Provide the resources that the project needs to succeed;
c. Eliminate low value features in order to deliver something of value; and
d. Make key stakeholders accountable for project milestones.

Posted in 5 Things, Article, Business Analyst.

Five things to help elicit stakeholder requirements

Here are five great techniques that I use to help elicit business requirements from stakeholders.

  1. Requirements Workshops – Organize half or full day sessions to meet with a group(s) of stakeholders to define the initial set of requirements or further define an existing list of requirements.
  2. Brainstorming – An excellent way to get a quick list of ideas that you can later define and prioritize.
  3. Job shadowing – Spend time learning daily activities and use this information to translate into requirements.
  4. Interviews – Interviews are a great way to meet one on one or with a small group to elicit requirements by a predefined set of questions and then asking follow-up questions based on individual responses.
  5. Survey / Questionnaire – Asking questions through a survey / questionnaire is another great way to elicit information. You can ask questions when you are unable to meet people in person, if you want to distribute questions to a large number of people, or if you are looking for anonymous feedback that you may not get otherwise.



Posted in 5 Things, Business Analyst, Questions, Techniques.

Tagged with , , .

Job shadowing

Morgan T. LeeDuring a recent consulting project, I was engaged in an exercise to document the requirements for a company that was looking for an enterprise wide Electronic Document Management System (EDMS). I had to meet with key stakeholders and document their business needs. Having performed this type of work on similar projects for government organizations, IT companies, and telecommunication companies, I was familiar with a variety of Document Management Systems and how organizations used them. However, on this current engagement, I was working with an industry that I was not very familiar with, Importing and Exporting. According to the Project Plan, I was scheduled to perform a number of requirements sessions with various stakeholders.  Normally I would sit down with the stakeholders and ask them what their needs and wants for an EDMS are and set a priority to each one, but this was an opportunity for me to learn about the client and the industry they work in.

During the initial project kickoff meeting I met key stakeholders, got a high level view of what they do now (current state) and what they want (future state), and identified a few business processes where an EDMS would be valuable. This allowed me to identify a starting process within the company. Basically, I was looking for an action or document that triggers they entire process. Studying organization workflow diagrams allowed me to find the starting process. I met with a stakeholder where I thought the document management process began.  I used a technique called Job shadowing. Job shadowing is when a person will observe another person walk through their daily work activities and document what they do and how they do it. I documented each step as they identifed inputs, processes, outputs, and other interactions.

There are different ways to perform job shadowing. I used an active method where I would watch the stakeholder perform a task, have them explain the task while I document what they did, and then I repeat the process in my own words and get confirmation that what I recorded and repeated was correct. This process let me know what documents the stakeholder worked on and where the documents went when they were done with them. In this case, the documents were sent to a holding area for another stakeholder to process the information. I did another job shadow on the next person, and the next, et cetera, until I could determine the current document life cycle of this company. This technique allowed me to trace documents throughout the organization, from the first time they recorded customer information, right up until they archived the documents in a warehouse. This technique provided me with information that I may not have received from just standard requirements sessions with selected stakeholders.

Using the job shadowing technique, I discovered that certain people in the company would stamp various documents with an ink stamp that contained detained shipping information, a fact that was never mentioned by any of the stakeholders before I started the job shadowing. If the company wanted to switch a paperless environment then an alternative solution would be required to replace the manual stamp process. A special set of requirements would have to be documented for this alternative solution.

Job shadowing is one of the many requirement elicitation tools that a Business Analyst should be familiar with. It can often help identify requirements that might otherwise be missed. Find a starting point, trace through the workflow, find the handover points, and do the same with the next process / person. Repeat this process until you come to the end. Make sure you can document the entire flow (don’t be afraid to repeat a process). This will give you a map of the current process and give you a great foundation for your future state requirements.

There are some downfalls to Job shadowing and it should not be used in every situation.  Job shadowing is best used to document current activities, or help identify automated tasks for manual processes so it is not always the best technique to use when you are looking for new features or functionality.  Also, job shadowing may cause delays in a process if you have to stop the person that you are shadowing and ask them questions, explain what they are doing, or repeat something that you may have missed.  If this is the case, you may want to use a passive job shadowing technique where you watch and document what the person is doing and repeat the process as many times as it takes until you have documented everything that you need.

Posted in Article, Business Analyst, Techniques.

Tagged with , , , .

Data Masking Software

Morgan T. Lee

Have you ever worked on a project where you had to analyze “as-is” data structures and “to-be” data requirements in order to create large volumes of information, multiple databases, or manipulate production data to create a new set of data for the purpose of development, testing, reporting, or training?

Back in 2000 I was working on a project that required my setup multiple development and testing environments and created a particular set of data for each environment. The company I worked for had a legislative requirement to use non-production data, this meant that we could not just copy a production database and alter the data for our needs.  We had to use an ancient test database that contained hundreds of thousands of records. It was my job to analyze the data requirements and design test data.  I had to find the various record types, start and end positions of the data that I wanted to alter, and copy and replace old values with new records, or generate unique values and update the data manually or run custom scripts.  Understanding the data requirements and creating a new set of data often took weeks for each project, phase, or minor software update.

Years later I was fortunate enough to work for a company that had developed their data masking software. I was immediately blown away with what this software could do. Not only could this data masking software easily change data from one value to another, but it could also create new data based on parameters that I specify.  For example, if I wanted a database with 100,000 records that contained realistic SSN/SIN numbers, salary ranges, first and last names, telephone numbers, and Country code, what would have taken me weeks to do in the past could now be completed in a few hours.

Now as a BA consultant, I am able to include data masking software in my BA toolkit.  This software allows me to offer Discovery, Subsetting, and Data Masking services to my clients purely on a consulting basis or in conjunction with a software license that is built to suit their needs.

Data Discovery and Classification can help an organization “discover” what data in their production or testing databases are sensitive.

Data Subsetting makes subsets of large databases.

Data Masking is where you change, anonymize and protect the data but preserve the characteristics of the real data.

If you find yourself responsible for analyzing and creating data, please consider using a data masking solution instead of doing it the old way.  It will save time, money, and will improve the quality of your data.

Visit to learn more about Data Masking software.

Posted in Business Analyst, Requirements, Software, Tools.

Tagged with , , , .