Constraints in the forms of Triangles, Squares …
Life is full of constraints. It seems like you can never simply "have your cake and eat it".
In Product Development, we have the following Project Triangle:
- Good - quality of the delivered product
- Fast – time taken to deliver the product
- Cheap – cost of designing/ developing/ delivering the final product
In System Development, the Project Management Triangle follows:
- Scope – the set of functionality for the system or the work to be performed
- Schedule – time taken to complete the project
- Cost – cost of implementing/ delivering the final system
A variant in System Development, a Project Management Triangle (more like a Square) follows:
- Scope – the set of functionality for the system
- Schedule – time taken to complete the project
- Cost – cost of implementing/ delivering the final system
- Performance – the ability of the system to take load and be responsive
For distributed systems using shared data among nodes, a similar triangle – known as CAP theorem or Brewer’s Conjecture – exists. The three constraints are:
- Consistency – all distributed nodes are in-sync and consistent and “sees” the same data
- Availability – every client’s request will receive a response, whether successful or not
- Partition tolerance – system continues to operate despite
- arbitrary messages between nodes dropping or arriving late; or
- nodes becoming unavailable (due to crashes)
Comments