Optimize Business Consulting has over 20 years of experience creating custom software for business needs. We pride ourselves on being able to bridge the gab between business users and technology. With certifications in three different ERPs, we understand your accountant, controller and CFO. With the business background, we understand you your CEO, owner or president. With years of technical experience, we are able to communicate business requirements to developers efficiently, ensuring smooth execution of the project.
Every company uses software to run their business. For small companies with relatively standard business processes, off-the-shelf software is often the most economical approach. If the off-the-shelf software doesn't do everything a company needs, it may be most practical to throw manual labor to fill-in the gaps, as long as the volume is not very high. As companies grow in the volume of business and sophistication, manual labor becomes more and more costly and uncontrollable, user errors increase in frequency, as do overall risks to the business. At some points, management needs to decide whether to upgrade to another, more advances product that's readily available, or develop custom software fine-tuned to the needs of the business.
You may consider developing custom software if:
What to watch out for if you are considering custom software development:
Start by defining the requirements on high level. This could be as simple as bullet list of wishes. Then expand each bullet point into a paragraph describing how you envision it.
Create what is called "User Stories". A user story is simply a description of how a user interacts with the application. It could go something like this: "User self registration. User accesses the Register link on the web site, enters the desired user name and password and their email. An email is sent to the address provided with a confirmation link. Clicking the link in the confirmation email completes the registration and activates the account." Create a user story for each function in the application.
Use project management software to keep track of the development progress. The development team will typically provide that software, and you should have access to it. It keeps track of development and testing tasks, and provides an easy way to check the status at a glance. One of the popular choices is Jira.
Start small. Try to limit the scope to simple requirements that still provide business benefits. This will let you test the waters without committing to large expenditures.
As you see your custom solution take shape, add more features as and when needed. This allows you to spread your expenses over longer period of time. It may not be always possible, but incremental approach is preferable whenever possible.
Do not reinvent the wheel. It rarely makes sense to custom develop a cure business function, such as accounting. There are lots of existing options there, and you should use one of these, and let your custom software integrate with it.
Here are some examples.
Name | Description |
---|---|
School Bus Billing | A school bus transportation company needed to automate their billing process. In the beginning of the school year, they negotiate the contracts with the department of education, including how much they are going to get paid for regular trips, how much for extended days, and how much for overtime. The trips information is provided by the city in Excel format. The schools, routes, and rates are maintained in the application. Based on the trips information, the application calculates the appropriate charges and generates invoices in specified format. |
Package Management |
This customer in construction business needed a mobile solution to manage their warehouse better. All their inventory is linked to projects. When received, it already has a project number and name associated with it, physically attached to the pallet. They move the whole pallet and place it in a bin in their warehouse. The job, and all items associated with it then may be moved multiple times, between different bins in the warehouse, to and from trucks, can be consumed partially on job site, and can be brought back to warehouse, fully or partially. The physical movement of the pallets in the warehouse needed to be reflected in Sage 300 inventory in real-time, and it just wasn't happening, because people operating forklifts in the warehouse were not the same people who were working in Sage. Inventory management was in disarray. A custom warehouse management solution was created for this client that runs on iPads that are mounted on forklifts. As workers move inventory around the warehouse, they update it in real-time using the iPads. As the solution grew, more and more functionality got added to it, including custom processes for loading and unloading trucks, verifying project inventory, etc. It grew from a simple inventory transfer tool to a mission critical part of their business. |
Container Tracking | The company is based in US and orders a lot of materials from China. US uses Sage 300 as the ERP system, while China doesn't have Sage. To exchange orders information, people in US and China used Excel files, but it was a lot of manual work to populate those Excel file, update them, and then manually enter orders into Sage. The custom solution still relied on Excel files, but now they were locked down so only certain cells could be modified. The process of generating the Excel files and importing them into Sage 300 was also automated, to avoid any manual entry. Some screens in Sage were customized to provide additional functionality, such as checking the shipping status of containers. |