交付优质产品的唯一方法就是关注项目管理-爱德华●戴明
创造独特的产品、服务或成果所进行的临时性工作
· 独特性
· 临时性
· 浙进明细
一、什么是项目
项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。例如、曼哈顿计划、诺曼底登陆、三峡大坝、小米手机、微信、建设计划
二、解决问题的两种方式
1、预定义的过程:命令和控制、计划、强制性地按计划执行
2、实验性过程:边前进边学习、预计到变化会出现、拥抱变化、检查和适应
传统项目管理(预定义的过程)的痛点
缺乏明确的目的/目标,组织与项目目标不一致
· 没有项目策略上的一致
· 需求不明确、不完整、与不断的变更
· 资源的限制
· 不明确的职责
· 缺乏最终用户的参与
· 不规范的低效的沟通,甚至沟通的崩溃
· 低质量的测试
· 没有做好计划,甚至是计划好失败-死亡行军(plan to fail)
解决复杂性问题需要采用实验性过程
· 如果复杂度超过预定义方式的能力范围,应该采用实验性过程
· 实验性方式的三大支柱:可见性、检查及适应
三、敏捷的好处
1.管理层面:改善项目透明性,简化开发路径,快速交付、缩短上市周期
2.软件层面:提升质量,提高软件的可维护性、扩展性
3.团队层面:提高生产力,提高团队士气,提高工作纪律,管理分布式团队,促进团队合作
敏捷价值观之敏捷宣言
1.个体和交互胜过过程和工具
· 人是软件项目获得成功最为重要的因素
· 合作、沟通能力以及交互能力比单纯的软件编程能力和工具更为重要
· 方法和工具是死的,人是活的,人要是太“面”或者协作不好,再强大的方法和工具都是白扯;
2.可以工作的软件胜过面面俱到的文档
· 过多的面面俱到的文档往往比过少的文档更糟
· 软件开发的主要和中心活动是创建可以工作的软件
· 直到迫切需要并且意义重大时,才进行文档编制
· 编制的内部文档应尽量短小并且主题突出
3.客户合作胜过合同谈判
· 客户不可能做到一次性地将他们的需求完整清晰地表述在合同中
· 为开发团队和客户的协同工作方式提供指导的合同才是最好的合同
4.响应变化胜过循环计划
· 变化是软件开发中存在的现实
· 计划必须有足够的灵活性与可塑性
· 短期的迭代的计划比中长期计划更有效