Developing for the business: 4 questions you must ask
As our daily jobs become more software-reliant, it’s more important than ever to have effective software in our businesses. Sometimes, however, it’s not obvious exactly what the most effective software looks like when beginning a new development project. In my opinion, the best software solutions reveal themselves through iteration and collaboration. It’s this Agile way of thinking around which Mendix built its platform.
‘Individuals and Interactions over Processes and Tools’
The Agile Manifesto
In an Agile development process, collaboration between the business users and the technical team is key. As Developers, we need to direct business users and help them uncover the most effective solution. As this is often unfamiliar territory, it’s nice to have a list of questions to help guide those initial discussions.
Here are a few questions that I ask business users so we can uncover the actual business problem we’re trying to solve with software.
1. What is the real problem (behind the task) that you are trying to solve?
Users can become so familiar with the current way of doing things that they lose sight of the actual end result of a process. Often, this obsession ties to a deliverable, like producing a report or a chart. However, by thinking about the uses for that chart, the conversation moves beyond the constraints of the current system.
For example, consider the following answers to the question, ‘What are you doing right now?’
‘I’m using Excel to sort invoices so that I can send reminder emails to clients who have not yet paid.’
‘I’m trying to make sure my company gets paid for all the work we do.’
One answer is tool-centric while the other is interaction-centric. If you focus the conversation around the existing process, a developer will build an application that follows a similar process. For example, that application could take a list of invoices, then sort those invoices by those accounts who have not paid, potentially generating a reminder email.
Alternatively, if you focus the conversation around the goal of producing the best solution for the business, you can potentially identify another (better) way to get paid.
2. What are the key elements you need to consider at each stage within the application?
When it comes to data, more is better, right? Well, it depends on whether it’s all necessary. And this subject always comes up during development. There is a tendency when developing in the Mendix platform to go overboard with the amount of data presented to the user. Once the business team sees how easy it is to add information, their excitement tends to get the best of them.
In my experience this only slows down the process and leads to an overwhelming user interface (like the image below).
1. More data is always better, right?
You can simplify the interface and save a lot of time by identifying important data points. If your business users can’t narrow their list independently, ask each person to track the data they actually use during their day-to-day tasks. From here, you can help explain why those elements are really the main data points worth showcasing.
2. Less data: faster workflow
3. Where in the current business process do you stop and wait?
Waiting is wasted time. But by developing a custom application, you can identify points where the application user will have to pause and then create shortcuts (for example, through workflow automation) that speed the process along. The more wait time you cut when building your software, the more effective it will be for the business.
4. Where in the current business process do you become frustrated?
By identifying the chief pain points in the current process, you can spend time alleviating those issues. For example:
If users dislike entering lots of data manually, you can consider automation capabilities. Maybe some things can be automated?
If users are frustrated with inconsistent or incomplete data, you can consider adding validation to clean it up.
Simple changes like the items listed above help improve day-to-day processes, and ultimately create a happier user experience. It’s worth getting these right to make the system as user friendly as possible.
These questions are just the starting point, of course, but if you start here you will be well on your way to building valuable, collaborative software. For more tips on working within an Agile framework, check out 5 Reasons why Agile Fails and How to Fix it and Embracing Agile Requirements Gathering.
Poor IT/Business collaboration generates a domino effect that starts with misalignment (both resources and expectations), which leads to dissatisfaction, and ultimately project failure. Read this eBook and learn 7 best practices that will improve how IT and the Business can work together