Custom Software Development – Solving the Multi-Dimensional Business Problem

Solving multi-dimensional business problems utilizing custom software as the development choice

When it comes to choosing software for your small business enterprise, you have two choices. You’ll either purchase off-the-shelf software (products such as Microsoft Office, Access, Peachtree and Intuit), or you’ll develop a custom solution. For many small businesses, the IT and business divisions often find themselves at odds with one another in trying to decide whether off-the-shelf or custom is a better choice. The IT division may fully understand the importance of creating custom software, but the business division may dismiss any options of a custom solution when an off-the-shelf solution will solve most, but not all the problems. This causes a conundrum. The IT division may have the perfect vision in maximizing ROI, but without knowing actual costs, the business division often wins the debate in the short term, but the company losses far more long term.

The S-Curve

Studying the S-curve of long-term feasibility is sometimes the best first step for project owners and stakeholders. An S-Curve is a graph depicting, over time, the output of a software project. Smaller application projects and many e-Commerce applications do not require an S-Curve. In fact, there any even some multi-year projects that do not require an S-Curve, but for projects that do, the S-Curve’s X axis is typically described as “Growth”, “Rate of Production”, “Burn Rate”, while the Y-axis is most often referring to “Time”.

Another variable in developing custom software involves the Software Development Life Cycle or SDLC.

Software Development Life Cycle (SDLC)

SDLC follows the precepts of planning, analysis, design, and implementation. How the SDLC is managed is a topic of great debate. There are many paths, and many of them work well, but what works for one project may not work for another. That’s why there are so many development models to choose from, but regardless of the model chosen, there’s one point that everyone agrees on, and that’s the importance of development monitoring.

Development monitoring achieves two goals. First, it allows the development team to monitor the completion, or “Growth Rate” of development, as well as when the project is falling behind schedule. Second, it tracks the development progress of milestones in units of time. If the project goal is to complete six sprints in six months, and the first sprint takes three months to complete, then you know there’s a much bigger problem needing attention.

Developing custom software is a journey…not a destination

Whether upgrading an existing custom application or looking to create a new application or mobile app, never forget that custom software is rarely ever “done”. Microsoft’s most current software release (Windows 10 (Anniversary update), is currently in its 14th iteration, and Apple’s MacOS is in its 16th. Even most company websites are rebuilt every 3-5 years. As a consequence, implementing a custom software solution for your enterprise isn’t a one-is-done proposition. There must be enough demand and ROI built into the business case to justify the journey.