You know the drill. Some ridiculously high percentage of software projects go over budget… And you’ve heard stories to back it up. Or worse, you have your own tales of being hung upside down by your ankles while the developers shake you down for every last cent. Yet, here you are. You’ve got a problem and it seems the only solution is custom software. You’re doomed, right? You might as well get ready to grin and bear it as you’re no doubt about to head down a path of endless pain and misery. How did it ever come to this?
It doesn’t have to be this way!
I know… suspend disbelief for just a minute. It’s going to take a lot of planning, coordination and hard work, but a well-executed software project can stay on budget AND deliver you a solution that satisfies your objectives in an effective and lasting way. Here’s how we’ll help you do it:
Initial Sales Meetings and Preliminary Requirements Gathering
We start every engagement with an open mind. It’s important to fully understand all of the issues and goals before committing to any particular solution or technology. Our initial meetings are designed to learn about your business and the issues you face. What are the specific problems you are trying to solve and what are your goals? Essentially, we start by helping you to define what success looks like for your project. With that understanding our team will draft preliminary recommendations and deliver those with ballpark estimates. At this point, we still won’t have all of the knowledge required to solve your problems, but we definitely have enough to determine if we are in the same ballpark… that is, determine whether or not we should continue before you spend any money. If we are, the next steps will be to propose a formal Requirements Analysis process.
Requirements Analysis (RA) Phase
In this phase you’ll formally define what we are going to build. We’ll schedule a number of meetings (preferably face-to-face) where our staff will spend time with your team to define the nitty-gritty details of the project. We’ll ask questions… I mean A LOT of questions. We‘ll gain an understanding of your workflows, your staff, your business cycles, etc. so that we can clearly identify all of your needs. With this deep understanding, we’ll produce several outputs that will help you effectively solve your issues within a predictable budget:
- Business Requirements Document (BRD) – This is a comprehensive, plain-English, easy to understand definition of what you’re asking us to build. It can be read and understood by anyone on the project team, regardless of technical ability. The BRD is the cornerstone of the project and plays a fundamental role in sending you down a path where a predictable outcome and budget is possible.
- Screen Mockups/Wireframes – These will provide a roughed-out visual representation of the system. They will help you to gain a better understanding of how the system will look, flow and feel.
- Flowcharts – These are a visual representation of the workflow and business rules for the more complicated sections of the system. They will help to further iron out the finer details of the project and identify “holes” early on.
- Fixed fee for implementation – Once we know exactly “what” we’re building, we can very accurately predict how long it will take and how much it will cost. That allows us to provide you with a fixed fee proposal for implementation.
In addition to these outputs, we will provide you with guidance on infrastructure needs, licensing for 3rd party components, and requirements for any 3rd party vendors, plus details on what your team will need to do to keep everything on track and make the project a success. Getting all of these issues on the table early and working together on a plan for dealing with them is the most important step towards a path that allows for a predictable budget.
The outputs from RA are yours to keep and are designed in such a way that any development shop with the appropriate technical abilities could implement them for you. We certainly hope that you’ll choose to continue working with us, but at this point you are free and clear to move on if that’s what ‘s best for your organization. And the best part… you’ve likely gotten here in less than 20% of your overall project budget.
Once you agree to our fixed-fee proposal we’ll begin to implement your solution. As far as the agreed upon scope is concerned, you won’t have anything to worry about in terms of budget. We’ll produce the agreed upon output for thee agreed upon fee. However, there may still be other costs that need to be managed.
Out of Scope (OOS)
We’ll continue to spend a lot of time with you during the implementation phase. In particular, we’ll have regularly scheduled demos and walkthroughs that will allow you to see, feel and tweak the system throughout the process. Minor adjustments to layout, appearance, terminology, etc. are expected and this is taken into account within your fixed fee. However, you will inevitably identify additional opportunities for enhancements/changes that were not thought of during the RA phase. Many of these items will be relegated to a future phase, but some may represent such a benefit to your solution that you choose to implement them now. We’ll tap our vast project experience to help you classify the items and advise on how to best fit in those “must haves” with minimal impact to your timeline and budget.
Third Party Vendors
Very often you’ll have additional vendors that play roles in your solutions (i.e. your IT staff, your hosting company, the firm that supports the application you have asked us to integrate with, etc.). This can create pressure on timelines and that can have an impact on your true costs (even if just by requiring additional time investment by your staff). We’re very experienced in dealing with these situations and will advise you on how to get commitments from these parties and hold them accountable to meeting them.
Once your software is complete, you need to get your users to use it. This involves training, planning cut-overs, etc. and these things can definitely impact your true costs for the project. Having deployed hundreds of systems into organizations of all sizes under a wide array of circumstances, we’re able to advise you on a roll-out strategy that will help this all happen predictably (and on budget).
Quality Assurance (QA)
Your project has been in QA since the RA phase. Our QA team is tasked with reviewing and approving your Business Requirements before implementation can begin. Then, the QA process continues through implementation with Code Reviews and internal screen reviews. Finally, the resulting software is put through a rigorous final QA pass that verifies all of your business rules and may include load tests, security scans, etc. How does this impact the budget? It’s all included in the fixed fee, but the value goes beyond that. By ensuring a quality product goes out the door, we’re really enabling you to predict the long-term operating costs of the solution. That will keep you “on-budget” for the long haul.
Depending on your specific situation, there’s a very good chance you’ll need or desire some level of support from our staff post-go-live. With a full-time help desk and available 24x7x365 support solutions, we are equipped to provide you with a long-term support arrangement that meets your budget and business needs.
Once everything is done, we still need to launch your software before you can start using it. Delays of any kind will likely impact your total costs (i.e. think costs associated with preparing your staff for a launch that doesn’t happen, then doing it all over again a week later). Our development process takes a structured approach to this as well. With thorough checklists in hand, our staff will be able to launch your software on schedule and will be less likely to run into last second “surprises”.
Our development process has been defined and tuned over the past 15 years through the experiences gained in thousands of engagements. Our comprehensive approach, combined with the vast experience of our staff, allows us to identify and address hurdles early on and helps to eliminate the big “surprises” that plague so many software projects. This allows predictability… And predictability saves budgets.