01.精益敏捷项目管理——敏捷开发者指南笔记

00.时间是一个人可以花费的最宝贵的东西。——狄奥佛拉斯

 

01.原则是潜在的真理,不随时间或空间的改变而改变,实践是在特定情况下对原则的应用。当你从一种情况变化到另一种情况后,实践也要有所不同,实践应随着情况的改变而改变。

 

02.精益思想的建立基于几个基本原则:

  *多数错误源于系统本身,因此必须对开发的系统加以改进

  *为了改进系统,必须尊重员工

  *过早开会会造成浪费。只在需要的时候完成需要做的做的事情,这就是所谓的准时制或JIT(Just-In-Time)

  *精益思想通过消除开发过程中的厌恶来缩短产品的上市时间;使用JIT方法做事情比让大家一直忙碌更加重要。

 

03.当我们指责别人的时候,我们自己是否就正确呢?可能只有在这种情况之下,人么才会发现,造成或至少促成问题发生的根源其实是自己。

 

04.你会责怪谁?不明就是客户,编写系统分析文档的分析人员,没有按照规范写出编码的自己,还是没有对系统做出恰当测试的测试人员?如果用心去体会,你可能认识到,没有人应该被责怪,问题的根源其实是你与这些人的合作方式。换句话说,每个人以特定的角色独立工作于当前系统中,不存在反馈机制,或者即使存在也是低效的,信息传播经常出现错误。一个敏捷系统的所有开发人员是作为一个团队一起工作。客户、分析人员、开发人员和测试人员荷香讨论,共同确定客户的需求,思考应该如何去更好地满足他们的需求。这是一个更好的系统。当错误产生时,敏捷系统致力于提出好的方法去提高信息沟通发的过程,同时不断减少错误的数量。

 

05.改善沟通是敏捷的主要目标。遗憾的是,敏捷实践往往只强调了局部层面的沟通:团队内的沟通、团队与团队之间的沟通、团队与客户之间的沟通。在改善团队与团队之间的沟通上,敏捷实践只提供了极少且略微相关的一些支持,实际上敏捷时间几乎没有提供贯穿整个企业的、沟通上级与夏季的价值流。另一方面,通过重视创建端到端沟通的价值,精益实践推动了基于这种大前提下的沟通方式,它提供了一种人人参与产品开发的环境。者促使公司中不同层面的沟通更加频繁,强调了持续的过程改进、全局优化、尽早交付与频繁交付。精益思想有助于消除由于浪费导致的延误。

 

06.金钱已不再是选择工作的第一要素,缺乏尊重将无法留住高素质的员工。

 

07.尊重人——尊重管理层和员工,在过程中允许灵活性,持续的改进过程,吸引和留住高素质员工。

 

08.消除浪费是敬意实践者的首要原则。软件开发中的浪费是指程序设计的代码比系统实际需要的代码更加复杂。

 

09.精益时间者就必须去检查系统,查看该如何消除浪费。类似的错误将有可能以一种或多种形式在系统中重复、持续地出现,知道我们在系统中完全修正了浙西错误为止。

 

10.不能太早,决策太早使你不能获得所需的足够信息;不能太晚,决策太晚会使你承担更高成本的风险。推迟决策是以一种主动的方式来规划过程——要么等到需要去做工作的时候再去做;要么就先去工作,等系统获得足够信息的时候再去推翻前面的工作。这项原则可以用于指导需求调研、系统分析和系统设计及编程的过程。

 

11.软中的浮现式设计具体:

  *利用设计模式过程的思想,创建灵活多变的应用程序体系结构

  *设计模式要实现的功能仅限制为当前的功能

  *编写代码之前编写自动化验收和单元测试,既能提供了思想过程,有创建了测试工具

 

12.软件就本身而言并没有什么真正的内在价值,它的价值来自交付的产品和服务。

 

13.软件在IT部门扮演的角色就是一个用于支持公式产品与服务的工具;而软件在软件公司扮演的角色则是使用软件去做产品支持和胃客户的需求做产品开发。软件是一种端到端的工具,用来为客户增添价值——要么直接为开发的产品提供价值,要么简洁通过软件去支持产品的售后服务来提供价值。

 

14.如果没有自动化测试,错误就会一直慢慢地积累。同时,劣质代码和难以理解的代码也会造成时间的浪费。

 

15.首轮的代码编写其实只花费不到20%~50%的时间,那么,在剩下的50%~80%的时间里都在做些什么呢?答案是“发现客户需求”和“知道如何开发产品”。

  创建知识也意味着要知道如何开发软件去满足客户需求的过程。通过这种方式,可以更加容易地改进软件产品。

 

16.要做到这一点,一种方法是在编写代码之前,与客户、开发人员和测试人员一起共同定义验收测试方案。这种方法改进了围绕以需求为中心的对话,可以帮助开发人员了解系统需要开发出怎样的功能。

 

17.从获得一个想法到启动一个开发过程,再到尽可能快递将软件产品交付到客户手中,改进整个开发过程的一个至关重要的因素就是清除流程中障碍。

 

18.Scrum方法就是项目成员每日在站立会议中陈述“我做了什么工作,我将要做什么工作,我在工作中遇到了什么问题”,在陈述中直接了当地反映过程中需要改进的问题,并消除使过程减缓下来的任何障碍。

 

19.精益更重视缩短从提出高年到交付有价值的软件的整个过程的时间,而非如何利用资源。从精益的角度看,如果我们坚持持续地改进过程,专注于更快的生产速度,那么制造成本就会降下来。我们将因更少的错误和更少的浪费而获得更高的产品质量。遗憾的是,实际的工作方法通常都只注重直接降低成本,但这未必会为提供产品质量或加快速度带来的好处。

 

20.软件开发中的延误包括:

  *从需求被陈述出来开始到需求被证实是正确的为止所花费的时间

  *从代码被编写出来开始到代码被测试位置所花费的时间

  *从开发人员询问客户或系统分析人员问题开始知道他得到的回答为止(延迟尤其会产生在用电子邮件交流来代替面对面沟通时)所花费的时间。

 

 

21.价值流图是精益实践者用来分析价值流的精益工具。价值流图包括画出价值流的过程图形,并利用这些图形来寻找浪费。价值流图的重点是改进从开始到结束的全部过程所花费的时间,同时项目在未来也要保持一定的速度(也就是说,不能以未来发展为代价而走捷径)。

 

22.精益胃软件开发提供7个项原则:

  *尊重人

  *消除浪费

  *推迟决策

  *创建知识

  *快速交付

  *品质为先

  *全局优化

 

23.精益的一个根本目标是快速——灵活——激动。

posted @ 2018-11-10 21:42  艾小小雨  阅读(406)  评论(0编辑  收藏  举报