2010年11月29日
10:07
一个人写软件可以仅仅面对屏幕,奋力敲入代码就好。而团队开发模式下需要方法论指导大家的协作,以便达到共同的产品目标。方法论是必要的。
一个项目经理在推进团队“更快的解决Bug”过程中有些经验。他说:“我们在采用一种叫做‘青蛙王子’的方法来推动大家积极的解决Bug。方法是把一段时间捉虫最多最好的程序员叫做青蛙王子,并且给予奖励”。
在谈及“青蛙王子”的时候,这位项目经理一直在强调“特定时期,特定目标”。就是说,它能够解决问题,但是针对性很强。推动“青蛙王子”之前,组员觉得Bug是改不完,也不愿意改。通过这样的方法,让大家改变心态,积极修改Bug,并且通过定期的公布总Bug数量,剩余Bug数量、项目经理的评价的方式,让每一个在这段时间内集中精力做好一件事。现在的Bug少了,这个方法也就很久没有用过了。
在差不多同一时期,我们也出现了很多这样的小型方法,专注于解决特定时期的问题,它们都有一定的成效,但是缺点也比较明显——只能解决特定问题。和这些我们自己的方法论相比,Scrum可以在任何一个项目的完整周期中使用,并提供比较全面的过程指导。
Scrum可以促进大家的沟通,让开发更有乐趣。我们的一个老板曾经说,程序员都是些没有多少感觉的家伙。他为此举例,“本来大家都是面对面的,一句话就可以把问题讲清楚了,但是很多人会通过即时通讯工具发消息,而不是直接沟通”。程序员的工作一天到晚的对着电脑,编写没有人看得懂的代码,也显得毫无乐趣可言。而Scrum过程要求大家做更多例行的沟通,包括每日演示、设计讨论、提出问题和找到帮助者、定期总结,从而促进大家的沟通、快速的解决问题。
Scrum可以帮助每个成员把握项目的进度。以前分配了任务,程序员就分头做自己的工作,可能两周甚至一月才集成一次,而当真正集成的时候必然产生一堆问题,比如重复编码,做了不该做的。这样的进度管理是比较粗放的。而关于Scrum的做法则是每天集成,不管什么问题,都会很快的表现出来,而不会等到做了一堆无用功后在去返工。Scrum的每日集成,让问题更加容易被发现,把风险分担到每天内,而不是等到问题积累到很严重后再去解决。
和重型的软件方法论相比,Scrum可以是拿来就用的。它对工具要求都是很基础的,不外乎是白板、即时贴(我们另外一个项目用了墙上卡片)、简单的Scrum工具(比如 ScrumWorks)。不需要看很多书、不需要太多的实施指导、也不需要咨询公司的支持。
分享到:
相关推荐
采用敏捷方法可以带来诸如透明度提升、快速交付、优先处理高优先级需求、更强的应对变更能力、改善沟通、提高客户满意度和员工满意度等好处。同时,它减少了不必要的文档和重复工作,提高了生产力。 **敏捷适用场景...
### Minibook - Kanban 和 Scrum:理解两种方法的核心理念与差异 #### 前言 本书旨在探讨敏捷开发领域内两种广受推崇的方法...这样的结合不仅能够充分利用 Scrum 的规划优势,还能享受 Kanban 的灵活性带来的好处。
团队成员可能会抵触参与改进过程,尤其是当这些改进措施没有带来明显好处时。 - **建议**:采用渐进式变革策略,从小规模实验开始逐步推广成功案例,通过展示成果激发员工参与改进的积极性。 ##### 7. **角色冲突...
采用敏捷方法带来的好处包括: 1. 提高透明度:实时了解项目状态,便于早期发现和解决问题。 2. 快速交付:每次迭代都产出可用软件,降低延迟风险。 3. 强化客户参与:客户需求优先,避免误解和错误假设。 4. 提升...
尽管敏捷开发带来了很多益处,但也存在一些挑战: - **文化转变**:组织文化和团队成员的态度需要调整以支持敏捷原则。 - **技能提升**:团队成员可能需要学习新的工具和技术。 - **领导力转型**:管理层需要采用新...
这意味着故事应该是具体的、可衡量的,并且能够带来实际的好处。 **用户建模** 用户建模是创建虚拟用户档案的过程,用于更好地理解不同类型的用户及其需求。这些模型可以帮助团队更好地定位产品功能,并确保满足...
敏捷方法的实施带来了显著的益处,如提高团队效率、降低开发成本、加快上市速度、提升软件质量,以及使系统更好地适应客户需求。通过迭代和持续的反馈循环,敏捷方法能够更好地应对需求变更,从而提供更符合用户期望...
通过有效的规划、教育和逐步实施,组织可以成功过渡到敏捷模式,享受更高效、更灵活的软件开发流程带来的益处。在这一过程中,关键在于维持团队的积极性,确保所有参与者都能看到并感受到敏捷带来的正面变化。
- 持续集成带来快速反馈,有助于及时调整软件开发方向。 - Pair Programming 等促进团队合作和知识共享。 - **XP 的挑战及解决方案**: - 面临的文化转变需要时间和努力。 - 团队成员的技术水平要求较高。 - ...
总结,腾讯在2006年实施敏捷开发的决策,无疑为其软件开发带来了诸多好处,包括更快的交付速度、更高的产品质量和更强的团队凝聚力。随着敏捷理念的深入,腾讯在后续的软件开发过程中持续优化和改进,成为了国内乃至...
- **好处**: - 提高软件质量。 - 加快反馈速度,有助于及时调整方向。 - 促进团队合作和知识共享。 - 改善团队协作和代码质量。 - **挑战及解决方案**: - 面临文化转变需要时间,团队成员的技术水平要求较高...
标题“42-0-1软件过程1”暗示了我们正在探讨软件开发中的一个特定阶段或方法,而描述中提到的问题则聚焦于按部就班的开发管理和其可能带来的影响。 讨论题1的核心在于平衡规范化的开发流程与现实世界中的不确定性。...
4. 降低风险:小步快跑的方式减少了因大规模变更带来的风险。 5. 提升质量:TDD和重构确保了代码质量,降低了长期维护成本。 总的来说,敏捷开发提供了一种灵活且高效的软件开发方式,对于现代IT行业来说具有重要...
敏捷开发带来了显著的好处,如提高软件质量、增加中途修正的机会、提升客户满意度、更好地对齐商业需求和IT实施,以及加快市场投放速度。然而,敏捷开发也要求前期的学习成本,需要团队成员转变思维方式,接受新的...
将您的算法扔进兔子洞,这将带来一些好处。 团队 产品负责人:David Hopper Scrum Master :约翰·温斯特德(John Winstead) 开发团队成员:Katrina Uychaco,Joseph Lin 目录 用法 为了上传算法,需要将函数包装...
尽管敏捷开发带来了许多好处,但在实践中也面临一些挑战: - **文化转变难度大**:组织需要从根本上改变工作方式,这对于某些传统企业来说可能较为困难。 - **缺乏明确的文档**:虽然敏捷强调“可工作的软件”高于...