The development process usually starts with an idea. That idea could lead to a new product or a new service. It could also be an extension or a new version of an existing product or service. A goal is defined. That is a verification point. The goal defines what the product or service should look like. Often a marketing investigation is done to aid in this process. That is the analysis phase - a feasibility study to be exact. This is a process, a movement. The following questions are investigated:
- Does it already exist? Who are the potential competitors? What do they offer?
- Does the market need or want my idea - How badly?
- Why would my idea be a success - Why wouldn’t it?
- Who are the potential customers - How many?
After this questioning process, it is decided whether or not to move on with the product development. This again is a verification point. When it’s decided to move on the idea is worked out into more detail. This detailing usually starts at a high abstraction level. This is the first realization phase - this again is a process. At the end of this phase a preliminary design at a high abstraction level is ready. This is another verification point - a status.
The worked out idea is tested. Is it according to expectations? Is it in accordance with the conclusions of the feasibility study? Is it still as smart as you thought it was? This is the first testing phase. This is a process. At the end of the testing phase the test results are evaluated. Maybe the goal has to be adjusted; maybe the idea has to be thrown overboard altogether. Again this is a verification point, a status, a decision point. At a verification point it will be decided how to move on.
When the goal is adjusted a new cycle follows. There is the analysis of how the product should be adjusted. The modifications are realized and the result is compared to the goal and requirements. This is done as long as it takes to make the people involved confident that the product can be made into a success.
So: the development process can be described as a triangle (see the image below).
For each phase (for each process) men (or women), means and methods are available. These are not processes and are therefore they are not represented by arrows. They are the resources of the process. The process is initiated and executed from within.
When the preliminary design has finished an analysis of how the design can be worked out in more detail is initiated. This analysis phase is followed by realization in more detail. Of course this process can be executed in several steps. The product or service has to be tested again. Defects that are found will be analyzed and improved in the next draft. The quality is improved.
So: quality is an integral part of the development process.
At this point new functionality will be added to the design. When the improvements and new functionality are implemented the product or service is tested again. Every time at the top of the triangle the results are reported and the product or service and the development process are compared to the goal that was set. At the end of the development process there is the Acceptance Test. The Acceptance Test is the final test before the product is released, if the product is OK that is. If Q, T and C are accepted.
So: the development process is a continuous process.
During the analysis phase, in the beginning of the development process, the product specifications are written. Most companies do that. The specifications have to be tested and improved continuously. Changes to the specifications that are implmented have to be tested. This can be time consuming, but the specs have to be up to date. The specifications are the testers’ main reference.
After the development process has ended the remaining findings are transferred to the quality department. This is usually a helpdesk that has to solve the problems of customers. The problems are analyzed, they are solved by an adjustment or fix (realization), and sometimes the problem is transferred to the development department for implementation of the fixes in a new release. The solutions have to be tested. The development triangle stays active. There is no end to it.
At each verification point of the triangle a report has to be made. This could be a written report or this could be done orally. It can be the report of the analysis, realization or testing. It can be a (functional) design, a test plan, a report of findings or a meeting about these topics.
An important precondition for proper functioning of processes that are described in the triangle is that there is a good balance between the three pillars of the triangle. As a rule one third of the time, cost and attention has to be spent on analysis, one-third on realization and one third on testing. The same for the triangle Men-Means-Methods.
Quality-Time-Cost is the heart of the development process; this triangle can be called the triangle of Effectiveness. At each verification point choices have to be made, based on Quality-Time-Cost. Too little time could lead to poor quality, which can prove very costly later on.
Effectiveness**= Efficiency (time&cost) + Quality**