<一>
软件项目开发成本的70%取决于软件开发人员个人技能,经验和工作习惯。
<二>
也许,你遭遇到这样的困境,新产品开发过程中,有个技术难题阻碍了项目的进度,没有人知道如何解决,何时能够解决,项目计划被打乱,其他方面的工作都在等待这个技术难题的解决,项目费用由于计划的拖延而大大增加,整个项目陷入失控和茫然的局面。
技术障碍和其他风险往往不一样,有时没有回旋或转换的办法,而成为必经之路上的拦路虎,必须克服才能完成新产品的开发工作。但是,把无法预测和控制的技术风险带进正式的新产品开发项目,往往使项目陷入计划失控,费用飞涨的险恶境地,要么等待奇迹出现,要么接受失败的到来。
这种情况是新产品开发项目中必须要避免的,避免的办法就是在正式的新产品开发项目实施之前,通过组织技术预研方式,解决所有不可预测和不可控制的技术风险。一个好的企业,应该牢牢遵守不允许把不可预测和不可控制的技术风险带入正式的新产品开发项目的原则,一个有效的控制方法是通过新产品开发项目批准前的技术可行性评估来把关。
技术预研需求可以通过企业的技术规划、产品规划或新产品立项前的技术可行性评估来识别。技术预研的实施,可以通过一个小的技术精英团队来完成,过程的控制可以相对比较灵活和宽松,不过其实施过程仍需要通过必要的评审和例会来监控。最后,技术预研成果仍然需要通过验收来评估是否达到预研的目标。
(注:语段出处http://fourp.bokee.com/1142138.html)
<三>
根据国外研究机构统计,真正成功地发布软件产品的项目只占项目总数的16%左右,大多数项目都因为需求不完整、缺少客户的参与、缺少资源、期望值过高或缺少高层的支持等原因产生延迟甚至失败。
<四>
两个人在草原上遇到了一头狮子,这两人转身就跑,跑在后边的人边跑边问跑在前边的人:“我们为什么要跑啊,再跑也跑不过狮子。”跑在前边的人回答说:“我没必要跑过狮子,只需要跑过你。”
——史蒂夫。鲍尔默
<五>
软件测试八原则
中国软件评测中心的测试原则,就是从用户和开发者的角度出发进行软件产品测试的。
为了达到上述的原则,需要注意以下几点:
1.应当把“尽早和不断地测试”作为开发者的座右铭。
2.程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。
3.设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。
4.一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。
5.对测试错误结果一定要有一个确认的过程。一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。
6.制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
7.回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。
8.妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。
出处:主编:钟 珞,副主编:潘 吴,《现代软件工程学》第10章第3节,国防工业出版社,2004/08