很早前读过的一本书《oo项目求生法则》,颇有感触,用几篇文章说说:
先说最有用的,书中说了十大问题的症状和解决方法,总结如下:
一、清除迷雾
概要:尽力交付一些东西,将告诉你真正的问题在哪里
症状:
必须拟定项目计划,但是缺少相关信息
需要平衡的力量:
你需要更多的知识执行计划
需要一步步推进项目进程
处方
在短期内,创造良好的开端,交付系统的某一部分
过量服用的结果
如果真正追求“清除迷雾”,将得不到真正的进展
相关策略
按周期尽早交付
原型法
微型法
二、按周期并尽早交付
概要:尽早交付,发现那些你不了解的,按周期交付,逐步完善
症状
对开发过程某些部分没有把握
需要平衡的力量
需要更多的知识计划和建立项目
一步步推进项目进程
处方
创建进度计划,确定每个发布版本都交付什么
过量服用的结果
如果增量期间太短,则会耗费大量的精力
相关策略
清除迷雾
原型法
三、原型法
概要:建立一个独立的方案,并发现它如何起作用
症状
要设计一个用户界面
试验新的技术
项目依赖一个关键算法
需要平衡的力量
需要更多的知识
要推进项目的进程
处方:隔离问题,制作一个一个小原型
相关策略
清除迷雾
按周期尽早交付
微型法
四、微型法
概要:运行一个微型的类似项目
症状
你正在考虑一项技术是否适合你
你不知道你的开发人员多久能学会这个技术
你不知道这个技术是否有效
需要平衡的力量:必须进行决策和制定计划
处方:运行一个微型项目,收集关于人员、技术等信息
过量服用的结果:试验项目大小要适中
相关策略
清除迷雾
尽早交付
原型法
五、整体多样性
概要:在一个开发小组中,需要各种专业技能的人员
症状
经常听到关于“官僚过程”的抱怨
你注意到开发小组内部存在沟通障碍
开发小组是按照产品或者阶段划分而建的
人们通过书面传递信息,而不是通过交流
开发小组人员之间不互相尊重
开发小组人员都被任命做所有的事情,并且抱怨时间都花在沟通上
需要平衡的力量
随着人员的增多,会出现交流缓慢现象
项目需要多面手,但是很难找到这方面的全才
开发人员不愿外漏自己的技能
不同小组之间互相责备
一个方面无法容纳整个小组
处方
对于每一项任务建立2-5人的小组:负责包括需求、设计、编码、测试等全部工作
整个小组对模块负责
合理安排小组的规模和办公地点
过量服用的结果
如果小组只有一个人,那么将没有好的效果
相关策略
所有权
六、淘金热
概要:没有时间等待需求,于是需求每周都有新的变化
症状
需要平衡的力量
希望开发人员忙碌起来
希望系统早日交付
希望避免重复工作
处方
让下游的开发人员现在就开始工作,他们会对项目有一些新的想法
过量服用的结果
有些工作会重做
相关策略
七、每一交付产品都有人负责
概要:有时许多人做同样的工作,有时一项工作没人做
症状
你的程序中存在“公共区域”和“孤立区域”
没有人更新设计和类图
需要平衡的力量
处方
为每一个模块确定负责人
问自己下述内容由谁负责:
系统整体架构
应用软件架构
用户界面
oo设计
代码质量
测试testcase
过量服用的结果
如果所有权分配不合理,则管理冲突会占用团队大量时间
相关策略
所有权
干扰
日托策略
八、所有权问题
概要:每一个发布都有其责任人
症状
你的小组是按照功能划分的,没有为组件分配所有权
你的小组是按照组件划分的,没有为功能分配所有权
需要平衡的力量
按照功能分配所有权,会导致某些组件成为公共区域
按照组件分配所有权,会导致某些功能成为孤立区域
处方
为组件和功能都分配所有者
过量服用的结果
相关策略
九、干扰问题
概要:无论如何,要保证项目在前进
症状
非主要任务占据项目小组很多时间
人们抱怨干扰太多
需要平衡的力量
处方
确保项目小组中有人能够为主要任务的前进工作
每一个任务由一个小组负责
牺牲个人
过量服用的结果
相关策略
十、日托策略
将开发小组分成两部分
由几个专家、高手组成进度组,专门负责编码,尽量不要让他们分心
一个高手、专家配合一至两个普通人员组成培训组,负责解答项目中出现的问题以及培训方面
感兴趣的话,讨论一把
分享到:
相关推荐
"WebGis-典型的jsoo架构项目"标题表明这是一个以JavaScript Object-Oriented(JSOO)架构为基础的WebGIS开发实例,对于理解WebGIS的实现机制和JSOO架构的应用具有重要意义。 JSOO是JavaScript中面向对象编程的一种...
风险管控方面,项目应制定相应的应对策略,如政策调整时的灵活应对,市场变化时的产品和服务调整,经营过程中可能出现的问题解决,以及确保资金链的安全稳定。 总结来说,生鲜OO项目“宅鲜配”是一个综合性的生鲜...
- **面向对象编程方式**:推荐使用的方法,更适合大型复杂项目的开发需求,有助于提高代码的可维护性和扩展性。 #### 二、ALV 用户界面组件 ALV 的用户界面主要由以下三个部分组成: 1. **ALV 菜单栏**:提供了...
《汽车后市场OO创业项目计划书》是一份针对汽车行业尤其是汽车后市场的深度分析与创业策划文档,旨在为有志于在这一领域创业的大学生提供全面的指导和策略建议。汽车后市场涵盖了汽车销售之后的所有服务,包括维修...
例如,“g_alv_grid”是一个OOALV对象的引用类型,而“g_it_show”是一个与之关联的内表。代码片段中展示了如何通过SQL查询读取数据,并通过ALV展示。 “PERFORM frm_set_alv_toolbar”这一行代码表明系统中存在一...
【OO系统分析员之路--用例分析系列】是一组关于用例分析的教程,适合初学者和有一定经验的系统分析员。本系列共八篇文章,旨在深入解析面向对象(OO)系统分析中的用例分析技术,帮助读者理解和掌握用例在需求分析中...
最后的"开启征程结尾篇"可能是一个结语或者后记,鼓励读者将所学应用到实际项目中,开始他们的OO编程实践之旅。 在标签中提到的"类图"是UML(统一建模语言)的一种图表,用于表示类的结构和关系,包括类的属性、...
实战OO_用例建模 实战OO_用例建模 实战OO_用例建模
1. **导入头文件**:在项目中包含必要的OO4O头文件。 2. **创建会话**:使用`Oo4oSession`类创建一个新的会话对象。 3. **准备SQL命令**:通过`Oo4oCommand`对象设置SQL语句。 4. **执行命令**:调用`execute`方法...
开源项目“hit9-oo”是一个专为Go语言版本切换设计的简单Shell脚本集合。这个项目的目的是方便开发者在不同的Go版本之间灵活地切换,以适应项目开发的需求或测试不同Go版本对代码的影响。在软件开发中,尤其是开源...
* 周四:需求设计小组应把制定的本周需求设计文档,发送到项目设计小组负责人处,项目设计小组负责人应及时检查,如对需求文档有不明之处,应及时与需求设计负责人进行沟通。 * 周五:项目组负责人应及时与项目组...
总的来说,OO软件工程涵盖了从需求获取到系统实现的全过程,它要求开发者具备扎实的面向对象理论基础,熟练掌握UML工具,以及良好的项目管理能力。通过对“OO系统分析.doc”、“OO需求.doc”和“OO系统设计.doc”...
ABAP OOALV报表开发,定义变量,选择屏幕定义,创建类,调用函数
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位系统对应...
1. 数据封装与稳定性:ABAP面向对象(OO)编程的核心优势之一是数据封装,它将数据和操作数据的方法捆绑在一起,形成对象。这提高了程序的可维护性和稳定性,因为对象内部状态的改变对外部是隐藏的,减少了不必要的...
在本课程中,我们将深入探讨SAP ABAP的面向对象技术在ALV(ABAP List Viewer)中的应用,这是SAP ABAP开发学习的第10课,专注于OOALV。这个主题对于任何想要在SAP系统中进行高效数据展现和处理的开发者来说都是至关...
SAP OO ALV技术介绍 SAP OO ALV技术是SAP系统中的一种报表控件类,通过调用cl_gui_alv_grid类的方法可以实现ALV报表的显示。OO ALV技术可以满足大多数ALV需求,但有时需要与后续的屏幕开发等集中在一个屏幕中,或者...
在使用OO4O前,首先需要在VC++项目中包含必要的库和头文件。这通常涉及以下步骤: 1. 添加引用:在项目设置中,添加Oracle OLE DB Provider(如msdaora.dll)作为项目的引用。 2. 包含头文件:在源代码中包含OO4O...
在江苏油田勘探开发一体化数据中心建设项目中,OO RES 被用来分析和设计钻前工程系统的需求。该系统的主要功能包括钻前基本信息、钻前工程工作内容、钻杆排运行记录等。 OO RES 方法被用来描述这些功能需求,并设计...
**OOCSS(Object-Oriented CSS)**是一种设计和编写CSS代码的策略,由Nicole Sullivan提出,旨在解决传统CSS在大型项目中维护困难、效率低下等问题。OOCSS的核心理念是模块化和可复用性,通过将样式设计为独立、可...