首页 软考

Timeboxing For Top Team Performance

软考 laoxu00123 浏览 1594

What''syourdefinitionofasuccessfulsoftwareproject?Howaboutthis:Asuccessfulsoftwareprojectdeliversaqualityproductontime,withinbudget.Timeisalwaysafactorinsoftwaredevelopment,anddevelopersarealwayscomplainingaboutit.“Theydidn''tgiveusenoughtime.”“Theydi

What's your definition of a successful software project? How about this:

A successful software project delivers a quality product on time, within budget.

Time is always a factor in software development, and developers are always complaining about it.

“They didn't give us enough time.”

“They didn't let us estimate; they just told us when it was due.”

“We had to skip most of the system testing in order to deliver on time.”

Timeboxing grabs that problem by the horns and wrestles it to the ground. (Forgive me -- I'm from Colorado!) We set an end time -- that is, a timebox -- and then adjust our scope so that we deliver what we can within the time allotted. This presumes that the schedule is the most important aspect of the project, and frequently it is. Now there are other aspects, including resources, development skill, scope and quality. Let's look at these aspects realistically, with an eye to managing them so that we look good!

The “Iron Triangle”

On a given project, resources are usually fixed; and unless you believe in the Mongolian Horde Approach (hire a hundred people and hope some of them are good) the best team is a small one. Once you've put that team together, you've established their capability, at least in the short run. Now you have three aspects to manage, as shown in Figure 1.

Schedule: The time when the software product is due.

Scope: The functions and features delivered in the software product.

Quality: The absence of defects in the product.

I call these three “The Iron Triangle” because they have an immutable relationship. For example:

1. If we increase the scope, the schedule must grow, or the quality must decline.

2. If we shorten the schedule, we must decrease the scope or deliver with more defects.

The best timeboxing strategy holds quality constant and reduces scope to meet a schedule. Reducing scope flies in the face of what I call “The World's Greatest Program” syndrome -- the tendency on the part of developers to put every great feature into the first release, even if it causes us to be late. (Roland Racko calls this creeping or galloping elegance.) The customer always wants those features; they just don't understand how much it will cost them. I'd like to acquaint you with the facts, so you can feel good about leaving some features out when you're approaching the end of your timebox.

The last features

Those latest and greatest features cost more than you expect, and here's why. Remember the 90:90 rule:

The first 90% of a system takes 90% of the time:

The last 10% takes the other 90% of the time!

That sounds like a joke, but Figure 2 shows why it's true. As we approach 100% complete, our progress slows down drastically. This is because we're making tough decisions in the face of uncertainty. Moreover, they're not very good decisions. We will probably have to make many of them over again, when we have more information. This last 10% also accounts for much of the arguing and fighting that goes on in a project. Timeboxing forces us to forgo these last features, but it also lets us avoid most of the conflict that goes with them.

Pareto's Law -- the old “80:20 rule” -- gives us another justification for procrastinating on those last features. In the systems world, it predicts that:

20% of the system will give us 80% of the payback.

Now, in reality, this 20% only applies to a particular set of users. If we have a diverse set of users, we will have to give each group a different 20%, but it's reasonable to expect that we can please the vast majority of our users with 80-90% of the features. Sooner or later, we're going to deliver those last features, but not right now!

The right features

Making Pareto's Law work for you may sound like magic, but there actually is a systematic way of finding out what features you should deliver first. Ask your customers to rank the features they want. You can do this most easily in a group meeting of customers and developers.

Write each feature on a Post-itò, put these on a whiteboard, and have the group rank them (1 is high, 10 is low.). Then ask your developers to estimate how difficult each feature will be to implement (1 is easy, 10 is hard) and multiply these two to give you a priority weight for each feature. On the whiteboard, build a matrix like the one I've shown in Figure 3. It will show you, the team and the customers which features you should implement first and which you might postpone. (Quality practitioners will recognize this process as a part of QFD or “Quality Function Deployment.”)

Incremental Releases

This whole process of managing features is the best way to stage incremental releases of a software product. Jim McCarthy, Program Manager for Microsoft C++ products, asserts that you can build customer confidence through a series of timely releases, which delivers a steady stream of new features. To do this, he says you have to get into a stable state, and be ready to ship at any time.

Here's a strategy for delivering that first release:

1. Define your features.

2. Prioritize them.

3. Define three subsets:

· Gotta have

· Should have

· Nice to have

3. Build the ‘gotta have' subset as a prototype. Define a timebox, start prototyping, and deliver what you have when you run out of time. (Since it's a prototype, you won't have trouble explaining why it looks incomplete.)

4. Use this early experience with the prototype to define timeboxes for your first incremental release.

5. Stay within your timeboxes, delivering the features you have ready, on time.

Maintaining Quality

If you're in a stable state, you have a much better chance of controlling quality. A couple of basic metrics will demonstrate stability and dramatically improve your ability to deliver a quality product as you reach the end of a timebox. You need Defects Discovered, and Defects Corrected for each time period (days or weeks.) Figure 4 is a graph of these two measures; you can also derive (and graph) other important measures such as Defects Remaining and Mean Time to Repair.

Who does this defect tracking and graphing? According to McCarthy, Microsoft has a ratio of one Quality Assurance (QA) person for every two developers on the team. This graph is a great way for QA to highlight the coordination between these two factions on your team.

You can timebox anything

So far, we've been talking about timeboxing for product delivery. As I began studying the literature on timeboxing (see sidebar) I realized that I had been doing a form of timeboxing for over a decade. Training companies frequently have a set format for their courses; for example, all of their courses may be four days long. To build a course, you start with an overall four-day timebox, and break that down into smaller timeboxes to fit within breaks and lunches. That realization led me to try timeboxing in our methodology experiments at CASELab. We put every activity into a one-to two-hour timebox and gave the participants an opportunity to expand the box “a little” but not more than 20%.

We found that you can timebox any development activity, from requirements definition, to system design, to paper prototyping your screens. You define a time interval, and work within it. When you run out of time, you stop, and move on. Of course, you have to be reasonable; you can't do ten days of coding in a two-day timebox; but you actually might able to build a prototype in three days. You won't know until you try.

Sto

责任编辑:laoxu00123|希赛教研中心

希赛教研中心拥有一支规模200余人的专职教研团队,深耕项目管理、软考、通信工程师、金融财会、厂商认证、考博英语等方向,形成“讲师+助教+班主任+智能学习平台”协同联动的完整教学服务体系:讲师讲透方法、助教盯住进度和答疑、班主任守住节奏、智能平台记录每一步成长——环环相扣,让学员的备考全程有人陪、有反馈、有结果。 师资力量雄厚。主要讲师毕业于 985/211 等知名高校,并拥有海外留学归国人才;职称梯队完善,高、中级职称讲师结构合理,讲师持有软考高级资格证书、PMI系列认证、CSPM高级项目管理培训师证、PeopleCert认证、DAMA认证、英语专八(TEM-8)、PETS-5、华为HCIE、经济师、一级建造师等行业权威资质,兼具深厚理论功底与丰富实战经验。 教研成果卓越。教研团队成员深度参与多项国家标准的研制工作,是 GB/T 47282-2026《项目重大节点评审规范》、GB/T 47285-2026《项目商业分析指南》、GB/T 30339-2026《项目和项目群后评价指南》、GB/T 46210-2025《项目成本管理指南》等国家标准的主要起草人,并担任《中国项目管理知识体系指南》总体编写专家组成员。团队累计主编出版专业图书与教材一百多种,覆盖软考、通信工程师、PMP、CSPM、NPDP等多个认证方向。 教学成效显著。 依托希赛自主研发的开放式智能互动学习平台,团队累计服务学员超百万人,帮助众多学员顺利通过软考、 PMP、CSPM、NPDP、华为认证、通信工程师、管理类联考、考博英语等考试,大批学员考入 985、211 等知名高校深造,以专业与口碑赢得学员和行业的广泛认可。

📅 本文最后更新于 2026-04-03

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
题库
章节练习
章节练习
章节专项突破
模拟考场
模拟考场
海量免费试题
历年真题
历年真题
真题实战演练
每日一练
每日一练
每天10题练习
习题练习
习题练习
核心知识点
机考模拟系统
机考模拟系统
在线模拟考场
高频错题
高频错题
错题突破集训
分享至