Understanding The SDLC And Why Its So Important To Your Small Business

July 20, 2020

There is a lot of vital information on the Internet about software and web development today, but there is also a lot of mis-information, and I should know. I receive at least one call a week from a small business who hired a company to build a solution, and one or two or six months later, they are no further to being done than they were when they started, not to mention the lost time and the thousands of dollars wasted. Why does this happen?  Because there are many software development companies and small businesses alike that do not fully understand the Software Development Life Cycle, and why it is so important.

There are three ways to build software for a business.  The first approach doesn’t apply to your business because it’s reserved for mid- and large-sized companies who have their own development team composed of project owners, software architects, programmers, project managers and a host of other support staff who spend every working hour building an improving a company’s software.  Examples of these types of companies include Apple, Microsoft, Twitter, and Yahoo.

Approach two is what we like to call “hire and hope”.  It is when a small business hires one or two programmers and just start coding.  With this approach, you are hoping everything your programmer tells you is correct, but in reality, you never know if the programmer understand what you really want, you don’t know if they can build it, you don’t know how long it’s going to take and you don’t know how much it’s going to cost.  Sounds great, right?

The third approach is to follow the Software Development Life Cycle, or SDLC.  This is the process of designing and creating a software or a web solution your business needs, then maintaining the solution after it is developed.  The SDLC exists for one simple reason — to mitigate development risk, identify time, establish what can or cannot be developed and lastly, identify actual project costs, and not just for you, but for the software company as well, because they can incur just as much risk in a project as your company.  

Following the SDLC involves designing, gathering all the business requirements, actually coding and developing the software, testing, implementation and support, maintaining the code and keeping up with the constant platform updates from Xcode, Java and ASP.NET resources, along with the continually evolving feature stack that accompany most projects.  The SDLC is a process.  It requires meetings (which today are done virtually) to identify each business case, user-stories, business requirements, algorithms, reporting needs and a host of other steps to develop a solution, as well as completing all the other cycle requirements to complete a project.

Too often, small business owners, by no fault of their own, believe that building a custom software or mobile application is the same or very similar to building a company website.  They are not.  A company website is static.  In other words, it is really nothing more than a well-designed interface, pictures, videos, content and maybe a few contact forms.  There are no “moving parts” or complex database.  Most websites we develop are done in a week or two, and with all of today’s modern platforms, some projects in just a few days, but that is not true for ‘custom web’, ‘software’ or ‘mobile apps’.  

For custom developed web, software and mobile solutions, the process is completely different, and let me get the biggest question out of the way right up front.  It is the first question we get on every call – how much and how long?  Our shortest development cycle on a project was three months.  This was for a small cross-platform mobile app for a retail business.  It required four weeks to complete the design phase, five weeks to write the code and three more weeks to complete testing, fix bugs, complete user acceptance and launch on the Amazon Web Services platform.  The longest life-cycle to date was five years.  This was for a large medical application system, and yes, five years is a long time, but the solution was very complex.  It required a development team of ten programmers, two project managers and two testers, and we used agile development tactics allowing us to build in short two to three week bursts.  We did that for five years and the project costs were in the millions.

As for costs, they vary widely.  Our least costly project was $10,000.  Our most complex project had development costs in the millions.

If your company is considering the custom development path, ask yourself these questions first.

Is there a cloud-subscription solution already available in the marketplace that will get you where you need to go?  There are tens of thousands of cloud-based solutions for lots of industries.  Will one of these suffice and support your needs or is your process so unique that you need a custom solution specifically developed for your company?

Are their Application Programming Interface (API’s) available that would allow you to cobble a solution together, or again, are your requirements so complex that a customized solution is required?

Are the cloud-based subscription solutions cost effective or is a custom solution the better choice?  In other words, which approach would likely cost more or less, in the long run, for your business?

If a cloud-based subscription solution will not work, do you have the time, the resources and the capital needed to build a custom solution, and will you need short-term third-party lending to bring the project to fruition?

To learn more, contact us at our Phoenix office at 623-845-2747

John Tomblin, CSM