1 详尽的需求分析 。
2 当面临项目开始时的问题时,您需要正视并处理这些困难和有争议的问题而不应该逃避 。
3 选择正确的技术。
正确的技术能够使您有最大的机会在现有的人力
条件下以最短时间按质量要求完成工作,选择一个抢眼的新技术并没有什么好处,尤其当您不能保证它是否有好处或者找不到正确应用新技术的人的时候。
4 设计一个产品的结构,这个结构要有很好的模块化特性,并且简单易懂。要花时间在设计功能模块和界面上,并且对这些模块和界面进行封装和组织。
5 一旦您知道了您将需要做些什么,您就可以着手准备项目计划。
6 回顾和项目相关的标书,合同和其他高层文件。
如果您的计划表明合同得不到执行,那么为了避免以后的严重问题就必须进行重新谈判。
7 检查设计和代码。
8 确定优先次序。
a) 确保首先将精力放在最紧急的事情,其次是最重要的事情,如果还有余下的时间再去做不太重要的事情。重要的是从客户角度考察事情的优先次序。
b) 确保问题得到充分的解决。
9 处理需求的变化。
不管变化如何小,您都要进行必要的处理,将这种变化的结果反馈给客户或者市场部门。项目发生延迟更确切的说是人们常常认为项目会发生延迟,不要期望在没有更多时间和资源的情况下做更多的事情。
10 让人们努力并机智地工作是问题的关键。
用时间和功能命名交付的产品要比仅仅使用数字命名更好。
您应该相信团队成员,相信他们明白需要做什么,并且会全力以赴做好它。
11 减少风险。
a) 不要仅仅为了使用新的技术语言或者方法而使用它们。
b) 尽量避免不同的语言或技术混用。
c) 减少对其他项目和组织的依赖性。
d) 在项目计划中要包含充分的权变措施。
项目延迟常常是由于一些主要的风险因素,例如新技术的失败或供应方延迟提交产品。
12 不做无用功,如果可以COPY一些有用的功能就不必重写。
13 采用稳固的编程方式。
a) 在开发工具中应用最高级的警告功能。
b) 应用错误检查工具来发现内存泄露,通用代码错误和其他潜在缺陷。
c) 养成在写完程序之后立即测试的习惯。
d) 记下测试出的程序错误并编写报告。
e) 使用可靠的结构和算法。
14 减少“设计-编程-测试“循环的时间长度。
15 在测试方面不惜时间。
16 定期进行产品发布。
您得到的反馈越多您的客户最后拒绝您的产品的可能性就越小。
17 为了防止您的项目延迟,您必须承担领导的责任,进行切实的领导。
a) 担负起责任,不责备他人,不找借口,勇于承认错误并改进。
b) 不要任由他人责备,也不要寻找不具说服力的借口。
c) 为了整个项目团队能顺利工作,您必须做一些领导应该做的事情,即使这些事情并不让人惬意。
d) 如果您知道问题所在就立刻着手解决这些问题而不要无视问题的存在。
e) 要做全局把握整个项目的人。
18 为了节省时间一定要舍得花时间。
如果您有方法能够为整个项目节省时间,那么就采用这种方法,尽管它可能会使工作暂时落后于预定计划。