Software Needs Discovery: The Five-Year-Old Theory
If you’ve ever had a conversation with a five-year-old, you’ve likely been caught in the “Why?” trap. It’s the adorable, tiresome, often annoying trait most of us associate with precocious young children, where each answer you provide only leads to another “Why?” or perhaps, to break things up a little bit, a “Why not?”
Like a child trying to learn more about the world around them, you’re going to have to channel that insistent energy if you want to want to conduct a proper Software Needs Discovery. The most successful information gathering comes from taking a childlike approach: ask “Why?” until you understand.
Before determining the functionality of your software, you should have a well-thought-out vision for the area of your company you plan to improve with the solution. If you haven’t, check out Part I to learn how to build your vision! It really is the most important place to start, so come back once you’ve established your vision.
As we move on to the second part of your software discovery process, you’ll conduct some company research and refine your vision. (Yes, you’ll be asking “Why?” a lot.) We’ll work through some of the best practices and specific methods for your next step: conducting a Software Needs Discovery.
This step is all about information gathering. That may sound self-explanatory, but knowing how to properly gather information will ensure you’re starting with an accurate baseline and set your software project up for success.
As part of this process, you’ll need to fine-tune your needs and your vision. As you work your way through your Software Needs Discovery, keep in mind that your vision isn’t set in stone. Your information gathering should help you alter and refine your vision to suit your company’s specific needs.
By utilizing feedback from trusted sources, observing current processes, and identifying time-sinks and bottlenecks, you’ll be able to clearly define those needs. It’s only after conducting your research and fine-tuning your company’s needs that you can begin to make progress towards your final vision.
Take Inventory and Develop a Baseline
As we mentioned in the first part of our Software Discovery Series, you should have developed your vision free of constraints and limitations. This allows you to develop the vision that you truly want. It may feel unfortunate to throw reality back into the equation now, but this is where we can begin to see where you are today and what your business is really capable of. It’s likely you would have thought smaller if you were encumbered by limitations during the first phase of this process.
Looking at your current reality will help you determine your baseline. An accurate baseline is such an important aspect of this process because it will become your benchmark to measure your software’s success and to know if you’re making progress towards your vision.
Start with understanding what you have. You’ll want to take inventory of all your resources. These can be people, vendors, or physical resources.
For people: think about who is currently working for you. What are they good at? What are they capable of doing and what role are they currently in? It’s possible that you have employees with talents that aren’t being fully utilized.
For partners and vendors: Perhaps you have a tech partner that is providing you with one service, but is capable of providing a lot more. See what your partners and vendors offer aside from what you’re currently utilizing them for.
For physical resources: Are there any major considerations you should take into account? For example, you may currently only operate with two machines. Even if part of your plan involves purchasing a third machine, it’s important to take stock of where you’re currently at. This allows you to take all current constraints into consideration and helps you determine the most accurate baseline.
With both your employees and partners, you’ll want to see what skills and talents they possess. You want to make sure that you’re maximizing their potential. It’s possible that you have physical resources that are being underutilized as well, but this oversight is most commonly an issue with people and vendors. All of this will help give you a better picture of what your resources currently are, and help you dig up any resources you’ve had available, but failed to realize.
Just as important, identifying your constraints will help guide your vision and how you can go about achieving it. As you better define your vision for how things will run in the future, taking inventory will help you identify areas where you may need to add capacity, skills, or resources. Are you noticing any gaps in employees or partners, for example? Just like taking inventory can help you realize you’ll need that third machine, it can help you realize you’re understaffed, lacking employees with necessary skillsets, or using a vendor that doesn’t really fit your business’ needs.
Gathering Information by Interviewing and Observing
Which area of your company are you focusing on improving? This is where you will study how things are currently running. You’ll want to interview and observe the people who know this area and its processes best. It’s important, however, to do more than take a few notes. To really conduct an effective Software Needs Discovery, you’ll need to actively observe and listen to the best people working in this area.
Another thing to keep in mind as you interview employees is which hindrances are real pain points, and which were simply memorable. Things that are particularly painful or stressful tend to stick in people’s minds, even if they aren’t frequent areas of concern. Active listening requires asking questions, learning how processes are done, and observing those processes. Sort through the information you gather from employees and distinguish which areas should play a part in refining your vision, and which are less important or infrequent.
When interviewing employees, it’s vital for you to encourage open and honest conversation, which can be difficult when asking people questions about how they do their jobs. First and foremost, you should share with them the problem or opportunity you are trying to solve. Explain that this isn’t an observation to criticize their work, but to see if there is a better way of doing things. Make it clear that your goal is to look for ways to make both the company more efficient and their jobs easier. You may want to warn them about just how many times you’ll be asking “Why?” as well. It may feel like it, but it’s really not a ploy to annoy your employees.
Remember, however: you don’t want to share your entire vision just yet. (You’ve put a lot of thought into this, so I know you’re excited to share. We’ll get there though, I promise!) The goal of interviewing is to understand the way things are actually working right now. Explaining the entirety of your vision may cause biases, whether intentional or not, and you want to avoid anything that might cloud the answers you get from employees during this stage of your software discovery process.
Ask how things are currently being done, but also observe them being done. Have employees show you the current processes and observe them for a reasonable amount of time. You may observe things which they leave out of their answers, or vice versa. You’ll feel like you’re asking a lot of questions during your observation (see questions below). If you’re asking the right questions and following them up repeatedly with “Why?” and “Why not?” you should have a good understanding of the way things work by the time you’re done.
Key Questions to Ask While Interviewing
Either during or after this observation process, ask the following key questions.
- What challenges do you encounter most often?
- How often are there exceptions to the plan or usual way of doing things?
- What causes these exceptions?
- What have we tried in the past?
- What has worked well or partially well?
- What has not worked well?
- If anything were possible, what would your ideal process look like?
As you work through these questions, be sure to follow each one up with “Why?” and “Why not?” Continue to follow up with “Why?” and “Why not?” until you have a thorough understanding of how things work. You want to know why something has worked in the past or why it hasn’t worked. A key thing to look out for is anything redundant or unnecessary. You want to understand which processes truly are important and which ones are still in place simply because they’ve been the standard for longer then anyone can remember.
You may be surprised at how many practices are in place for no good reason at all.
Identifying Time-Sinks and Bottlenecks
Now that you’ve interviewed your most reliable and knowledgeable people, and have an inventory of possible resources and hindrances, dig further into where things actually slow down or have the potential to slow down. Together, you should be able to identify any bottlenecks and time-sinks in your company.
For example, imagine you have a five-step process you’re trying to speed up. You can have the perfect software to remedy any faults with step one, but if your bottleneck is at step three, it won’t do you much good.
Think about which processes you discovered that felt repetitive or unnecessary. Work together to decide if these should have a place in new processes (and, if so, why they should.) If they don’t, these are time-sinks, and you should both keep a record of them as a current fault and keep them out of any new processes.
Refining Your Vision
Now that you’ve taken inventory, interviewed, and identified your bottlenecks, it’s finally time to share your vision for the company’s success! Once you’ve shared your vision with your trusted sources and the people who will be most affected by new software or processes, it’s time for a few more questions. You’ll want to get their perspective. Ask if they have additional ideas to consider, how they see the company reaching the goals outlined in your vision, and if there are any other obstacles or resources they imagine could hurt or help.
This is where you start to work on refining your vision. While taking inventory, you may have realized that certain resources weren’t taken into account when you initially outlined your vision. After interviewing employees and observing current processes, you may find that it needs adjusting. Maybe your trusted sources provided valuable input that you hadn’t considered.
Remember when I said your vision wasn’t set in stone? Think of it more like clay: easily adaptable and malleable to change when new information arises. You want it to truly fit your business and align with your goals for the future.
Following this process, you should have an updated, more precise vision. You should have a better idea of the processes your business is currently using, which will help you as you work on bringing it to fruition. Most importantly, you should be excited to make it happen.
See, sometimes the most basic, instinctual method is the best one!
Read Part III: Writing and Prioritizing Your Requirements