it all starts with a good foundation
I have had the distinct pleasure of helping build a house as well as a software company. (ByDesign Technologies) I have found over the years that there are a lot of misconceptions regarding software and I thought I would use some illustrations to help clarify them.
Spec home vs. off the shelf software
A spec home and off the shelf software are very similar. In a spec home, you take it as is. It is move-in ready and there are not a lot of decisions to make. The same is true of off the shelf software. You download it and it works. It works the way the creator intended and you use it as is.
Custom home vs. Customized software Customized software is a very different from off the shelf. Whether you are modifying an off the shelf program or designing something from scratch, you must consider all the parts that must fit together to give you a full, satisfactory product.
Design- In both housing and software, you meet with an expert to put your ideas onto paper. An analyst (software) or an architect (house) to help you draft up a perfect situation. The analyst considers all the things you do not know. Where are the load bearing walls? What can be moved and what cannot? What things must stay? Are there ways to achieve your vision that are more realistic to your budget? Design is the most important phase of the project. It is here that you and your analyst work closely to avoid unnecessary changes. As you walk through the design portion, take into account that changes made in this process, though they might have a fee, will be much reduced compared to having to change something mid-project.
Cost– based on design, a contractor (house) or programmer (software) will give you an estimate of cost for your project. Based on your budget, you will either move forward with development or head back to design and go through the process again.
Permitting-Permitting for a house means that all your paperwork will be submitted to the governing group to get permission to do the job. In the software world, this happens a lot quicker and because it is typically the same agency, it is normally wrapped into the cost area. During this phase, the developer looks at everything and determines if things have been issued correctly or if anything major is missing.
Development/Construction– It is always exciting to see the slab get poured on a house and then the walls go up. The same is true in programming. The workers create your structure/software to meet the specifications that were detailed in your plan.
QA/Inspection– Just like a house undergoes inspections, software goes under QA. In a house, they check various things: wall strength, wiring, plumbing, and special items. QA (Quality Assurance) does this in the programming world. They meticulously walk through the code, testing to make sure everything is working correctly. If it is not, it is sent back to be worked on again. This causes delays just as it does in a building world. The programmers/builders must reschedule their work to accommodate the changes and get the work right. Their other projects go into jeopardy. They have to work extra hours to get it all in. No one likes to fail inspection or QA but it is better to fail at the inspection level/QA than once you have taken ownership.
UAT (User Acceptance Training)/Walkthrough– As you near the completion of your project, you are able to walk through the house or software. You are able to look at everything and see if it is where you thought it would be. Changes at this point can be costly. If it is a minor change that still falls within the initial design spec, it may be taken care of, but if it is a major adjustment, the wall is not where you thought it would be, then you must go back to phase 1 (design). Looking at the steps above, you can understand why you hope that there is nothing major at this point. All the work will have to be redone. The plans will have to be redrawn, the piece that requires modification must be torn down, construction/development redone, QA/inspections redone and UAT/walkthrough completed again. Changes at this phase are a cost and timeline killer.
Rollout to Production/ CO(Certificate of Occupancy)-Once your house or software is completed, you receive your CO or have your product rolled to production. Yay!!! You can now move in and start using your home/software.
Warranty period– different companies have different warranties. Check with your builder/provider to make sure you know and take advantage of this critical period of time.
Understanding the process when building or customizing software will help you be more efficient and productive and can relieve stress between you and your builder.