`
sunnyshuhai
  • 浏览: 41594 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

深入浅出软件开发----(四)计划迭代开发

阅读更多

       在获取到用户的需求并编写成User Stories,并且通过Playing Poker Game 估算出每一个User Story开发所需的时间后。我们得到了要开发所有的User Stories需要的时间,大多数情况都是客户对新软件的要求都相当的迫切。很少有项目是不受时间的制约的。而成功的软件开发就是在规定的时间,规定的预算开发出来用户需要的软件。所以我们需要根据我们的可用时间来进行软件开发。

 

   计算实际可用的开发时间(以人天为单位):

 

       每一个项目都会有一个明确的截至时间,客户需要在那个时候得到他们需要的东西。所以我们的理论上可用时间一般是固定的,就是从项目开始到客户规定的截至时间。但是我们的开发时间并没有这么多,其中包括了周末、节假日、员工度假等等,在计算是都要考虑进入,这样每一个月的工作天数就是20。另外我们还要考虑开发人员的工作效率,还有就是员工请假、生病等情况,我们可以用开发速率来代表(其值应该小于一)0.7或0.8是一个不错的起点。等我们进行了一次迭代开发后我们根据实际的工作情况再调整该值。

 

       我们用下边的公式来计算实际可用的开发时间:

 

       实际可用的开发时间 =    可用自然月数 × 20 × 开发人数 × 开发速率

 

 

   让客户挑选要开发的User Sotries并安排优先级:

 

      在计算出实际可用的开发时间后,我们就可安排我们在可用时间内开发的User Stories了。等等,不是我们而是客户决定要开发哪些User Stories。只有客户才真正知道他们需要什么,不需要什么。通常情况下客户都会要求的比实际需要的多,这时候我们就要帮助用户跳选他们真正需要的,同时我们也能在可用时间内开发的User Stories。

 

      根据优先级和实际可用时间用户挑选出了必须要实现的User Stories并排序,这些User Stories将做为Milestone 1.0中要开发的特性。在这个过程中我们需要告诉客户那些没有被挑出来的User Stories 并不是被舍弃掉,而是推迟到Milestone2.0或Milestone3.0。

 

       Milestone1.0中应该只包含Baseline Functionality,如果少了这些功能软件就无法提供它的功能,这些功能是软件的最小功能集。

 

 

   将选出的User Stories 分到各个迭代开发中(同样根据优先级):

 

        在得到Milestone1.0的所有User Stories后,我们需要它们分到几个迭代循环中。迭代循环不宜过长,宜采用较短的迭代。较短的迭代周期有助于发现和应对变化和没有预期的时间,可以及时的调整。同时较短的迭代周期也容易更早的从客户那里得到反馈,更容易调整计划。

 

        但是太短话,又因为频繁的计划、发布反而不利于开发。同时,迭代周期的选择也和开发人员的经验,项目的特点有关。一般情况下,一个自然月即20个工作日作为一个迭代周期是比较合适的。

 

        根据每次迭代可以完成的工作量将Milestone1.0 中的User Stories分到各个迭代周期中。优先级高的User Stories应该最先开发。这样我们就得到了几个迭代开发周期。

 

 

 

   使用Big Board监控开发的过程:

 

         在得到第一个迭代开发后,我们就可以进行第一次的迭代开发了。别急,我们还需要一个工具来监控我们的工作效率和实际工作量。这就是Big Board。没有找到的Big Board的图片(会在以后的文章中介绍)。       

 


   需要注意的问题:

 

         1.在处理要开发什么,不开发什么,以什么顺序开发,都是由客户决定的。作为开发人员只能辅助客户。

 

         2.开发团队的人员不是越多越好,根据团队成员的情况和项目特点,当人员达到一定数目时再添加人员不但不会提升开发速度反而会降低团队的生产力。这是由于人员越多交流沟通和管理的开销越大。

 

        3.不要加班,加班只会使开发人员感到疲惫并降低生产力,而且影响开发人员的生活(一些极特殊的情况除外,如:产品发布前)。

 

       4.与客户保持良好的沟通,注意沟通方式。最重要的要“Be honest with customer”.

 

 

0
0
分享到:
评论

相关推荐

    深入浅出Android--Google手持设备应用程序设计

    这本书以深入浅出的方式讲解了Android开发的核心概念和技术,包括Android体系结构、用户界面设计、数据存储、网络通信、多媒体处理以及性能优化等多个方面。 1. Android体系结构:Android系统基于Linux内核,其架构...

    深入浅出设计模式-中文

    深入浅出设计模式这本资料,针对中文读者详细介绍了这一主题,旨在帮助开发者更好地理解和应用这些模式。资料中可能涵盖了面向对象设计的基础,以及23种经典的GOF(GoF,Gang of Four)设计模式。 首先,我们来谈谈...

    深入浅出设计模式-中文版

    以上设计模式只是冰山一角,《深入浅出设计模式》还涵盖了更多其他模式,如命令模式、迭代器模式、访问者模式、状态模式等。这些模式都是软件开发中的宝贵财富,可以帮助开发者编写出更加灵活、可维护的代码。通过...

    白话C++ 深入浅出

    《白话C++ 深入浅出》是一本针对初学者精心编写的C++教程,旨在用通俗易懂的语言帮助新手快速理解这门强大的编程语言。C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象...

    [深入浅出:使用Python编程]

    《深入浅出:使用Python编程》一书采用了迭代学习的方法来教授编程知识。这种方法的核心思想是通过不断迭代代码,逐步增加功能并完善程序,让学习者能够在实践中逐步理解编程概念。这种方式模仿了真实世界中的软件...

    深入浅出java设计模式(高清中文PDF)

    在深入浅出Java设计模式的高清中文PDF文件中,首先以一个生活化的例子引出了工厂模式的概念,介绍了工厂模式在面向对象编程中的重要性和实用性。文档详细讲解了20多种Java设计模式,并且在讲解的过程中包含了丰富的...

    深入浅出设计模式.rar

    《深入浅出设计模式》这个压缩包文件很可能是为了帮助读者理解和掌握设计模式的核心理念与应用场景,从而提升软件开发的效率和质量。 在软件开发过程中,设计模式如同一种通用的语言,让开发者能够快速交流复杂的...

    深入浅出ARM7-LPC213x_214x(上)

    ### 深入浅出ARM7—LPC213x_214x(上) #### 第1章 EasyARM2131开发板硬件结构 **1.1 功能特点** - **EasyARM2131开发板**集成了LPC2131微控制器,具备多种接口和外设,支持多种应用开发。 - 支持通过JTAG接口进行...

    深入浅出 MFC简体版.pdf

    根据提供的文件信息,“深入浅出 MFC简体版.pdf”主要涉及MFC(Microsoft Foundation Classes)的相关知识。接下来,我们将围绕MFC的基础概念、特点、应用场景以及如何学习MFC等方面进行详细阐述。 ### 一、MFC基础...

    深入浅出设计模式.pdf

    《深入浅出设计模式》是一本关于软件设计的经典著作,主要涵盖了面向对象设计中的核心设计模式。这本书旨在帮助读者理解并掌握如何在实际编程中应用这些模式,提升代码的可维护性和可扩展性。设计模式是经过时间和...

    产品经理深入浅出第7课-产品经理专业技能之文案撰写.pdf

    对于产品原型的快速创建,Axure和Balsamiq Mockups是非常实用的工具,它们可以帮助产品经理快速迭代和测试设计概念,但需要注意,原型仅仅是设计过程的一部分,不能过于追求细节,以免限制创新思维。最后,...

    深入浅出玩转fpga 实验代码

    《深入浅出玩转FPGA 实验代码》是一份针对FPGA初学者和进阶者的重要资源,旨在帮助读者通过实际操作和实验深入理解FPGA(Field-Programmable Gate Array)的工作原理与设计方法。这份资料包含了丰富的实验代码,涵盖...

    深入浅出设计模式(中文版)

    《深入浅出设计模式(中文版)》是一本专注于介绍软件设计模式的书籍。书中以通俗易懂的方式对设计模式进行了深入讲解,并且通过实例演示如何在编程实践中运用这些模式来解决实际问题。本书内容涵盖了多种设计模式的...

    深入浅出设计模式 pdf

    《深入浅出设计模式》是一本深受程序员喜爱的经典著作,它详细阐述了设计模式这一软件工程中的重要概念。设计模式是解决在软件开发过程中常见问题的成熟解决方案,它基于面向对象编程思想,能够提高代码的可重用性、...

    深入浅出设计模式(英文扫描版)

    标题:“深入浅出设计模式(英文扫描版)” 描述:“可以了解设计模式 还可以学习英文~~” 标签:“设计模式” 从上述信息中,我们可以提炼出以下关键知识点: ### 设计模式简介 设计模式是在软件工程领域中,...

    c#深入浅出设计模式

    《C#深入浅出设计模式》是一本专为C#开发者设计的全面解析设计模式的著作。...通过阅读《C#深入浅出设计模式》,读者可以学习到如何在实际项目中有效地运用这些模式,解决开发中的各种问题,提升代码质量。

    深入浅出设计模式(HEAD_FIRST设计模式)电子书+java代码

    《深入浅出设计模式》是基于HEAD FIRST系列的著名设计模式教程,专为初学者打造,旨在用生动直观的方式帮助读者理解复杂的设计模式概念。这本书以其独特的图文并茂的讲解方式,使得学习过程更为轻松有趣。书中涵盖了...

Global site tag (gtag.js) - Google Analytics