项目管理这些事儿敏捷开发与项目管理ACT | 敏捷教练工具箱

Part2 基础理论

2019-11-16  本文已影响0人  JackMA杰黑马

01 | 到底应该怎样理解软件工程?

什么是软件工程?

什么是工程,有人参与、有计划、有步骤地造一件产品,我们通常称为“工程”

人月神话,60年代 OS/360操作系统,1000名程序员,5000人年。
两个事例:OS/360,Therac-25带出软件危机
软件危机:软件产品质量低劣、软件维护工作量大、成本不断上升、进度不可控、程序人员无限度地增加。

软件工程,它是为研究和克服软件危机而生。
为应对软件危机,1968 年秋季,北大西洋公约组织的科技委员会召集了近 50 名一流的编程人员、计算机科学家和工业界巨头,讨论和制定对策。在那次会议上第一次提出了“软件工程”(software engineering)这个概念。

为了经济地获得在真实机器上可靠工作的软件而制定和使用的合理工程原则。(Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.)

1993 年,电气电子工程师学会(IEEE)定义

将系统化的、规范的、可度量的方法用于软件的开发、运行和维护的过程,即将工程化应用于软件开发中。(Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1).)

本质:就是要用工程化方法去规范软件开发,让项目可以按时完成、成本可控、质量有保证

软件工程的演化史

软件项目生命周期:需求定义与分析、设计、实现、测试、交付和维护

阶段一
依据项目管理衍生出一套最基础的过程模型:瀑布模型

瀑布模型简.png

阶段二

软件工程公式

基于软件过程产生

软件工程 = 过程 + 方法 + 工具

02 | 工程思维:把每件事都当作一个项目来推进

Everything is a project

工程方法:有目的、有计划、有步骤地解决问题的方法

工程方法通常会分成六个阶段:想法、概念、计划、设计、开发和发布


工程方法.png

站在整体而非局部去看问题

改变,最有效的是方式是改变思想,这往往也是最难的部分。

03 | 瀑布模型:像工厂流水线一样把软件开发分层化

瀑布模型算是现代软件工程的起源,软件工程的发展,很大部分都是构建于瀑布模型的基础之上的。

最简单的模型Code And Fix 模型

存在问题

瀑布模型

1970 年,Winston Royce 博士借鉴了其他工程领域的思想提出了瀑布模型。


瀑布模型.jpg

六个阶段

  1. 问题的定义及规划
  2. 需求分析
  3. 软件设计
  4. 程序编码
  5. 软件测试
  6. 运行维护

“软件生命周期”(Software Life Cycle,SLC) 的概念
软件生命周期是软件的产生直到报废或停止使用的生命周期。而像瀑布模型这样,通过把整个软件生命周期划分为若干阶段来管理软件开发过程的方法,叫软件生命周期模型。

瀑布模型的优缺点

瀑布模型优缺点.jpg

瀑布模型解决的问题

04 | 瀑布模型之外,还有哪些开发模型?

V模型


V模型.jpg

05 | 敏捷开发到底是想解决什么问题?

敏捷起源

2001 初,17 位代表上述各种轻量级软件开发过程流派的领军人物聚集在一起,讨论替代瀑布模型这种重量级软件开发过程的新方法。但是没能达成一致,所以退而求其次,把大家都认同的理念整理出来,也就是后来的敏捷宣言。这些人还一起成立了敏捷联盟

敏捷宣言.png

06 | 大厂都在用哪些敏捷方法?(上)

07 | 大厂都在用哪些敏捷方法?(下)

一切工作任务围绕 Ticket 开展,三栏式,Todo,In Progress,Done

看板.jpg

基于 Git 和 CI 的开发流程

代码管理.jpg

部署上线流程
容器化、微服务、DevOps

每日站立会议

成员分工
产品、开发、测试、PM

需求/Bug都是ticket

一周事件

评估每条 Ticket 工作量

每周轮值

08 | 怎样平衡软件质量与时间成本范围的关系?

万变不离其中,软件金三角。

课后感

如果你也感兴趣,欢迎一起学习。

上一篇下一篇

猜你喜欢

热点阅读