This chapter discusses software development processes, project planning, and effort estimation. It introduces several key concepts:
- Software development processes involve a series of steps and activities that produce intended outputs. Common process models include waterfall, iterative development, and agile methods.
- Project planning involves tracking progress, organizing personnel, and estimating effort and schedule. Tools like Gantt charts, histograms, and expenditure tracking can be used.
- Effort estimation methods include expert judgment, algorithmic techniques like COCOMO II, and machine learning approaches. Estimates should be refined repeatedly as uncertainty decreases over the project lifecycle.