代码改变世界

04软件需求读书笔记(四)

2017-10-17 14:12  ovols  阅读(124)  评论(0编辑  收藏  举报

  故事四:CMM,软件成熟度模型。这是在80年代的时候,软件大牛们深感软件问题重重,为了帮助规模庞大的组织改进软件进度和质量制定出来的方法论,用来指导软件开发过程。现实状况是,美国国防部用CMM测量承包商的组织力量,很多印度公司都拿到了CMM3级及以上认证。因为CMM太过复杂,庞大,读完CMM的整个文档需要花费你一生的时间,后来大家才针对它提出敏捷式开发。

  从这个故事之中我们可以看出,早已成熟的方法,或者是大家都认可的方法不一定是最好的方法,我们不能因为某一些官方的、或者公认的“好方法”来判断自己应该用什么方法。我们在自己的编程生活中应该存在属于我们自己的思考:我们的项目到底适合什么样的编程方式,公认的方式是不是最好的最优解,我们能不能考虑出更好的一些解决方法?而不应该死板的套用前人的模板和方法。同时我们也可以看出,无论在什么时候,编程的宗旨都是将一个系统分解为几个结构,然后将结构分解为功能,功能在分解为函数或者方法。也就是由繁化简,将复杂问题简单化,然后解决简单的小问题,最终达到解决复杂问题的最终目的。