软件开发中的多面探讨:从团队模式到个人贡献
在软件开发的领域中,存在着诸多不同的理念和模式,它们相互碰撞、相互影响,共同推动着行业的发展。
1. 精益制造与团队协作
精益制造的核心是动态工作团队。对于快速发展、以复杂知识整合为导向的项目团队而言,持续的互动和交流,即团队知识共享与问题解决至关重要。交付团队不需要一本满是数据库设计流程的手册,而是需要一位精通数据库设计的团队成员;不需要项目办公室审核和批准其计划,而是需要一位知识渊博的项目经理。产品卓越需要知识的整合,通才往往比专家更能实现这一点。专家固然必要,但应作为开发团队的一部分,即便只是兼职。技术卓越需要人们紧密合作,而非各团队之间来回传递文件和签字表格。
一般来说,敏捷开发者多为通才,而严谨的软件工程师倾向于倡导专业化。尽管敏捷开发者意识到随着项目规模的增大,可能需要更多的专业技能和角色,但敏捷项目的角色和专业技能通常比严谨项目少。
2. 质量与速度的权衡
技术人员最大的担忧和抱怨往往是“我们从来没有时间把事情做好”。这一口号常被机械地重复,既是对非技术人员(尤其是管理层和营销人员)所带来问题的一种抗争,也是技术人员之间拒绝新实践的借口。关于质量与速度的争论,有三点值得关注:
- 大多数人泛泛而谈对质量的需求,但很少有项目团队花时间明确质量的具体含义。
- 速度和质量(至少是质量中的缺陷方面)存在关联,但并非如许多人所认为的那样。
- 借鉴精益制造的理念,敏捷开发者的目标是提高速度并提升质量。
质量并非简单的概念。它是等同于客户价值,还是仅指缺陷水平?“足够好”的软件意味着什么?是否所有软件都需要像航天飞机软件那样无缺陷?航天飞机
超级会员免费看
订阅专栏 解锁全文
67

被折叠的 条评论
为什么被折叠?



