分享

软件开发应该是自由的吗?

 东北十三少 2024-11-11 发布于四川

记得当年组织刚实施GJB5000的时候,几乎所有软件工程师们对于增加很多管理过程,提交各种报告感到不适。

在大多数程序员的心目中,软件开发应该是自由的,他们应该像国画大师那样在一张白纸上自由地挥毫泼墨,完成自己的作品。

可是,GJB5000的实施,仿佛给他们戴上了一副枷锁——必须要进行这些活动、完成那些报告,否则就是不符合体系要求,QA(质量保证)人员会要求他们改正。

他们质疑这样做的正确性。从刚实施GJB5000的效果来看,软件质量没看得有多少提高,开发效率却降低不少。

所以,软件开发应该是自由的吗?

  • 创新需要自由

软件开发以完成满足用户使用需求的作品为目标,这也是一种创作,而要完成一个高质量的伟大的作品是需要创新的,创新就需要自由。

而且软件开发本身是一个技术活动,软件工程师/程序员在编写代码、设计算法、构建架构等方面享有很高的自由度。他们可以自由地选择使用各种编程语言、框架、库和工具来实现自己的创意和想法。

在这个意义上,软件开发是自由的,因为它允许软件工程师/程序员发挥创造力和技术能力,创造出满足特定需求或解决特定问题的软件产品。

  • 质量需要守规

从另一个角度看,软件工程师/程序员开发出来的软件必须满足一定的质量要求并且在规定的资源内完成开发在规定的期限内交付。

这使得软件开发必须要受到各种限制——资源的限制、开发周期的限制、功能性能的限制、法律法规的限制等。

即便在技术上,也有前人已经归纳总结的各种技术规范需要遵循——需求分析有需求分析的规范,设计有设计原则设计模式要遵守,测试有测试规范来遵循……

不遵守这些限制和规则,软件工程师/程序员就不可能开发出用户满意的软件产品。

所以,软件开发在技术层面上是相对自由的,允许软件工程师/程序员自由地发挥创造力和技术能力。然而,在法律、许可、市场和道德伦理等层面上,软件开发也受到一定的限制和约束。

实施GJB5000B并不是给软件工程师/程序员戴上的枷锁,而是通过总结业内的优秀实践,给他们指示了一条软件开发的正确之路。软件工程师/程序员可以在这条道路上发挥自己的创造力和技术能力,创造出用户满意的软件产品。

这正是:

软件开发有自由,同时也应有约束
五千总结好实践,指明开发正确路

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000培训、内外部评价以及软件过程改进、软件工程能力提升的研究工作。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多