December 16, 2020
Software development is twisted. No, it's worse than that. It's completely backward. As reported in an article by Forrester Research back in 2012, 70% of software projects fail outright. Then, in 2017, the Project Management Institute (PMI) released a report explaining that 14% of projects failed outright, but that didn't paint the whole picture. Of the remaining 87%, 21% didn't meet their business objectives, 23% went completely over budget and 29% were late being delivered. How can that be possible you ask?
To help put some light on the subject, consider this. Say you just scratched off a lottery ticket and that you've become the lucky 100 Million Dollar Lottery winner. Congratulations! You're done. Your family is done. No one ever has to work again. Everyone can start packing for the vacation of a lifetime because the word "work" is now just a term in the dictionary for you. After your six-month journey exploring the sites of the world, you return home and decide you want to build a 10,000 square foot custom home, the keyword being custom. You've spotted a nice 100-acre piece of land and you are ready to go. What would you do next? First, you would start making calls to find a residential architect. This is the person who isn't just going to architect your home, they are going to establish the look and feel of the home, prepare the construction takeoffs, create the documented floor-plans, develop the elevations, identify parts and materials, help select the general contractor and so much more, and all this before the first shovel hits the dirt. Guess what other industry follows this model of construction? That's right -- software development. But with software development, particularly for small businesses, the model is completely backward. It's upside down, like "Stranger Things" upside down, but worse. What happens in many cases (I would estimate 90% based on the calls we receive) is that when a small business decides they need to create a custom solution for their business, they will first contact two or three software shops in their local market, and after a few zoom calls and set of written requirements are written down in a word document, start a project. So let's assume you write a ten-page list of project goals, and each of the software firms provides you with a very rough estimate on how much it is going to cost to build the software. It's at that exact moment that you say "Yes, you're hired" that the project has a 70% chance of failure, and here are the three reasons why.
First, software development is hard. Actually, scratch that. Software development is crazy simple, but only when you have a complete Master Scope Document (MSD). People read too many articles like the one about the dad and son team who built a mobile game in a week and six months later made $100,000 with subscription sales. Did this really happen? It sure did... but what's not published are the stories about the 99,999 other people who tried to do the same thing and failed. Oh, and the dad in that project I just mentioned, you guessed it, was a software engineer.
Mike Tyon, the world-renowned boxer, once said "Everyone has a plan until they get punched in the face." We get that same "punched in the face" horror story call from small businesses every week. Whether you choose us or another firm, keep this takeaway in mind. If you went to hire a general contractor and asked him or her if they could build you a custom home, and they said "yes", and then you asked them if they needed floorplans to build the custom home and they said "no, we don't need floorplans", would you still hire them?
Another issue, as it relates to not have a master scope, is that most people assume that the highest bid is going to get you the best software solution, but that's an assumption, and it's wrong. Truth is, when three companies bid a project, the lowest bid might actually be the best quote, but you'll never know until you make the hiring decision, and even then you may never know. If everything goes as planned, great, but how often does that actually happen? According to the research, it's not more than 30%.
The second reason is what happens when you ask how much it's going to cost to build the software, and let me be clear. First, I get it. We all want to know the costs. When I'm buying a car or a new screen, or if I'm taking the family on a vacation, it's all about price, but software is different. With software, it's always custom, and that's why the question becomes so complicated. Every software project is unique, so there's no point of reference. After you've built a million cars, you can estimate how much it's going to cost to build the next million cars, but custom software is completely different. We've developed solutions for $10,000 and other solutions for over $3,000,000.
It begins when you contact a few software firms and ask them for a quote. You and the software firm might exchange an NDA before you tell them about your concept, but at some point, you'll have the big discovery call where everyone jumps into a Zoom meeting and you explain your idea. After you've spent some time detailing your project and your expected deliverables, you ask the world's worst question, "How much do you think this app will cost to build?", and there it is... the death blow, and here's why. What is the goal of the software development firm? In most cases, they want your project and they know cost is a variable. What do you want? In most cases, you want the best solution possible for the best price. So where's the problem? You've explained what you want. Maybe you've provided a five- or ten-page outline of the goals. The software company is capable. They've done similar projects in the past and believe they can complete the source code, but what's missing from this conversation is the single most important piece of information... the Master Scope Document (MSD). The Master Scope Document (MSD), also referred to as a project scope document or scope statement, is an all-encompassing document that contains the business requirements, user stories, functional business requirements, design schema, wireframes, algorithms, and a host of other details, that definitively identify the software to be built. What's ironic is that with every project we undertake, and once the (MSD) is complete, price, although a factor, becomes secondary to the overall project goals. Hosting, launch, marketing, and branding become the strategy because once the scope is complete, the launch is as good as done.
I'll let you in on a little secret that the vast majority of small businesses don't know. Big companies have the experience and already know what I just explained. They never touch a project without a complete scope document. Does Microsoft build its operating system without a project scope? Of course not. Do you think the city of Los Angeles builds its public works website and services content without a detailed project scope? Of course, they don't. That's why when Los Angeles Bizz develops solutions for public sector entities, they don't ask us how much it's going to cost. They ask us how we are going to define and complete the project scope, how long is it going to take, and how many programmers/resources will be available when development begins?
The third issue is budgeting. Let's say you have a project you want to develop and your budget is $10,000. The budget does not define the project scope... the project scope defines the budget. At Los Angeles Bizz, we already know that 68% of projects fail outright, and oftentimes, it's because small software companies, best intentions aside, try to build a customer a $100,000 application on a $10,000 budget -- and it never works.
Deliverables define what a project is going to cost, not budget. Software development, done correctly, follows a specific trajectory. Whether for mobile, web or any other type of technology interface, most projects (assuming budget is not the shortfall) fail due to a lack of communications, a clearly defined vision, and an inability to visualize the end solution before any coding work begins, which, coincidently, get resolved with a Master Scope Document (MSD). With this thought in mind, here's the correct order to follow when taking on any web, mobile, or software project. Whether your project is for a static website or a national biomedical research portal, all projects share the following path;
1) Define your overall project goals, including your scope budgeting
2) Create the project's (MSD). This includes the wireframes (low-, mid- or high-fidelity), business, programming, and functional requirements
3) Identify the sprinting schedule for development. Decide what gets built first, second, third, etc.
4) Code, code, and code
5) Test, test, and then test some more
6) Complete Quality Assurance (QA) and User Acceptance Testing (UAT)
7) Launch and repeat
The key takeaway is this. Whether you are a first-time start-up or a fifty-year-old company with 200 employees, never embark on any custom web, mobile, or custom software effort without a complete Master Scope Document (MSD).