人月神话作者Frederick Brooks有个著名观点,软件开发生产率不可能像硬件制造生产率那样跳跃增长,五十年来软件的发展史验证了Brooks的预测。开发环境的提升,自动化工具的引入,软件工程的进步,CMMI等带来的变化,都不足以让软件开发产生质的飞跃。归其原因,我们一直用静态、已知的方式,尝试解决动态未知的软件开发,滞后的学习成本和人的能力短板造成巨大的返工,自然软件开发生产率难有革命性的突破。
CMMI的主题是通过使用经过验证、有效的开发过程,保证开发质量,提升效能。执行的过程一定是已知的,不具备开发过程中的高效学习能力。虽然持续改进是CMMI的主旋律,但也很难跟上动态项目的学习、创新的步伐。所以这个效能提升往往有个不高的天花板。
任何大的改进都需要一个不短的周期,新的过程的形成、落地也都耗时耗工。问问那些敏捷转型的组织、数字化转型的组织、CMMI改进的组织,他们的改进之旅有多么艰难? 又有多少看到了成倍的提升效果?
突破软件开发魔障,打破CMMI硬伤的希望在哪里?我一直寄望于人工智能技术,让机器学习、自然语言处理、模式识别、大数据等AI手段走进软件开发世界,走进CMMI。也许AI模型会给软件研发自动化插上强大的学习翅膀,一飞冲天,改写Brooks的预言。
昨晚做了一个梦,梦到了AI支持的CMMI带来的一些场景:
AI模型让过程的形成和改进变成对软件研发实战的持续抽象总结,项目过程完全是动态的,实时学习能力让项目团队在开发过程中不断调整、找到最佳研发模式。
我们不再需要预设度量体系,而会有一个动态的度量模型,大数据技术让它可以支持任何管理信息需求。
我看到了一个以自动编程为主导的实现系统,它将从需求到交付的核心产出无缝串接。而智能复用大大降低了对人员的能力要求。
智能的资源调用系统让老板们再也不用担心资源的浪费了。
梦里的CMMI评估变成了对AI系统的评价,真是简单。扔掉了800多页的模型,还有那个几百页保证评估客观、公正的评估方法文档,没有人再去吐槽评估、培训系统了。当被告知不再需要评估师时,我顿时清醒了。
也许真有天人感应,今天一大早在推特上看到一则消息,IBM和Red Hat启动了一个名为Project Wisdom的重大项目。它的愿景就是用人工智能技术改变软件研发,他们要借助社区的力量,打造一个有强大学习能力,理解自然语言的AI研发IT系统。如果这个项目真的成功了,昨晚的梦将不再是梦。
这一次IBM又走到了前头,希望国内具备AI技术的企业,也考虑下这个能改变软件世界的AI应用,努力一搏,让软件更好地定义我们这个世界!
文章来源丛斌博士