读《构建之法》第5,6章有感
今天读了《构建之法》的第5,6章,下面是我从中获得的一些收获。
其中第5章主要讲的是团队和流程,还讲了团队的开发模式以及开发的流程。首先他向我们介绍了团队和非团队的区别。像王屋村那样乌合之众组成的并非团队。一个团队应该具有一下这些特点:1.团队有一致的集体目标,团队要一起完成目标。2.团队成员有各自的分工,互相依赖合作,共同完成任务。 接下来主要是讲几个不同的软件团队模式。其中主要包括:主治医师模式,明星模式,社区模式,业余剧团模式,秘密团队模式,特工团队模式,交响乐团模式,爵士乐模式,功能团队模式,官僚模式等。这些软件团队模式是在团队不断发展和成熟过程中形成的,适合于不同类型的软件开发。然后,我们学到了开发流程。第一种是写“写了在改模式”,这种模式适合那些:“只用一次的程序,看过了就扔的程序,一些不实用的演示程序”,然后第二种是瀑布模型,这个模型产品大多遵循:分析—>实现—>销售—>维护 ,这个流程,这种模型中产品一旦大规模生产,在返回去修改十分困难。 统一流程(RUP),这类方法将软件开发的各个阶段整合在一个统一的框架里。它的工作流如下:业务模型,需求,分析和设计,实现,测试,测试部署,配置和变更管理项目管理。还有老板驱动的流程,这类流程获取的订单不是靠技术,而是靠老板的个人关系或暗中操作。这种模式对老板的能力有很强的要求,,如果老板的能力不强,则团队会受到很大的制约。渐进交付的流程,主要流程:开发—》发布—》听取反馈—》根据反馈进行改进。而在这个流程中又出现MVP方法,即最小可行产品,就是把产品核心功能用最小的成本实现出来,然后快速征求用户的意见。还有MBP 生产思路,就是最强最美产品策略。
第6章主要为我们讲了敏捷开发流程。首先对敏捷开发的流程进行了概述,它的步骤为第一步:找出完成产品需要做的事情——Prouduct Backlog。第二步:决定当前的冲刺需要解决的事情。第三步:冲刺,冲刺期间,需要每天开一个站立回忆,汇报大家每日做的任务。在这期间需要注意燃尽图和看板图的绘制。第四步,得到一个版本,发布给用户。然后为我们介绍了一些敏捷流程的问题和方法。如第一步中:各个需求和任务之间是有种种复杂的依赖关系的,除了优先级之外我们还要考虑相互间的依赖关系。第二步中,把一个任务从产品层级的描述逐步细化到技术实现层面,需要技术能力和很好的交流能力。第三步每日例会不能流于形式。要解决这个问题,一个方法就是,定义好任务究竟是什么?任务的完成到底意味着什么。另外,我们还要注意对冲刺的总结。如果一个团队要转化为敏捷团队就要注意一下几点:1.自主管理 2.自我组织 3.多功能型 然后他分享了一些敏捷开发的经验教训,比如:Scrum Master不是一个官,而是一个没有行政权利的沟通者,就像微软PM那样,他同时还要在团队中做具体的工作 。在复杂的项目里,要让一线团队成员做决定。