Skip to main content

Software process models and effort estimation

Short answer

Software process models include waterfall (sequential, inflexible), prototyping (user feedback, extra cost), spiral (risk-driven, complex), and incremental (early delivery, needs planning). Effort is estimated via COCOMO or iteration-based methods.

The essential components of software development interact in different ways in different process models which helps to plan the development of a project and estimate the effort for it. Describe different types of software models used in Software Development platform. Also mention the merits and demerits of each model.

A software process (life-cycle) model describes the order of development activities (requirements, design, coding, testing, maintenance) and shows how they interact, helping planning and effort estimation. The main models:

1. Waterfall (classical) model

Phases proceed sequentially: requirements, design, implementation, testing, deployment, maintenance, each completed before the next.

 Requirements -> Design -> Code -> Test -> Maintain
  • Merits: simple, easy to manage, clear milestones and documentation; suits well-understood projects. Effort is easy to estimate.
  • Demerits: no working software until late; hard to accommodate changes; errors in early phases are found late; high risk for unclear requirements.

2. Prototyping model

A working prototype is built quickly and refined with user feedback until requirements are right; then the final product is built.

  • Merits: reduces requirement errors, high user involvement, early demonstration.
  • Demerits: extra cost and time; prototype may be mistaken for the product; poor documentation; scope creep.

3. Spiral model

Iterative loops, each with objective setting, risk analysis, development/testing and planning.

  • Merits: risk-driven, flexible to change, suitable for large critical projects, early feedback.
  • Demerits: needs risk expertise; costly; complex management; not for small projects.

4. Incremental / iterative model

The product is built and delivered in increments, each adding functionality.

  • Merits: early partial delivery, easier testing, lower risk. Demerits: needs good planning and architecture; integration problems.

Effort estimation

Effort depends on the model: waterfall effort is estimated from the total size (e.g. COCOMO: Effort = a·(KLOC)^b person-months) with phase-wise distribution. In iterative/spiral models, the effort is estimated per iteration/increment and revised after each loop using the experience. Prototyping adds the effort of prototype building and revision cycles. For embedded and instrumentation projects, the hardware and software effort are estimated together.

✓ Answer checked by Claude Sonnet 5.5

All Instrumentation II chapter 9 questions →