软件工程第二讲--项目管理
- 格式:ppt
- 大小:1.16 MB
- 文档页数:88


软件工程与项目管理是成熟的博大精深的学科。
所谓新视野乃是指站在“企业-产品-人”这个系统的角度看待问题,旨在创导使“企业-产品-人”走向成功的“方法论和模式”。
本章乃全书之综述,重点探讨“企业的根本目标、产品开发之道、用人之道、如何成为优秀的软件人才”这些论题,探索一般性的规律,并给出开创性的观点和论断。
与传统的软件工程与项目管理书籍相比,本章不仅内容新颖,而且言词激进、极富个性色彩和扇动性。
本章大多数内容都是作者亲身验证过后总结出来的,将给多数读者带来有益的震撼。
敬请读者首先敞开心扉阅读本章,然后进行大脑风暴,吸取精华、摒弃糟粕。
1.1 软件危机新理解IT产业已经逐步发展成为中国的支柱产业之一,然而充满活力、优秀的软件企业太少了(苛刻地讲,十个手指头都能瓣完),绝大多数软件企业长期面临“产品质量低下、进度延误、成本高昂”的共性问题,就像患了恶劣的慢性病,无法根除。
太多原本雄心勃勃的软件企业并没有战死在沙场上,而是被恶病折磨得奄奄一息直至颓然去世。
IT产业的利润和前景实在太诱人了,没有获得免疫力的新企业又如雨后春笋般地诞生,前仆后继,延续着相似的故事。
三十年多前(1969年),NATO会议把这种病被称为“软件危机”。
三十多年过去了,这种病仍然存在,之所以不再危言耸听,是因为人们司空见惯、习以为常了。
并且适应了极度浪费社会财富的“快速诞生、快速死亡”的企业生存方式。
为什么长期克服不了“软件危机”?难道是国内大学计算机教育太差劲了?不是!大学里的计算机课程面面俱到,经常考试,基础教育非常扎实。
中国大部分学生有勤奋学习的优良传统,他们的计算机知识技能普通不差。
难道是书籍资料不够导致人们不懂软件开发、不懂管理吗?不是!书市上的软件工程、项目管理、编程技术等书籍泛滥成灾,Internet上有取之不尽的免费资料和代码。
难道是软件人才不够?不是!国内大学源源不断地输出计算机相关专业的毕业生,还有无数非计算机专业的人改行从事软件开发工作。
敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较5敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较57P32: 2.9.2P23: 2.2 P25: 2.3P34: 2.9.3模型构造多使用脚本语言、基于现有基础代码库、UI工具制作,制作过程一般不会考虑性能、稳定敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较5迭代-递增生命周期模型递增也是软件工程的一个固有特性P27P26: 2.5P28P29P30 2.7敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较58个体和交互胜过过程和工具以人为本我相信没有比面对面交流更高效的沟通渠道了•尊重和信任激发个人内心的责任感和使命感,激发了个体的潜能。
•基于互相信任的前提,敏捷提倡自治的全功能团队。
在工作形式上,整个团队平时坐在一起工作,从物理空间上创造了更加便捷面对面的沟通机会。
•要摒弃这种重流程和重工具,提倡轻量级流程和轻量级工具,而这些流程和工具又在促进个体交互。
比如,我们在日常工作中会使用Trello、Jira、Keynote等工具。
可以工作的软件胜过面面俱到的文档价值导向为客户交付可工作的软件是我们的核心目标•我们应该尽早交付可进行端到端测试的代码,该目标决定了我们不应该花过多精力在面面俱到的文档上。
•但这不代表我们要抵制任何文档。
实践证明,轻量级的文档策略有助于团队高质量交付可工作的软件。
•在开发过程中,交互设计原型也是一种轻量级文档,交互设计师交付可以尽早地跟团队和客户进行确认验收的核心业务场景的原型,快速收集反馈。
客户合作胜过合同谈判客户团队帮助客户实现他们真正想要的价值•让客户也作为团队的一分子,跟客户建立信任的合作关系取代敌对的谈判关系。
•需求的变化往往来自客户,让客户参与进来可以在开发的过程中尽早的发现变化,从而尽早采取解决方案。