Saturday, February 15, 2014

Important Triangles In Technology

I have come across the following triangles that are important in technology and project management. Numerous authors [1] have used triangles to connect three important points or concepts. One of the three reasons for picking only 3 things is that humans can focus on only 3 things simultaneously. It is important to note that there is a bit of a trade-off among the three corners of the triangle.


  • Project Management Triangle or Iron Triangle (PMBOK)
  • Agile Iron Triangle
  • Agile Triangle  (Jim Highsmith)
  • Performance Triangle

Project Management Triangle (Iron Triangle)


Also known as the Iron Triangle. This is the typical project management style, where what needs to be delivered is fixed (scope), and when it can be delivered is determined by the resources we have at our disposal (cost).





  • Scope (Requirements)
  • Cost (Resources)
  • Schedule (Project Duration)

Agile Iron Triangle


When individuals/organizations start using agile methodologies, they think this is the Agile Triangle: where schedule (iteration/sprint duration) is fixed and based on available resources (cost), we pick what can be delivered (scope).



  • Schedule (Iteration/Sprint Duration)
  • Cost (Resources)
  • Scope (Features/Stories)

Agile Triangle


I call this True Agile Triangle to distinguish it from Agile Iron Triangle. As Jim Highsmith explains in [2], agility is all about delivering high-quality customer/business value within given constraints (scope, cost, schedule).





  • Value (Releasable product delivering value to customer) 
  • Quality (Reliable and Adaptable)
  • Constraints (Scope, Cost, Schedule)


Performance Triangle


When designing and developing high-performance systems, we have to consider trade-offs among performance (speed), reliability (availability), and security (protection). This applies to low-latency High Frequency Trading systems [3], truly secure applications [4], real-time systems, and typical enterprise applications.




  • Performance (Speed)
  • Reliability (Accessibility/Availability)
  • Security (Protect, Prevent Damage)



References

1.  The Triangles of Management and Leadership by Paul B. Thornton, 2003
2. Agile Project Management by Jim Highsmith, 2010
3. A Practical Guide to Designing Racetracks, Presentation by Jacob Loveless at Big Data in Finance 2014
4. Considering the Performance Triangle by John Mueller, Blog


1 comment:

  1. It's interesting that many of the bloggers to helped clarify a few things for me as well as giving.Most of ideas can be nice content.The people to give them a good shake to get your point and across the command.
    software testing course in chennai

    ReplyDelete