Every software augmentation project demands that you take a close look at the way your business operates. To choose the right features, you’ll need a thorough understanding of how your employees do their work, what is working now, and what is causing hang-ups and frustrations. Every step in the process, every possible contingency, every piece of data—it all has to be accounted for in the new system.

And on top of that, you have to decide which features will make your current processes more efficient, more productive, or more profitable.

This can be a lengthy process, but when it’s done well it will vastly improve your chances of a successful project implementation.

The first step in taking on that challenge is to look at your business objectives. No matter how intriguing a new feature is, it’s not worth the investment if it doesn’t support your business objectives.

The second step is to map out your current processes so you can separate features into categories:
* Must haves—These are the mission critical items. Without them, your business can’t function.
* Should haves—These features will improve current processes so they function more efficiently or make your business more profitable.
* Nice-to-haves—These are the features that won’t have any impact on your business objectives and probably aren’t worth any additional cost, but they would be used if included.
* Will not use—These are, of course, items that simply won’t be used, maybe because they aren’t relevant to your business model or because you already have the functionality elsewhere.

The third step is to review and refine your feature list by involving as many other stakeholders, users, and test groups as possible.

Steps two and three involve intense effort, and it’s not enough to hold a meeting or two and call it done. Insufficient requirements gathering and feature evaluation are common reasons projects exceed budget requirements or timelines.

So how do you make sure it doesn’t happen to you?

Let’s take a closer look at how to identify and evaluate the features your software should include:

Step One: Define Business Objectives

This is a high-level strategy step designed to document what you want to accomplish, how you will do it, and how you will know if you have been successful. Follow the SMART methodology to develop objectives/goals that are Specific, Measurable, Actionable, Relevant, and Time-Based.

This is also the time to decide which metrics you will use to measure your success. Are you looking for higher user adoption rates? Increased customer traffic? Improved employee satisfaction? Budget compliance?

Define these objectives and success metrics before the project launch so you’ll have an accurate yardstick for gauging progress.

Step Two: Map Out Current Processes

Knowing what you currently do gives you a baseline for deciding what features the new software should have. But brainstorming with the project manager isn’t enough. Every user has a unique perspective on what he or she needs the software to do. While you can’t feasibly interview every user, you can include as many representative users and stakeholders as possible.

Here’s how to collect the information you need:

Map Information Sources

How much content/data needs to be migrated to the new system? This may include electronic records, databases, spreadsheets, paper records, digital recordings, physical artifacts, sensor data, and more. End users usually have most detailed knowledge about information sources, so include them in this step. As an added bonus, if you involve end users in the planning process, they will be more likely to adopt the final solution.

Document Current Processes

Record the who, what, when, where, how, and why of each process. Look for ways data is collected, created, stored, accessed, modified, and used in decision-making.

Look for Improvement Potential

Review all the standard operating procedures you identified in the documentation process and ask how they add value. Are they essential? Are they redundant? Could they be streamlined to reduce workload or duplication? Ask end users how their work could be made easier, faster, or more profitable.

Prioritize Business Needs

Now it’s time to separate your feature requirements into the categories listed above. Which features are critical to your core business activities and which ones can be placed on the back burner?

Step Three: Review and Refine

So far we have looked at big picture ways to identify the features you need. But how exactly do you ferret out every essential step in the process?

Surveys

As an informal tool, surveys give you a good starting point for gathering information from large groups of users. You can also use them to solicit feedback from employees in scattered locations. The drawback of surveys is that you can’t ask employees to elaborate on their answers; what you see is what you get.

Group Interviews

Small groups of two to four people from the same role can develop a richer set of requirements by interacting with one another. Keep the group focused with plenty of “why” questions and a predetermined agenda. And remember that the problems users point out may actually be symptoms that you need to dig deeper into.

One-on-One Interviews

Sit down with representative stakeholders and users in a one-on-one setting, especially those who know the company and its processes well. Don’t restrict your questions to that person’s role, however; team members often have excellent insights about how to improve processes in other parts of the company that interact with theirs. Ask open-ended questions to draw out the best responses.

Dialogue Mapping

Dialogue mapping encourages collective thinking and input by tracking ideas visually in a diagram. It’s a great way to collect ideas from a group so that everyone’s contributions are heard and considered.

Shadowing

People often do things by habit and may have a difficult time enumerating every step in the process. Watching them perform their job helps you understand the entire picture from start to finish, including any ways a particular role intersects with other processes or departments.

Eye Tracking

Eye-tracking software lets you see what users are doing and, more importantly, looking at as they use software. This gives you concrete data about how your existing systems are being used, so you can highlight what works well and fix what’s causing trouble.

Use Cases/User Stories

Use cases are stories that document a particular process from a user perspective. They are helpful in encouraging users to describe the ways they work, but they often have to be refined to identify the specific features and functions being utilized.

Prototyping

Once you have your preliminary set of requirements, you can build a prototype solution and then get feedback from users and stakeholders. Prototyping happens late in the development process and may not be effective for every project. Still, it is a good way to help users visualize what the software will look like and how it will function. That’s often an excellent way to get more specific feedback from them.

One final note on this process: Remember that no feature evaluation process is 100% foolproof. You will always miss things or misunderstand user intent. There will be misunderstandings or faulty interpretations. Documentations will have errors.

So what to do in these cases?

Keep talking to end users. Keep talking to stakeholders. Get feedback before, during, and after the feature evaluation process. Go over your interview notes with other decision makers.

And then wait for feedback. As development progresses, get input from users on how the solution could be better. Run everything through your business objectives filter and continue to ask questions. The great thing about software is that you can iterate, even after launch. So get right all that you possibly can up front, and then keep making the software better over its life cycle.

When you’ve done this process well, you’ll not only have a finished software product that meets (and even exceeds) your expectations, but you’ll also have a team that feels invested in the project and ready to adopt the new software.