回顾上个世纪70年代,软件开发很简单,因此很容易规范。随着软件项目规模越来越大,软件开发过程越来越复杂,涉及的人、财、物资源也越来越庞大。复杂导致多变,多变带来随意,随意容易使软件开发误入歧途,使开发过程难以规范。所以说规范软件开发过程还必须简化软件开发过程!
说到简化,也有企业走进了“随意化”的误区。自由主义、经验主义随心所欲地发挥,口头协议满天飞,时间紧、人手不足是他们抛弃规范、拒绝监督的最佳接口。其实,简化绝不意味着随意化。
如何简化呢?我认为采用基于构件的软件开发方法就是一种有效手段。通过对应用领域的研究(领域工程),提炼领域需求的共性和变化性,刻画领域模型,设计面向领域的体系结构,开发各种构件,从而使应用软件的开发过程更接近于工业化生产流水线,基于体系结构,用各种构件进行组装。简化了的软件开发过程,变化因素更少,更容易规范管理。
第三,要“标准化”。
前面所说的固化、简化都只是单个企业内部的实践行为,而“标准化”则是整个社会范围内的固化和简化行为。技术标准化、管理过程标准化、度量标准化、应用领域内业务的标准化,都是推动整个软件行业内、软件产业链上各个企业规范软件开发过程的前提基础和有力保障。标准,凝聚着众多企业、科研院所的智慧,同时,又大大简化了标准所规范的领域内软件开发过程。当然,标准化也是规范软件开发过程的征途上最漫长、最困难而又最具意义的一步。