Sep 26 2007

CTR and Project management

Published by xiaoming at 8:36 am under Tech

Eight weeks ago, I joined ThoughtWorks as a Business Analysis. Now, I am writing this post to talk about some ideas of Agile project management what the best practice of Agile project management could be in my opinion.

The most interesting topic of Agile software development practice is project controlling. It is fairly difficult to see how the controlling works compared with traditional software project management. Talking about project control, which includes schedule, cost control change and risk management. In most of the cases, a cost controller(or PM) is responsible for make the cost control strategy align with the schedule control methodology. So, how to do cost control in Agile project?

Let’s talk about the schedule in Agile project first. It relies on the control of iteration schedule, velocity, time box for spike and etc. The duration of an iteration that matches estimation will be considered as how long an iteration was supposed to be done. Plus time box strategy. But we do not see how resource, time and cost related to each other. So how could a project is managed without considering of these three key factors and the relationship of these three key factors?

Actually, there is a methodology called CTR which can solve out the problem in practice. It is fairly easy to understand the theory but really need much practice to make it work well during the whole project life circle . In other word, it requires many “Go-Bys” to improve the system. How does CTR work in Agile project? Let’s have a look how CTR works in traditional project management.

CTR stands for Cost-Time-Resource. One item of CTR comes from the experience of many projects and practice of the industry. The definition of a standard CTR is that to complete one standard workload-man-hour how much cost-time-resource it requires. The system collect average CTR across projects then get an average value of it. Also CTR need to be maintain up-to-date.

Let’s have a close look at why we need CTR and how CTR works on an Agile project.

When we estimate the duration of an iteration, instead, we can estimate the CTR of an iteration, even of a release. For example, a standard CTR means one standard cost+ one standard time+ one standard resource. An iteration might need 20 CTR in order to complete it. So for Tom and Jerry pair, they are supposed to complete 10 CTR and Joey and Ross are supposed to complete the other 10. Tom and Jerry can contribute 2 standard resource+1 standard time+ 1 standard cost. 2*1/1=2. It is 2 CTR for Tom and Jerry to work one pair hour. Ross and Joey pair can contribute 4 standard resource + 1 standard time + 2 standard cost. 3*1/2=1.5. So it is 1.5 CTR for Joey and Ross to work one pair hour. The reason is that Ross is a senior and can contribute more, at the same time, he costs more. So there are options here, we need use more high value/cost resource if it is not against resource development.

OK, as I said the standard CTR comes from previous project experiences and industry practice. So it really require lots of project experience in order to have a more valuable CTR. Fortunately, some companies have been working in this business for more than 10 years. The standard CTR can be calculated into a reasonable value. So the workload of each iteration can be trade off as amount of CTR, we can call it IterationCTR. What a project manager/iteration manager or project controller need do is to make sure the amount of CTR that they spend does not beyond IterationCTR, so that the budget is under control. It means that project manager need put right resource on the right job, especially those senior people.

 

Certainly, a project manage not only control the CTR, there are lots of other mission need him and the team to complete. About project schedule and cost control, there are still two things that we can do to guarantee the project is in good shape.One is change management and the other is risk management.

How to do change and risk management, I will talk later. Meanwhile, some other topic about Agile project management will come out sooner or later. They are

  • Project manager and Project manage team.
  • Remote project management
  • How to manage customer
  • How can BA play a more important role in Agile project

Bookmark on del.icio.us

Trackback URI | Comments RSS

Leave a Reply

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License.