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?