be maintained along with the code.
There are still challenges in terms of finding the right level of automated test frameworks. Initial work focussed on unit test suites during development. More progress is being made in automating tests later on in the cycle - integration and acceptance tests, as well as unit tests. This can, of course, be particularly challenging for systems which have many external interfaces.
Projects and Products are different, and yet related beasts, and yet how important is the difference?. As Mary Poppendieck reminds us:
- Besides this direct value of thinking products instead of projects, the concept also reminds us that our customers are not really interested in software anyway. The software we deliver is a piece of a larger product that delivers value to the customer . We must always remain value-centric to the customer.
From an SCM viewpoint, the most important relevant distinctions which drive the selection of appropriate SCM patterns are:
- Internal vs external
- Deployment model
- Degree of parallel working involved
- Number of supported releases
There are plenty of good patterns to use, and agile methods which emphasize continuous integration, regular builds and regular delivery of working systems which deliver value and can be very successful in either camp.