Planning and accuracy is essential for woodworking but even more so for custom developed software. A mistake when woodworking might equate to the loss of a $4.00 trim board. That same mistake in custom software development could turn out to be $15,000 of poorly designed software.
Our experience has shown us that there are five critical components of solution design with custom software design.
Technical Solution Vs Business Solution
Frequently there is a perfect technical solution and a separate perfect business solution, but they are not always compatible. One common example would be the granularity of time logging.
Let’s think about the daily role of an auto mechanic. From the business perspective, you would like to know how long it took him to change the brakes, the oil and the wiper blades.
The real-world reality is that he gets greasy hands and you want him to limit the number of times he has to wash his hands to touch the tablet.
The solution would be to log the total time and then ask the technician how long he spent on each task. He can be aided in this by being shown how much his estimation adds up to and then the total time it actually took.
While you don’t need perfect estimations, it could give you an idea that the brakes were heavily rusted and took two hours, while the oil change and wiper blades took only 15 minutes combined.
Good software design will find the balance between accuracy (in this case of time logging) and practical usability for the technician.
Identifying Future Needs of a Software Solution
Most software companies will design their solutions around the current requirements of the business, At Lexul we will take the time to consider how the company may grow or expand. We even consider how the client could serve additional markets or use the software differently.
In a client app we developed, the client requested a customer contact email designed to be used by the technician to contact the client. If the technician needed to contact the customer while working in the field, he would use the data in this field (an email).
We suggested a generic contact field which could also be a phone number. The customer soon realized that a phone number was proving much more effective contact method for the technician than an email address. Since the software did not strictly validate an email address, the customer was able to make that change without developer input.
This is a very simple example but shows how future proofing software is deeply embedded into the workflow. Good design can make a critical difference in the life span of the software.
Lexul will consider future capabilities and explore different ways of completing the same process in a product that is the right fit for your business.
Understanding Implied Functionality
It’s important to understand the use of the software when determining the scope of the features. One prime example is looking at the features and capabilities that the business expects from a solution that solves a specific problem.
If you want to collect data in the field, then these days it’s rare not to have cell coverage available but there will be a time when there isn’t. What would happen then?
When we design solutions, we assume there is no data coverage so that field submissions always have an offline fall back enabling the technician to submit data later.
Without this functionality the data could have been lost or fail to send at all. The lost data is the worst case which we have seen from many pieces of software where the technician isn’t alerted of the failed submission. When we design software for use in the field, we will ensure that the software will work to some extent offline because it’s inevitable it will be required at some stage.
Literal software development will provide exactly what you ask for without the developer investing the time to consider the needs of the business. Lexul looks for the features and capabilities that you would expect from a solution solving your specific problem.
Leveraging Knowledge of Key Personnel
Custom software gives businesses a great opportunity to leverage the knowledge and competitive edge of the company. By building that into your custom application, your business can remain resilient even in the absence of a key employee.
Intuitive software also makes on-boarding new employees easier. And by having these key workflows, you can ensure that skilled staff aren’t devoted to repetitive mundane tasks.
Solution Design with the Implementation Method in Mind
Software is not easy to implement, a factor that is very often overlooked when custom software is being considered. The right solution can mitigate this problem.
Consider the challenge of migrating or inputting new data as well as training existing staff to use new software. This must be achieved while the business operates as normal during the changeover.
If the solution is designed around how this will be implemented, this transition can be much more manageable. The right software design company will consider these factors and aid the customer in making this transition.