Process Model
Posted by sirajq on March 11, 2008
A Process Model guides the order of project activities and represents the life cycle of a project. Historically, some process models are static and others do not allow checkpoints. Two such process models are the waterfall models and the spiral model.
Waterfall Model:
This model uses the milestone as transition and assessment points. When using the waterfall model, you need to complete each set of tasks in one phase before moving on to the next phase. The waterfall model works best for the project in which the project requirements are clearly defined and are not liable to modification in the future. Waterfall model allow us to monitor schedule easily and assign clear responsibilities and accountability because it has fixed transition points between phases.
Spiral Model:
The model is based on the continual need to refine the requriements and estimates for a project. The spiral model is effective when used for rapid application development of very small project. Customer is also involved in all stages by providing feedback and approval, so it helps to improve communication between development team and the customer. It does not incorporate any clear checkpoints. Consequently, the development process might become chaotic.
MSF Process Model:
MSF Process Model is phase-based, milestone driven and iterative model that can be applied to developing and deploying traditional application, ecommerce and web distributed application.
It combines the best principles of the waterfall and spiral models. It combines the waterfall model ’s milestone-based planning and resulting predictability with the spiral model ’s benefits of feedback and creativity.
Agile Process Model:
Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project.
There are many agile development methods; most minimize risk by developing software in short amounts of time. Software developed during one unit of time is referred to as an iteration, which may last from one to four weeks. Each iteration is an entire software project: including planning, requirements analysis, design, coding, testing, and documentation. An iteration may not add enough functionality to warrant releasing the product to market but the goal is to have an available release (without bugs) at the end of each iteration. At the end of each iteration, the team re-evaluates project priorities.
Agile methods emphasize face-to-face communication over written documents. Most agile teams are located in a single open office sometimes referred to as a bullpen. At a minimum, this includes programmers and their “customers” (customers define the product; they may be product managers, business analysts, or the clients). The office may include testers, interaction designers, technical writers, and managers.
Agile methods also emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods. This has resulted in criticism of agile methods as being undisciplined.