读James Rumbaugh对软件开发人员的建议有感

James Rumbaugh给中国软件开发人员提了三个建议,稍有体会。。。小结如下:
1 迭代式的开发
2 设计先行
3 持续提高的软件技能,不要做重复的工作。

先谈第一点,迭代式开发... 其实软件的复杂性,往往在于我们很难遇见到未来软件的需求和变化,所以如果想一次性构建一个完美的软件系统,是非常困难的。但是,完美的软件系统却是每个优秀软件开发人员的终极目标,如何去达到这个目标,确实是要经过不断的迭代开发,不断优化的。

昨天和一个同事在讨论目前系统的某个模块的设计,我对这个模块的设计方案基本上赞成,但是我认为在未来还存在很多优化的可能,所以目前最重要的是开始这个模块的开发;我的同事则认为要一次性就把目前这个模块的设计方案做到最好,其实他太理想化了,软件总是要不断提升的,我们不可能一次性把所有的设计都做到完美的... 持续迭代改进是一个最佳方式。

设计先行,以前我确实很少做设计,系统架构在脑子里形成之后,就没有做任何设计进入编码了。现在成为一个系统架构师,公司环境也发生了变化,慢慢更加注重于系统需求和设计,回头来看,仔细地设计确实能够对整个系统的质量和全面考虑有很大的影响。

设计也是一个思考和分析的过程。每一个软件项目,都存在许多要解决的问题,如果把这些问题分析清楚,做好优先级排序,逐一提出解决方案,并领导整个技术团体一起完成问题的解决方案,这个是优秀的软件技术人员应该有的整体意识。

提高软件的技能,不做重复的工作。。。这个对软件开发人员的要求了。其实软件的生成,最后一个环节还是在于具体的开发人员,每个开发人员确实要不断提高自己的水平,其实最基本的理念就是:Never do “Copy and Paste”,COPY和PASTE就是意味的重复的劳动,由此带来的代码质量和维护成本,都是惊人的。虽然已经逐渐离开了编码,但是我对这个理念深信不疑。优秀的编码人员确实是决定软件质量的关键一环。

不做重复的工作,同时也是对公司系统架构师的一个要求,系统设计架构,必须具备一定的设计高度,要有层次性,可重用性,重复的架构设计导致的重复开发,更加是公司一个巨大的浪费和成本。








阅读更多
个人分类: 编程&设计
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭