Learn how to evaluate the right business application for your organization. Review a real-world application development example including helpful processes and tools that increase efficiency.
In the article "The Pros and Cons of Custom Software Development," we outlined the difference between commercial off-the-shelf (COTS) packaged solutions and custom application development. For the average business owner, this decision of purchasing COTS software or building a custom application from scratch is a daunting one.
So, how do you determine which option is best for your business?
The answer lies in outlining a complete picture of what your business requires from the software. There are some key steps you can take to determine your specific needs and how to negotiate the various stages of implementing them.
The Right Product Developed for the Right Market: Design Thinking
Design thinking, as the name implies, is rooted in the world of architects and other artistic practitioners. Design in these conventional arenas is applied to concrete outputs.
Using the mindset and tools of a designer provides a paradigm shift as to how products, services, processes, and strategy come into being. According to IDEO, the Stanford-affiliated organization at the inception of this modern movement, design thinking “brings together what is desirable from a human point of view with what is technologically feasible and economically viable. It also allows people who aren't trained as designers to use creative tools to address a vast range of challenges.”
It is more than what most application development firms consider “design.” It does not put aesthetics (e.g., Does it look pretty?) or code (e.g., Is the database well-structured using best practices?) at the center of development. Instead, the design absorbs the culture of a team so that there is a type of thinking that is applied to develop innovative, compelling, human-centered products.
Although tech has a part in creating a viable product, the importance here is the tangible perspectives and end-user behaviors that fundamentally drive how a product is created.
The process of design thinking moves fluidly from five predominant areas that ensure the human perspective is at the center of the development cycle with various perspectives constantly in mind. The following diagram summarizes the process:
- Empathize: Learn about your audience
- Define: Construct point of view based on user needs
- Ideate: Brainstorm and come up with creative solutions
- Prototype: Build a representation of your ideas
- Test: Test your ideas
When seeking an application development partner where innovation and high user adoption is critical, partnering with a firm that tangibly lives and breathes design thinking may make the difference between arriving at a solution that techs are proud of versus a product that delights a customer.
Get Real: The BPI
Perform a Business Process Improvement (BPI) Assessment. Identify where you lack efficiencies, where you may be losing money, and anything that is currently keeping you from growing the value of your business. Map out each business process, and determine how long each step takes (also known as a Value Stream Map).
- Identify process gaps.
- Identify the lengthiest tasks, and determine if a new workflow or a technical solution can provide a significant reduction in time.
- Identify the most frustrating operations for both employees and customers.
If you can’t manufacture any more products during a single day, think about how you can get more dollars out of what you do make. It requires that all “business champions” in your organization (accounting, operations, sales, etc.) be thoroughly interviewed to answer the questions of “How do we do it today?” and “How can we do it better?”
BPI is the opportunity to:
- Redesign business processes
- Change accounting and reporting structure
- Streamline activities
- Introduce new capabilities
- Revamp an outdated environment and excite employees about the new opportunities
Ultimately, the result of the BPI should be a plan to use a new process or application to rid yourself of the burden of manual administrative tasks. This process should identify ways to become more productive.
For instance, if you have an organization or department of 50 people and they make an average salary of $50,000 per year, that’s $2.5 million. If a new process or application allows you to remove ten percent of the time it takes them to do administrative tasks, you are saving $250,000 a year in wasted administrative time costs.
Staff will no longer need to spend this much time devoted to those tasks because the software solution you have implemented helped you with those things. More employee productivity generates dollars, which helps your company grow and thus increase its value should you ever decide to sell it.
Create Functional Requirements and an RFP
Combine your wishlist, goals, and philosophies to create a Request for Proposal (RFP) to find a technology partner that will help you implement the right solution for your business.
Ideally, your technology partner will be someone who understands your industry very well. The RFP should also contain a detailed list of functional requirements (what the application must be able to do) and the output of the BPI engagement.
Question what kind of support your partner will offer after they have delivered the custom application, as you will want someone to help you maintain and modify it. We like to say that the RFP is like a “dating profile” for those looking for the ideal “marriage” with a development company. It’s a way to emphasize the importance of an optimal ongoing relationship.
Take time to vet the technical security controls of any application you purchase or have developed. When vetting either commercial off-the-shelf (COTS) vendors or custom application development firms, ask detailed questions about their approach to securing your critical information.
One incident of a security breach can do irreparable harm to your business, especially if it is subject to laws such as HIPAA. Ask for a copy of the organization’s Information Security Policy Manual. It is far better to know you are protected than to simply hope you are protected because a firm has an industry reputation.
Many companies make the mistake of thinking that their new software solution is going to build and maintain itself magically, but that’s not reality.
Therefore, you need to consider involving your entire team (or a large portion of it) to determine and define the requirements for the application and what it is going to do for you. This inclusion process is the tech equivalent of training and investing time and money in an employee.
Get your team on board to develop and grow the application requirements because they’re the ones who will be using it on a daily basis. If you don’t embrace this process and put it to work, there’s no point in having one.
Now that you have the application, make sure everyone is integrating it into their daily workflow.
Behind-the-Scenes Example: The MXOtech Process
It’s hard to grasp what a good partnership should look like when you’ve never gone through the process before. When MXOtech engages in a new project with a client for custom application development, we have specific processes, methodologies, and tools we use to ensure we have ongoing, collaborative communication.
In the following section, we outline exactly how we do it and highly recommend any consultant you work with has a similar process.
As stated above, before entering into a partnership, be sure to ask them to describe how they stay on time and on budget.
The MXOtech project engagement process:
- Identify the client stakeholder team representatives
- Identify your lead stakeholder rep as the person with decision-making capability
- Conduct onsite interviews at project launch (1 business day)
- Iterative sign-off with biweekly live demos (sprint review) with the entire stakeholder team
- Open email/phone communications
- Access active and current project board
- Active task and bug input, management, tracking for both client and MXOtech through the Cloud-Based MXOtech Service Desk
- Conduct account management review/meeting at the end of MVP1 and MVP2
- Default to the mutually signed SOW in the event of any discrepancies
Client-Development Project Management/Collaboration
MXOtech primarily uses a specific implementation of Agile project management called Scrum. Scrum is the most popular implementation of Agile and is used worldwide.
Project Management Methodology Overview: Scrum
The Scrum project management methodology is highly collaborative and intensely focused on what is valuable to the customer. It also uses iterative development in timeboxed periods called sprints, which allows the customer to inspect working software early and often.
Task progress for the sprint is tracked daily. As the team moves the work from “not done” to “in progress” to “completed,” the progress is reflected in a tracking mechanism called a burndown chart.
The first day of the sprint is at point (0,0) on this chart, and each day of the sprint is the next point on the x-axis. The y-axis is a measurement of work remaining.
The chart should show the work remaining, decreasing to zero as the team approaches the last day of the sprint. Effective teams use this to visually see if a team is stuck, performing as expected, or has encountered unknowns.
At the end of each sprint, the team will perform a client demonstration and present the newly developed piece of functionality. This step gives the client the ability to inspect this functionality and make necessary changes as they see fit.
The development team will deploy the software to an environment that the client has access to so that they can test it directly to ensure they understand what was developed and ensure it meets their needs. Any client feedback or requests for updates and changes are turned into stories, added to the backlog, and prioritized.
Code Management Tools
MXOtech uses Visual Studio Team Services and GitHub for code repository.
Project Management System: TargetProcess
MXOtech uses TargetProcess as a robust, enterprise-level agile project management tool.
This cloud-based tool allows both the project team and the client to have access to all project artifacts such as the project task board, product backlog, sprint backlog, and burn-down charts.
This collaboration allows for maximum transparency and enables the customer to see what work is complete and how the project work is facing.
We value project management tools as a way of being clear and communicative to clients.
Ticketing System: Service Desk
MXOtech provides a Ticketing Portal as a management tool so our clients can create, edit, and track any project tasks or issues/bugs. It is simple to use and improves efficiency by minimizing data input with its robust features.
Below is a sample of a ticket in MXOtech’s dedicated Service Desk from a client perspective.
Again, this helps clients see the progress of the project.
Custom application development projects have a much better chance of succeeding (on-time, on-budget, and fulfilling expectations) when clients are routinely involved with the project and project team.
It’s a collaborative process and only successful when the business requirements marry the technical requirements, allowing both teams to join forces.
Design Process, Reviews, and Revisions
The user experience for web applications is essential to ensuring the success of the application.
For example, MXOtech uses a tool called Balsamiq for developing wireframes for the user interface for custom web applications. A wire-frame is essentially a sketch of the proposed application – it shows where fields, labels, text, buttons, and graphics will be located. This tool enables the client to see a visual and react to provide timely feedback before the actual development of the application.
The iterative planning, development, and inspection cycle allow the customer to make as many small changes as are required as long as it is in scope. A revision that is outside of the scope may result in a change order.
If the same development effort and resources are required, then MXOtech allows for functionality to be "swapped out." We do our best to provide maximum flexibility within the bounds of a fair and equitable relationship.
Find the Right Software Application Type for Your Business
You can’t run a successful business without the right applications to support it. Whatever line-of-business application you choose – custom or commercial off-the-shelf – your new software should allow you to repurpose your staff to eliminate inefficient or unneeded administrative tasks.
Interested in learning more about how MXOtech can help you through this process? Contact us at 312-554-5699, or visit us online at https://www.mxotech.com/business-process-improvement.
About the Authors
Joanna Sobran is the President and CEO of MXOtech. Joanna has both unique and vast experience in the IT industry. For more than a decade, she has focused on delivering a high-level customer experience with innovation. She has created a niche for MXO by approaching each client’s business individually, with creative technology solutions crafted specifically to address their issues. Whether it’s through using better technology solutions, improving operations, or education, Joanna treasures her clients and truly cares about their success
Sean Blair is the Chief Technology Officer of MXOtech. He has a broad base of experience that includes 16 years of delivering projects and products for health care companies. Sean also has experience delivering customized application development and system integration solutions in both the energy and utility, and manufacturing and distribution, space. His focus at MXOtech is ensuring that the clients receive the technological solutions that best fit their needs. Sean has a passion for technology and is constantly pushing the envelope to ensure MXOtech can offer the very best for our clients.