`
stevezheng
  • 浏览: 80154 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

《OO项目求生法则》之“策略”

阅读更多

很早前读过的一本书《oo项目求生法则》,颇有感触,用几篇文章说说:

先说最有用的,书中说了十大问题的症状和解决方法,总结如下:

    一、清除迷雾   
        概要:尽力交付一些东西,将告诉你真正的问题在哪里
        症状:   
            必须拟定项目计划,但是缺少相关信息   
        需要平衡的力量:   
            你需要更多的知识执行计划   
            需要一步步推进项目进程   
        处方   
            在短期内,创造良好的开端,交付系统的某一部分   
        过量服用的结果   
            如果真正追求“清除迷雾”,将得不到真正的进展   
        相关策略   
            按周期尽早交付   
            原型法   
            微型法   
   
    二、按周期并尽早交付   
        概要:尽早交付,发现那些你不了解的,按周期交付,逐步完善   
        症状   
            对开发过程某些部分没有把握   
        需要平衡的力量   
            需要更多的知识计划和建立项目   
            一步步推进项目进程   
        处方   
            创建进度计划,确定每个发布版本都交付什么   
        过量服用的结果   
            如果增量期间太短,则会耗费大量的精力   
        相关策略   
            清除迷雾   
            原型法   
   
    三、原型法   
        概要:建立一个独立的方案,并发现它如何起作用   
        症状   
            要设计一个用户界面   
            试验新的技术   
            项目依赖一个关键算法   
        需要平衡的力量   
            需要更多的知识   
            要推进项目的进程   
        处方:隔离问题,制作一个一个小原型   
        相关策略   
            清除迷雾   
            按周期尽早交付   
            微型法   
   
    四、微型法   
        概要:运行一个微型的类似项目   
        症状   
            你正在考虑一项技术是否适合你   
            你不知道你的开发人员多久能学会这个技术   
            你不知道这个技术是否有效   
        需要平衡的力量:必须进行决策和制定计划   
        处方:运行一个微型项目,收集关于人员、技术等信息   
        过量服用的结果:试验项目大小要适中   
        相关策略   
            清除迷雾   
            尽早交付   
            原型法   
   
    五、整体多样性   
        概要:在一个开发小组中,需要各种专业技能的人员   
        症状   
            经常听到关于“官僚过程”的抱怨   
            你注意到开发小组内部存在沟通障碍   
            开发小组是按照产品或者阶段划分而建的   
            人们通过书面传递信息,而不是通过交流   
            开发小组人员之间不互相尊重   
            开发小组人员都被任命做所有的事情,并且抱怨时间都花在沟通上   
        需要平衡的力量   
            随着人员的增多,会出现交流缓慢现象   
            项目需要多面手,但是很难找到这方面的全才   
            开发人员不愿外漏自己的技能   
            不同小组之间互相责备   
            一个方面无法容纳整个小组   
        处方   
            对于每一项任务建立2-5人的小组:负责包括需求、设计、编码、测试等全部工作   
            整个小组对模块负责   
            合理安排小组的规模和办公地点   
        过量服用的结果   
            如果小组只有一个人,那么将没有好的效果   
        相关策略   
            所有权   
   
    六、淘金热   
        概要:没有时间等待需求,于是需求每周都有新的变化   
        症状   
        需要平衡的力量   
            希望开发人员忙碌起来   
            希望系统早日交付   
            希望避免重复工作   
        处方   
            让下游的开发人员现在就开始工作,他们会对项目有一些新的想法   
        过量服用的结果   
            有些工作会重做   
        相关策略   
   
    七、每一交付产品都有人负责   
        概要:有时许多人做同样的工作,有时一项工作没人做   
        症状   
            你的程序中存在“公共区域”和“孤立区域”   
            没有人更新设计和类图   
        需要平衡的力量   
        处方   
            为每一个模块确定负责人   
            问自己下述内容由谁负责:   
                系统整体架构   
                应用软件架构   
                用户界面   
                oo设计   
                代码质量   
                测试testcase   
        过量服用的结果   
            如果所有权分配不合理,则管理冲突会占用团队大量时间   
        相关策略   
            所有权   
            干扰   
            日托策略   
   
    八、所有权问题   
        概要:每一个发布都有其责任人   
        症状   
            你的小组是按照功能划分的,没有为组件分配所有权   
            你的小组是按照组件划分的,没有为功能分配所有权   
        需要平衡的力量   
            按照功能分配所有权,会导致某些组件成为公共区域   
            按照组件分配所有权,会导致某些功能成为孤立区域   
        处方   
            为组件和功能都分配所有者   
        过量服用的结果   
        相关策略   
   
    九、干扰问题   
        概要:无论如何,要保证项目在前进   
        症状   
            非主要任务占据项目小组很多时间   
            人们抱怨干扰太多   
        需要平衡的力量   
        处方   
            确保项目小组中有人能够为主要任务的前进工作   
            每一个任务由一个小组负责   
            牺牲个人   
        过量服用的结果   
        相关策略   
   
    十、日托策略   
        将开发小组分成两部分
            由几个专家、高手组成进度组,专门负责编码,尽量不要让他们分心
            一个高手、专家配合一至两个普通人员组成培训组,负责解答项目中出现的问题以及培训方面

 

感兴趣的话,讨论一把

2
0
分享到:
评论

相关推荐

    WebGis-典型的jsoo架构项目,吐血奉献

    "WebGis-典型的jsoo架构项目"标题表明这是一个以JavaScript Object-Oriented(JSOO)架构为基础的WebGIS开发实例,对于理解WebGIS的实现机制和JSOO架构的应用具有重要意义。 JSOO是JavaScript中面向对象编程的一种...

    生鲜OO项目商业实施计划书.docx

    风险管控方面,项目应制定相应的应对策略,如政策调整时的灵活应对,市场变化时的产品和服务调整,经营过程中可能出现的问题解决,以及确保资金链的安全稳定。 总结来说,生鲜OO项目“宅鲜配”是一个综合性的生鲜...

    关于汽车后市场OO创业项目计划书.zip

    《汽车后市场OO创业项目计划书》是一份针对汽车行业尤其是汽车后市场的深度分析与创业策划文档,旨在为有志于在这一领域创业的大学生提供全面的指导和策略建议。汽车后市场涵盖了汽车销售之后的所有服务,包括维修...

    ABAP OOALV学习文档

    - **面向对象编程方式**:推荐使用的方法,更适合大型复杂项目的开发需求,有助于提高代码的可维护性和扩展性。 #### 二、ALV 用户界面组件 ALV 的用户界面主要由以下三个部分组成: 1. **ALV 菜单栏**:提供了...

    OOALV常用功能完整简例

    例如,“g_alv_grid”是一个OOALV对象的引用类型,而“g_it_show”是一个与之关联的内表。代码片段中展示了如何通过SQL查询读取数据,并通过ALV展示。 “PERFORM frm_set_alv_toolbar”这一行代码表明系统中存在一...

    OO系统分析员之路--用例分析系列

    【OO系统分析员之路--用例分析系列】是一组关于用例分析的教程,适合初学者和有一定经验的系统分析员。本系列共八篇文章,旨在深入解析面向对象(OO)系统分析中的用例分析技术,帮助读者理解和掌握用例在需求分析中...

    实战OO的pdf自留备份

    最后的"开启征程结尾篇"可能是一个结语或者后记,鼓励读者将所学应用到实际项目中,开始他们的OO编程实践之旅。 在标签中提到的"类图"是UML(统一建模语言)的一种图表,用于表示类的结构和关系,包括类的属性、...

    实战OO 用例 建模

    实战OO_用例建模 实战OO_用例建模 实战OO_用例建模

    OO4O简介以及其在VC++中的应用

    1. **导入头文件**:在项目中包含必要的OO4O头文件。 2. **创建会话**:使用`Oo4oSession`类创建一个新的会话对象。 3. **准备SQL命令**:通过`Oo4oCommand`对象设置SQL语句。 4. **执行命令**:调用`execute`方法...

    开源项目-hit9-oo.zip

    开源项目“hit9-oo”是一个专为Go语言版本切换设计的简单Shell脚本集合。这个项目的目的是方便开发者在不同的Go版本之间灵活地切换,以适应项目开发的需求或测试不同Go版本对代码的影响。在软件开发中,尤其是开源...

    真实项目的项目计划书

    * 周四:需求设计小组应把制定的本周需求设计文档,发送到项目设计小组负责人处,项目设计小组负责人应及时检查,如对需求文档有不明之处,应及时与需求设计负责人进行沟通。 * 周五:项目组负责人应及时与项目组...

    OO软件工程

    总的来说,OO软件工程涵盖了从需求获取到系统实现的全过程,它要求开发者具备扎实的面向对象理论基础,熟练掌握UML工具,以及良好的项目管理能力。通过对“OO系统分析.doc”、“OO需求.doc”和“OO系统设计.doc”...

    ABAP OOALV报表开发

    ABAP OOALV报表开发,定义变量,选择屏幕定义,创建类,调用函数

    ABAP OO的八个理由

    1. 数据封装与稳定性:ABAP面向对象(OO)编程的核心优势之一是数据封装,它将数据和操作数据的方法捆绑在一起,形成对象。这提高了程序的可维护性和稳定性,因为对象内部状态的改变对外部是隐藏的,减少了不必要的...

    SAP ABAP开发学习——第10课:OOALV(视频教程)

    在本课程中,我们将深入探讨SAP ABAP的面向对象技术在ALV(ABAP List Viewer)中的应用,这是SAP ABAP开发学习的第10课,专注于OOALV。这个主题对于任何想要在SAP系统中进行高效数据展现和处理的开发者来说都是至关...

    SAP OO ALV技术介绍.pdf

    SAP OO ALV技术介绍 SAP OO ALV技术是SAP系统中的一种报表控件类,通过调用cl_gui_alv_grid类的方法可以实现ALV报表的显示。OO ALV技术可以满足大多数ALV需求,但有时需要与后续的屏幕开发等集中在一个屏幕中,或者...

    oo2core_6_win64

     1、Windows 95/98/Me系统,将oo2core_6_win64.dll复制到C:\Windows\System目录下。  2、Windows NT/2000系统,将oo2core_6_win64.dll复制到C:\WINNT\System32目录下。 3、Windows XP/WIN7/win10系统(64位系统对应...

    oracle_sdk(OO4O)

    在使用OO4O前,首先需要在VC++项目中包含必要的库和头文件。这通常涉及以下步骤: 1. 添加引用:在项目设置中,添加Oracle OLE DB Provider(如msdaora.dll)作为项目的引用。 2. 包含头文件:在源代码中包含OO4O...

    面向对象需求分析(OO RES)

    在江苏油田勘探开发一体化数据中心建设项目中,OO RES 被用来分析和设计钻前工程系统的需求。该系统的主要功能包括钻前基本信息、钻前工程工作内容、钻杆排运行记录等。 OO RES 方法被用来描述这些功能需求,并设计...

    资 料OOCSS

    **OOCSS(Object-Oriented CSS)**是一种设计和编写CSS代码的策略,由Nicole Sullivan提出,旨在解决传统CSS在大型项目中维护困难、效率低下等问题。OOCSS的核心理念是模块化和可复用性,通过将样式设计为独立、可...

Global site tag (gtag.js) - Google Analytics