一、管理原则
1、项目估算和进程安排。项目开始前需要先制定项目进度表:首先要估算项目规模大小,然后估算实现这些规模要付出的代价,最后基于这种估算制定项目进度计划。
2、计划编制
3、项目估算和时间进度
4、确定项目需要多少人参与、需要什么样的技能、何时加入以及具体人选
5、确定项目组运作方式
6、确定项目采用的生命周期模型
7、管理风险
8、确定项目策略,例如:如何控制产品的特色,是否需要购买或自建部分产品
9、跟踪。指定计划后,要时刻跟踪检查它是否在按计划进行,包括对进度、费用和质量等目标的检查
10度量。收集团队以往开发基准数据来分析软件质量和生产率。
二、技术的基本原则
1、需求管理。正确的把需求摆在首位,比被动地这样做所花的时间要少50~200倍。
2、需求分析方法,包括结构分析、数据结构分析和面向对象分析
3、系统建模实践,如类图表、数据流图表、实体关系图表、数据字典符 和状态跃变图表
4、沟通实践,如联合应用开发、用户界面原型、常规会谈实践等
5、需求管理和其他生命期类型的关系,如渐进原型、阶段交付、螺旋型、瀑布型和编码修正
6、设计。模块化和信息隐匿的思想是设计的基本原则。
7、主要设计风格,如对象设计、结构化设计和数据结构设计
8、基础设计概念,如信息隐匿、模块化、抽象、封装、聚合、耦合、层次、继承、多态、基本算法和基本数据结构
9、对具有典型挑战性事件的标准设计,包括异常处理、国际化和本地化、便携性、字串存储、输入/输出、内存管理、数据存储、浮点运算、数据库设计、性能和复用
10、对特殊领域应用程序设计的独有考虑,特殊领域包括财务应用、科学应用、嵌入式系统、实时系统、安全性要求高的软件等
11、架构安排,如子系统组织、分层结构、子系统通信方式和典型的系统架构
12、设计工具的使用
13、构建。当开始构建时,项目成功与否大多就已经注定了。拙略的构建会给你带来细微的错误,让你花费几天或者几星期才能发现和修复他。
14、编码实践(包括变量和函数命名、版面布局和文档)
15、数据相关概念(包括作用范围、持续和捆绑时间)
16、特定数据类型的使用方针(包括通用的数字、整数、浮点数、字符、字符串、布尔值、枚举类型、有名常数、数组和指针)
17、控制相关的概念(包括组织整齐的代码、条件的使用、循环的控制、布尔表达式的使用、复杂度的控制、不寻常的控制结构的使用和递归调用过程)
18、断言和其他以代码为核心的错误检测实践方法
19、对例程、模块、类和文件代码打包的规则
20、单元测试和调试的实践
21、与所使用的特定编程语言相关的其他事情
22、使用构建工具(包括编程环境,群组工作支持,如电子邮件和源代码控制,代码库和代码生成器,IDE等)
23、软件配置(SCM)。使项目在全程中保持一致的状态。SCM包括评估变更、跟踪变更、处理多版本、以及在不同时间保持项目成果的备份等实践。SCM有时以损害项目效率的方式执行着,但如果你想得到最快的开发速度,这是必要的。在大型项目中,缺乏配置管理就是在走一条危险的不归之路。
三、质量保证的基本原则
当软件产品有太多的错误时,开发人员修补它花费的时间可能比编写它所花的时间还多。远离错误的关键就是从第一天开始就注意实行质量保证的基本原则。在过大的时间压力下发布的产品,其错误率是正常情况下的4倍。质量有问题的项目经常是在艰苦地工作,关注质量被认为有些奢侈,但其结果却是项目大多进展迟缓,并陷入更深的进度问题中。
– 易错模块。如果开发速度很重要,那么需要鉴别出哪些是易错模块并将其优先处理。
– 测试。包括单元测试和系统测试。平衡测试和快速开发的最佳办法是在坏消息出现之前做好计划——设计对坏消息的测试,尽早地发现问题。
– 技术回顾。技术回顾是对测试很有用和重要的补充。未被发现的漏洞存在的时间越长,修复的时间就越长。技术回顾包括:走查、代码阅读和检查(程度越来越正式与严格)。
四、按照指导来做
迈克尔·乔丹说过:“做事的方法有对错。你可能每天练习8小时投篮,但是如果你的投篮技术动作是错误的,那么,你将成为一个擅长错误动作的投篮人。不论做什么事,掌握好基本功,你的水平就会提高。”开发软件和打篮球是一个道理,就是要掌握“基本功”。如果你给狗窝刷油漆,不按油漆说明书来也没什么,但是如果你在给波音747刷油漆,不看说明书可就严重地多。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!