三言两语话敏捷(1) - 反馈

简介:

最近很多人都在体验VS2010,我忙着很多事,没有去体验。但我了解到其中一点,VS2010为敏捷开发提供了更多的支持。以前我所认为的敏捷开发,只有在理想公司,理想团队才可能开展,现在微软通过IDE,将敏捷的思想进行大范围的普及,让敏捷更加的深入人心。

敏捷宣言中只有简短的几句话,但是能真正做到不是那么容易。

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

Practices of an Agile Developer一书中,对敏捷开发做了一个精辟的概括:

敏捷开发就是在一个高度协作的环境中,不断地使用反馈进行自我调整和完善。

今天我就谈谈“反馈”。

最近我在做一个项目,单枪匹马,只有我一个人,看上去一点都不敏捷对吗?敏捷团队通常是一些小型团队,但是小到一个人,也不好。理想的团队应该是10人左右。每天早上的站立式会议上,我都是自报进度,对于遇到的困难,别人也很难给出意见,因为他们都没有参与进来。但是有一点,他们是这个项目未来的客户,站立式会议上,我可以听到作为客户的反馈。

这个项目是一个基于VMWare Esx的虚拟化管理平台,我有一个大客户,就是服务器管理员C。和C讨论过系统的需求和基本实现后,我开始将任务分成了以下几个部分:

1. VMWare Esx API的封装。

2. 分布式Controller, Agent控制系统。

3. 数据库设计

4. Web界面

整个过程计划在一周的时间完成,并且能够上线,提供一个基本可用的版本。看上去几乎是不可完成的任务,于是我开始了高效的Coding。过程中,我不断的收到了来自“用户”的反馈:

1. “可以暂时使用原有系统的数据库系统,用户才不关心他的数据存在哪里。

于是,“数据库设计”暂时砍掉。

2. “我最关心的是系统最基本的申请和释放功能,至于其他的细节问题,我可以暂时不关心。

于是,“分布式Controller, Agent控制系统。”也暂时被砍掉了。不过,这个反馈来的太晚,我已经花费了一天的时间实现和调试。

3. “这个数据列表我希望是横着排的。

在我把数据列表做好,自我感觉很好给C演示时,他表示希望列表是横着排列的。而这时我已经在这个竖的列表花费了不少时间。

4. “也许,我们可以考虑使用另外一种方式实现。

听到这句崩溃的话时,已经周五了。这是我将系统实现的差不多的时候,找C聊天,C蹦出来的一句话。经过分析,确实可行,亡羊补牢,为时未晚。新的方案一定程度上还是对之前方案的简化,并且更加可行。

在不断的用户反馈中,不断的纠正了我的方向,才使得我能够在一周的时间内完成。

有时,

我们关注的,用户不一定关注。

我们认为重要的,用户不一定觉得重要。

我们认为很酷的,用户不一定想要。

我们认为没所谓的,用户反而觉得非常重要!

所以,做用户最想要的软件,关注用户的反馈,如果可能,让用户也加入到团队的开发中来。这就是敏捷宣言中所说的:

Customer collaboration over contract negotiation(客户协作胜过合同谈判)

 

 

本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2010/04/18/talk-about-agile-1.html,如需转载请自行联系原作者

相关文章
|
7月前
|
敏捷开发 测试技术 持续交付
Scrum敏捷开发:适应变化的核心能力
敏捷开发是一种以人为核心,迭代、增量式的软件开发方法。它强调团队成员的密切合作、快速响应需求变化、持续交付高质量软件。
|
3月前
|
敏捷开发 存储 监控
软件测试在敏捷开发流程中的挑战
软件测试在敏捷开发流程中的挑战
|
3月前
|
测试技术
软件测试是质量需求的交付实践
软件测试是质量需求的交付实践
107 0
|
3月前
|
敏捷开发 Devops jenkins
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
DevOps、瀑布模型与敏捷开发:关系解析与对软件交付工程师的影响
36 1
|
7月前
|
敏捷开发 测试技术 持续交付
Scrum敏捷开发培训内训:提升团队能力和效率的重要途径
​ 在当今软件开发领域,Scrum敏捷开发方法越来越受到重视。Scrum是一种以团队协作为基础,注重灵活性和快速响应变化的方法。 为了帮助团队更好地掌握Scrum敏捷开发,培训变得越来越重要。Scrum敏捷开发方法注重高效协作、快速迭代和持续改进。通过培训,团队成员可以更好地了解Scrum敏捷开发的流程、实践和方法,提高团队协作和项目管理能力。这有助于在开发过程中快速响应需求变化,提高软件质量和客户满意度。
|
11月前
|
搜索推荐 数据挖掘 数据安全/隐私保护
如何用ChatGPT做团队绩效管理?根据员工的个人优势、不足、目标来生成更具体的绩效反馈
效管理、目标设定、绩效评估、员工优势、员工弱点、反馈机制、个人发展计划、职业规划、评估工具、数据分析、绩效考核、评分标准、KPI指标、成果目标、个人任务、团队任务、激励机制、晋升机会、增量奖励、培训计划、团队建设、人才管理、工作满意度、员工福利、OKR
298 0
|
安全 UED
如何做好需求管理?
需求管理是产品经理非常重要的一项技能,简单理解,就是产品经理要记录所有需求,并根据公司的战略目标,对现有需求做排序。做什么不做什么,先做什么后做什么。
135 0
|
敏捷开发 数据可视化
手把手,带你用数据做好迭代复盘改进 | 敏捷开发落地指南
高效落地敏捷开发,先从这3个关键活动着手。带你用数据做好迭代复盘改进 ,数据说话,借助云效项目协作·Projex 高效开展迭代复盘高效落地敏捷开发。
792 0
手把手,带你用数据做好迭代复盘改进 | 敏捷开发落地指南
|
BI
敏捷教练如何优化优酷需求分析流程?
本文简述在此过程中,如何通过调研分析、设计方案、落地实施、评估效果和持续优化的闭环帮助优酷同学解决问题。
1077 0