第五章,团队和流程
明白了团队和非团队的区别。团队有一致的集体目标,团队要一起完成目标,团队成员各自分工,相互依赖合作,共同完成任务。
软件团队有很多的模式,蜂窝模式,主治医师模式,明星模式,社区模式,业余剧团模式,秘密团队,特工团队,交响乐团模式,爵士乐模式,功能团队模式,官僚模式。不同的模式有的是适应不同的情况,有的是另外一个模式的演变,不同的模式有其自己的特点。
然后了解到了开发流程,它的目的是为了提高软件开发,运营和维护的小吕,以及提升用户满意度,软件的可靠性和可维护性。分为两种模型,一种是写了 再改模式,不需要太多其他准备或者相关知识,多用于“只用一次的”程序,“看过了就扔”的原型,一些不实用的演示程序。另外一种是瀑布模型,这个模型产品大多遵循:分析,实现,销售,维护 ,这个流程,这种模型中产品一旦大规模生产,在返回去修改十分困难。
统一流程(RUP)它的规程:业务建模,需求,分析和设计,实现,测试,部署,配置和变更管理,项目管理,环境。RUP又可分为四个阶段,初始阶段,细化阶段,构造阶段,交付阶段。
老板驱动流程,这种发开流程事实上是由行政领导主导或者由公司的老板驱动,所有称为老板驱动流程,但是这种模式也有一定得局限性,领导对许多技术细节是外行;领导未必懂得软件项目的管理,领导的权威影响了自由的交流和创造;领导最擅长的管理方式是行政命令,这未必能管好软件团队或者任何需要创造力的团队。领导的精力有限,领导很忙时,团队无所适从。
渐进交付的流程MVP或者MBP。用MVP的思路,团队会找出更关键,最小的功能集,快速实现,大大节省了时间提高了效率。MVP的指导思想和渐进交付相似,但是它更强调更早获得用户反馈,为此可以在产品完成之前就发布,它也强调产品的核心价值,为了突出核心功能别的辅助功能可以不考虑或者用别的平台提供的服务来代替。
第六章,敏捷流程。
敏捷的步骤主要分为以下:第一步,找出完成产品需要做的事情。第二步,决定当前的冲刺需要解决的事情。第三步,冲刺。第四步,得到软件的一个增量版本,发布给用户。
敏捷流程的解法:第一步,各个需求和任务之间是有种种复杂的依赖关系,除了优先级之外,我们还要考虑相互的依赖关系。第二步,把一个任务从产品层级的描述逐步细化到技术实现层面,是很需要技术能力和交流能力的。第三步,每日例会。
一个团队要变为一个敏捷团队,需要自主管理,自我组织,多功能型。还有自觉的进行敏捷总结,吸取敏捷流程的经验教训。
个人感受:
以前是怎样做的:没有一个统一的流程。
这样做不好的原因:这样在做软件的时候,会有些杂乱无章,没有顺序性,大大减慢了效率。
解决方法:在做项目之前,首先,要制定一个统一的流程。根据以下步骤:业务建模,需求,分析和设计,实现,测试,部署,配置和变更管理,项目管理,环境来实现项目。