Blog on Dan North & Associates Limited 10月02日
敏捷开发中的误区与对策
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

敏捷开发团队与客户在初期合作时,常陷入将初步调查结果固化为固定范围的陷阱。这种做法忽视了项目目标与风险的重要性,导致后期调整困难。正确做法是聚焦项目成果而非功能列表,通过动态调整实现高效交付。文中通过两个案例说明,灵活应对变化能显著提升项目成功率,关键在于团队与客户对目标的共识。

💡 项目初期的主要目标是建立协作共识与明确项目目标、时间表及风险,而非生成详细发布计划。发布计划只是过程中的细节,过度依赖会扭曲项目焦点。

📊 敏捷项目应关注成果而非功能交付,将成功定义为问题解决而非列表完成。当需求变化时,优先调整功能以匹配核心目标,而非僵守原计划。

🔄 案例显示,灵活调整(如案例一减量30%功能仍达目标)比死守计划更优。客户更重视实际成果,动态协商能以更低成本实现目标。

⚙️ 案例二通过非代码方案(手动重启)快速解决生产问题,证明成果导向能避免紧急交付压力,为根因修复腾出空间。

🎯 “范围”一词易混淆功能与成果,项目需同时具备清晰目标(方向)与可执行任务(路径),二者缺一不可。无目标易陷入执行细节,无任务则无法推进。

I’ve been having difficulty recently with a trend I’m seeing on projects. What happens is this: we (an agile development team) engage with a client for a short period—typically 2-4 weeks—to investigate how we might work with them to solve their problem. During this period, we drive out lots of stories, do some technical investigation and estimation, and out of this we generate a high level release plan. All very good, you might think. But then, unfortunately, everything is mysteriously forgotten about except the release plan, which suddenly grows horns and fangs and becomes a Fixed-Price Fixed-Scope Big Up-Front Project Plan. Well ok, it’s not quite that dramatic, but it certainly doesn’t feel very agile to me. Hopefully I can explain why.

To my mind, there are two primary objectives of this initial phase. Firstly, we get to know each other and think about how we want to work together. Secondly, we create a shared understanding of the project’s objectives, timescales and risk profile. Coming out of this process, everyone should have the same sense of “bigness” of the project, in terms of both size and complexity. The release plan is just a detail in the process.

An agile project—in fact any project—should focus on a set of outcomes. How we get there is less important than actually getting there. A CIO or business sponsor wants to solve a specific problem, by a specific date, and has an idea of how much money they are prepared to spend achieving that. By driving out a comprehensive list of stories, estimating them, and then rolling it all up into a Big Release Plan, you run the risk of focusing attention on the features (stories) and defining Success as the delivery of all these stories. This is exacerbated when the release plan is shown to people who weren’t part of the original exercise. They see the release plan and naturally assume that it is the primary “output” of the process.

In the manner of the Agile Manifesto, whilst there is value in delivering a list of features, I value achieving the outcomes of the project higher. This feels complementary to the other four agile manifesto values.

Two recent examples. On one project it became apparent that we were unlikely to meet a particular hard deadline given the current story backlog. The team worked with the client to find a way that they could still meet the project’s outcomes and deadline, by dropping or deferring around a third of the features. The client was delighted! The message was simple: I can meet your outcomes with only two thirds of the effort (i.e. cost) of the previous plan. Who wouldn’t want that? That conversation would have been dramatically different if the client had been wedded to the feature list as the definition of success of the project. Luckily he had the insight to remain focused on the overall objectives of his project, and they hit the date.

Another project had a stability issue in production. The (very critical) application would fail mysteriously every couple of days. They needed a solution now because they were losing business as well as being in danger of getting in regulatory trouble. The project manager simply asked the operations guys to manually restart the application every night as a standard operating procedure. At a stroke the initial problem was solved—the outcome was met—without a single line of code being written. Now the team could focus on solving the root cause, without being under pressure to produce a rush job.

“Scope” is a dangerous word, since it can be used to mean either features or outcomes, but never both. Does “cutting scope” really mean failing to meet objectives? Or were those features not really core after all? A project has to have a goal, otherwise you can’t know when you’re done. Without a goal, you will tend to define “done” in terms of execution of the story list. Similarly, it has to have a feature list, or you don’t know what you’re going to do to get there. So it is just as big a risk to have no clearly defined outcome (i.e. no vision or purpose for a project) as defining a fine-grained feature list up front. Next time you engage on a new project, make sure the entire team—and especially the sponsor—has a clearly articulated outcome for the project. And make sure you regularly review your direction to ensure you are still working towards those outcomes.

Check out

Goalwards®

, our new business agility practice!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

敏捷开发 项目管理 项目目标 敏捷误区 案例研究
相关文章