一、背景介绍
在朋友(aehyok)的建议下,初步去了解Visual Studio Online,简称VS Online(即原来的 Team Foundation Service,简称TFS)
VS Online是微软的在线软件项目开发和管理工具,可以把自己的私人项目托管在上面,也可以组建团队异地一起开发和管理项目。提供tfs和git两种源代码管理方式,可以用敏捷开发的流程管理项目,对个人和小的团队很实用。
和github不同在于github都是开源的项目,但是VS Online是私有非公开的项目,当然你也可以选择分享给朋友。
微软的官方介绍:https://www.visualstudio.com/zh-cn/products/visual-studio-online-user-plans-vs.aspx
如何注册属于自己的VS Online,建议参考:http://jingyan.baidu.com/article/3aed632e0691e770108091ab.html
二、VS Online 与 Agile/Cmmi/Scrum
介绍了背景,那就言归正传了。VS Online 和文章标题有什么关系呢?
成功注册VS Online之后,我准备创建自己的project时,process template 有三种选择,如下图:
三、Agile/CMMI/Scrum到底是什么?
Agile:即敏捷方法(也被称为轻量级,lightweight methodology),它是一组开发方法的统称。
CMMI:全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型),其本质是软件管理工程的一个部分,其目的是帮助企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
Scrum:是一种迭代式增量软件开发过程,通常用于敏捷软件开发。
本打算深究一番,但是发现这里面的水太深,因为它涵盖的范围太广,没有相应的项目开发管理经验是领悟不到这种思想的精髓所在,于是决定按陶渊明的不求甚解态度来学习,我一定会再绕回来的。
我简单的归纳下自己对其特点的理解:
CMMI:更担心项目失败,CMMI的沉重的但是保证一次成功的理念显然更适合,项目的特点也在于大型团队/强分工/长周期,如政府的项目
Agile: 担心没有创新,担心慢人半步,项目特点适合小型团队,更强调灵活性,如google
Scrum:恕本人愚钝,无法用文字表述,还望各大神指点
注:本人选择的是Agile模式
借鉴的文档:
Agile - 瀑布、迭代式瀑布、Scrum、Lean的不同 http://desert3.iteye.com/blog/1694288
CMMI与Agile敏捷开发比较之一:两者的本质区别 http://blog.csdn.net/cheny_com/article/details/6423463
推荐的文档:
agile/scrum 如果一切都从解放前开始 http://www.cnblogs.com/Cmpl/p/4064581.html
敏捷开发之Scrum扫盲篇 http://www.cnblogs.com/taven/archive/2010/10/17/1853386.html