From W. Humphrey, _Managing the Software Process_, Addison-Wesley, 1989: * _The software process is the set of tools, methods, and practices used to produce a software product._ (p. 3) * _An important first step in addressing software problems is to treat the entire software task as a process that can be controlled, measured, and improved_ (p. 4) ---- Resources include: * The journal _Software Process -- Improvement and Practice_ by John Wiley. See http://www.interscience.wiley.com/jpages/1077-4866/ * _Software Process: A roadmap_ by Alfonso Fuggetta -- http://www.softwaresystems.org/process.html. He defines *software process* as * _the coherent set of policies, organizational structures, technologies, procedures and artifacts that are needed to conceive, develop, deploy, an maintain a software product_. ---- The field of _Software Process Improvement_ is concerned with systematic ways of improving an organization's software process. The Capability Maturity Model from SEI uses five process _maturity levels_ for this: _initial_, _repeatable_, _defined_, _managed_, and _optimizing_. See also * http://www.sei.cmu.edu/cmm/ * http://www2.umassd.edu/SWPI/sei/tr25f/tr25.html ---- SPICE provides a framework for the assessment of software processes. It can be used by organizations involved in planning, managing, monitoring, controlling, and improving the acquisition, supply, development, operation, evolution and support of software. It distinguishes software _process assessment_ (which examines the process), _capability determination_ (which identifies capabilities and risks of the process), and _process improvement_, which identifies changes to the software process. See also * http://www-sqi.cit.gu.edu.au/spice/ * http://www.isospice.com/spice2002/ ---- PracticalSoftwareMaintenance covers software process models for SoftwareMaintenance. The IEEE maintenance process covers 7 steps: Problem classification, analysis, design, implementation, system test, acceptance test, and delivery. The ISO/IEC model contains 6 steps: * process implementation, * modification request analysis, * modification request implementation, * maintenance review and acceptance, * migration, * software retirement PracticalSoftwareMaintenance treats this model as the recommmended software maintenance process. ---- Processes can be described by means of process modeling languages, aimed at supporting process understanding, process design, training and education, and simulation and optimization. An example modeling method is SDM: the [[http://www.c5.cl/ieinvestiga/actas/ribie2000/charlas/alessi.htm][System Dynamics Modeling]] approach. See, e.g., Boehms work on software process dynamics at http://www-rcf.usc.edu/~madachy/spd/ ---- CategorySoftwareEvolution | Contributions by ArieVanDeursen.