Thursday 28 June 2007

Infamous TCQ Triangle

Almost all project managers would be able to tell us about the TCQ triangle is... Time Quality & Cost. All good projects need to be delivered in the best of quality but with little cost & time?! How many projects would have followed that suit? - not many in Software world. This is the most important link as to why we need software methodologies! yes how in earth the project managers would know how much their project would cost and when the project will be delivered and how qualitative the product will be? Any programme head would want to be in the 'B' area from a time & cost perspective, but in C for quality (ref pic above). yes their wish is to spend appropriate time and cost but for the best quality.

This triangle has changed to a 5 factor traingle (Ref. below). This is a hybrid of the TQC but in different words!To address the key project management questions, people came up with estimation standards; to some PMs, it is second nature. Out of experience they can do it in minds! Anyway these are the factors that ideally any methodology should address i.e. the rudimentary stuff: If i use a methodology to develop software, could the method help me identify time, cost and quality elements?

Good old SSAD had a concept of function points; This method was firstly proposed by Albrecht and Gaffney. In this method , the size of a system can be computed by three components which are information processing size (Unadjusted Function Points-UFP) and Technical complexity adjustment factors and Function Points. But world has moved on...We are in OOAD world where UML has many different way of estimation. Use case points were first described by Gustav Karner. Then on its closely guarded by Rational Software A good article on use case based estimation could be viewed here.

The question that floats around: How many projects use one of the estimation processes? it need not be end-2-end academic, at least a basic estimation could be initiated with some science underneath... I have spoken to a lot of project managers, who always come back with a cynical answer... Then how one could expect the project to be successfully delivered?

Have you ever thought about Hardware components failing? How come you motherboard always functions correctly? How come the hardware underneath very rarely crashes and even if it does, its 99% because of the software malfunctioning? whats the TQC model for Chipset manufacturing? How do they always deliver to the 'T'. So why then Software Projects face a lot of failure? Can we not deliver at least 80% of a project in time, cost & good quality?

So how do the so-called agile software methods answer these issue? that's next week...

No comments: