浅陋见解,仅供参考。抛砖引玉,多加指教!
石正
一个计算机技术爱好者! 虽然我拥有了系统分析师的证书,但我仍然是一个计算机技术爱好者!
posts - 119,comments - 73,trackbacks - 0
软件工程第零原则,简称第0原则:所有的软件工作项都有唯一的最佳解决方案。

这里,先定义几个名词:
1、最佳解决方案。比如:在需要使用“懒惰策略”的时候(优化后置),使用“懒惰策略”就是最佳方案;不使用就不是最佳方案。2种方案的区别,关键在于,开发的进度和风险,2种方案的成本是不一样的。
2、团队最佳解决方案:团队最佳解决方案有时也是最佳解决方案,是团队能够提出的最佳方案,虽然不是该问题的最佳方案,但该方案如果可以满足问题的需求,团队又有能力实施,同时,相比向外部请求协助的代价要低的多,此时,基本可以认定该方案是团队最佳方案。这种情况下,采用“团队最佳方案”是最好的解决方法,理由是:满足需求,开发成本低,风险小。

在长期的软件工作实践中,软件小组成员之间经常出现意见不一致的时候。
具体出现的情况分类如下:
1、所有人的意见都是最佳方案的;
2、有一个或者几个人的意见是最佳方案的,有几个或者一个人的意见是不太合适的,或者是错误的;
3、所有人的意见都不是最佳方案,但有一个或者几个人的意见是“团队最佳解决方案”;
4、所有人的意见都不合适,或者都没有解决方案;

出现意见不一致时,容易造成团队内部争执,或者使团队进入到其他低效状态;为了提高团队工作效率,降低开发成本,需要减少这类低效状态的出现,采用合理的方式,是可以减少这类状态的;正面解决问题是其中的一种较好的方式;
在实际工作中发现,正面解决问题是较好的方法;即找到当前的最佳方案,并且让团队成员经过谈论,形成一致意见,或者,在找不到最佳方案时,把该问题记录下来,后续解决,不影响当前工作;
采用这种工作方法的前提条件就是团队所有成员对“问题具有唯一正确的解决方案”的原则形成一致的认识:所有的软件工作项都有唯一正确的解决方案。由于该原则是软件工作的基本原则,所以,命名该原则为:“软件工程第零原则”,简称“第0原则”。

以下对该原则做说明:
1、软件工作中所有工作项都有最佳解决方案:由于,计算机理论基于数学,软件工作中的所有工作项的根本基础是数学,可以说软件工作中的所有问题都可以转化为相应的数学问题,而数学问题是有最佳解决方案的,所以,软件工作中的所有工作项都有最佳解决方案;(这里,还有,成本进度等的量化计算与管理);
2、不同解决方案合适程度是不一样的:有时,几个方案都可行,但,其中是有区别的,区别在于,风险和成本,具体来说在于工作量、工期、运行性能、团队技术熟练程度等;
3、该原则的用途:学习软件知识时,明白所有问题有最佳解决方案,避免一叶障目;团队工作时,减少无效讨论;

该随笔的观点不太成熟,多提宝贵意见。谢谢!


posted on 2007-07-22 19:34 石正 阅读(325) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
浅陋见解,仅供参考。抛砖引玉,多加指教!