23 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: The Iron Triangle, or "Pick Two" | ||
|  | --- | ||
|  | # The Iron Triangle, or "Pick Two"
 | ||
|  | 
 | ||
|  | Software development is a series of tradeoffs between features implemented, the quality of the features, and how long it takes to produce. | ||
|  | But, no matter how much effort is put in, one cannot sustainably maximize all three of these without increasing the cost of the project. | ||
|  | For software development, often cost is directly related to the number of people assigned to and working on a project.  | ||
|  | This concept is often summed up as "Pick Two: Quality, Speed, Features".  | ||
|  | 
 | ||
|  | This relationship between quality, features, speed, and cost is illustrated by imagining a triangle with a fixed volume  | ||
|  | with the volume being quality.  | ||
|  | One can increase speed to implement and the features, but quality will suffer if cost is unchanged,  | ||
|  | keeping the volume of the triangle the same. | ||
|  | 
 | ||
|  | Frequently cost is assumed to be constant because in most cases the cost is fixed and there is no budget to add more people  | ||
|  | nor are there people available for transfer from other projects. | ||
|  |  | ||
|  | 
 | ||
|  | ---- | ||
|  | ## Sources:
 | ||
|  | * [The Broken Iron Triangle Anti-Pattern](http://www.ambysoft.com/essays/brokenTriangle.html) Classic essay by [Scott Ambler](https://en.wikipedia.org/wiki/Scott_Ambler) |