从CMMI1-5级来看一个公司的成长阶段

       CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型),申请此认证的前提条件是该企业具有有效的软件企业认定证书。

目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。

这里说一个信息,申请CMMI认证各个地区是有奖励的,可以咨询下当地有关部门。

      言归正传,本人在不同类型的企业亲自参与过3-5级的CMMI实施,在这里总结下个人的经验。

1. 初始级(创业期)

      软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。

      初始级对应的是刚开始的创业公司、自己组织的工作室等小型团队。这个阶段在正常的情况下可以快速的产出一个系统。中间存在的问题有

      a.团队中必须要有能力很强的人

      b.产品不能太大,功能不能太繁杂

      c.不需要考虑后面的扩展和版本更新

比较多的案例有:网站、公众号、小程序、融资推广的应用等。

2.可管理级(发展期)

      建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。

      适合接外包项目的小公司、小程序开发公司等公司

       对于外包公司来说,转包方会将需求、调研的原型等都整理清楚,基本不会有太大的变动。而企业网站、小程序、公众号这些公司,基本都是接同类型的多个项目,公司已经形成了一套简单的开发流程。并不需要什么需要调研、系统设计、详细设计、系统测试等,一般只做简单的单元测试。

        在这些情况下只需要基本的跟踪就可以完成项目。

3. 已定义级(盈利期)

       已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。

       适合较大的外包公司,项目开发公司。当承接项目以后要解决几个问题。

       a.需求           通过与客户的交流采集需求内容。

       b.硬件           根据需求,技术需要分解出需要使用到的硬件

       c.网络布局    根据需求和硬件,负责技术(开发、数据库管理员、网络管理员)需要整理出网络图谱图。

       整个过程必须文档化,产出的文档一般有:投标书、项目预算表、需求分析、系统设计、详细设计、数据库设计、测试用例、验收文档、操作手册等。

       开发过程标准化:通过甘特图实现模块划分、人力资源划分、里程碑。通过甘特图掌握项目进度,在有需求变更或进度有变化的情况下可以追踪和改善开发流程。

4. 量化管理级(稳定期)

       分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。

      能采用第4级方式做软件过程的一般都是在公司财政稳定、项目大、产品要求高的情况下才会实施。一般适用的公司包括第三级和一些大型集团公司,也包括一些拿到比较高融资的产品公司。

      项目公司:比较容易体现的是在做项目的过程中,项目组会提炼一些项目中的组件或者将整个项目做整理,以便以后在项目                          中可以重复使用。并且通过多个项目的实施以后能总结出经验,能够保证项目进度没有偏差。

      产品公司:在这个阶段的产品公司应该是已经有第一代或更高的公司产品了。通过高融资以后为了提高用户体验和产品的性                           能。是需要采用第4级来规范开发流程,提高产品质量。

5. 优化管理级(成熟期)

       过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

      虽然有很多公司已经拿到了CMMI5的证书,其实真正达到这个阶段的公司很少。能真正实施的应该算行业内已经很有名了,在完成本身开发规范的同时,还能在过程中总结出有利于行业的一些标准、建立标准。

以上非通过官方说法,只是通过CMMI每个阶段对应不同阶段的公司个人看法。

个人感觉现在的公司大多包括 外包公司  项目公司  产品公司。

当然做小程序的和官网的怎么分类还真不清楚。如果是配置就可以给别人使用的小程序应该算产品的,毕竟通过开发一个自己的产品给别人自动生成、但是有限制性。还有定制的应该归为项目类。

 

你可能感兴趣的:(开发流程)