CIS 2250 Lecture Notes - Lecture 6: Subroutine, Unit Testing, Pair Programming
Document Summary
A software development methodology is a set of rules, practices and processes that are used to create a software system. Requirements: emphasis on planning, scheduling, tight control over every stage using extensive documentation and formal reviews. Each cycle consists of the identification of stockholders, their win conditions, review and commitment. Agile methodologies attempt to compromise between little or no process and emphasis on process (heavyweight software development). Agile methods are adaptive rather than predictive. Agile methods are people-oriented rather than process oriented. Individuals and interactions over processes and tools. Responding to change over following a plan. Customer satisfaction by rapid delivery of useful software. Welcome changing requirements, even late in development. Working software is delivered frequently (weeks rather than months) Working program is the principle measure of progress. Sustainable developments, able to maintain a constant pace. Close, daily co-operation between business people and developers. Face-to-face conversation is the best form of communication (co-location).