CS 435 - Week 3 Lecture 2 - 2014-02-06
* focusing more on Extreme Programming
as an example of an "Agile" software development process model
* idea: of combinations of practices that,
taken together, result in (hopefully)
more robust, higher quality, cost-effective software;
* THE LISTS of PRACTICES um, vary...
the NUMBER of practices in these lists vary...
FOR EXAMPLE...
* frequent releases/small releases
* system metaphor/common vocabulary
* coding standards
* testing/test-driven development/test-first development
* unit testing/programmer testing - writing the
tests before you write the code
* acceptance testing/customer testing
* pair programming
* refactoring
* collective code ownership
* simple design/YAGNI/You Aren't Going to Need It
* do the simplest thing that could possibly work
* 40-hour work week/sustainable pace
* user stories
* planning game/release planning
* on-site customer/"extreme" customer involvement
* continuous integration
* CRC cards - (for object-oriented programming)
Class, Responsibilities, and Collaboration
* stand-up meetings
* spike solutions