The most critical portion of any software development is the design phase. However, this importance does not seem to prevent the process from being underfunded or mostly overlooked by most organizations. However, no software product will ever be able to be developed in such a manner that it can overcome the inherent limitations of a margnal design. Total Immersion Software takes great pride on its software design processes and has continously found that the effort and resources spent on the design phase have paid off with a substantial reduction in overall development costs and project change orders.
As a standard practice, Total Immersion Software divides any significant software development project into several phases.
The first phase is a proper distillation of the strategic requirements of the program which is
explained here.
The second phase is the module design phase where the business needs are converted into program functionality. At this time the client will be able to verify that the program fulfills the business logic requirements and will deliver the defined requirements.
The third phase takes these module specifications and converts them into functions, classes and any other prototypes required by the language and application.
Finally, the prototypes are filled in with actual code as the development process begins, which is
described in detail here.