Projects and products are different 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 that drive the selection of appropriate SCM patterns are:
- Internal versus external
- Deployment model
- Degree of parallel working involved
- Number of supported releases
There are plenty of good patterns to use and agile methods that emphasize continuous integration, regular builds and regular delivery of working systems that deliver value and can be very successful in either camp.