这是我在博客站点(www.almnetworks.net)的第一片文章。 ALM Networks 这个站点将会关注 Application Lifecycle Managment (ALM) 也就是应用程序生命周期管理平台相关的内容,比如:Scrum模式,敏捷模式,微软的Visual Studio开发平台和Team Foundation Server团队协作管理服务器平台相关的内容。我会通过这个站点将我在工作和生活中一些经验分享给大家,希望能对大家有所帮助。
ALM (应用程序生命周期管理)其实是任何一个软件开发人员和任何软件从业人员都应该关心的内容,或者您或多或少已经在关心,只是还不知道这个名词而已。我们的软件行业已经有超过20年的历史,但是直到今天,我们才真正的创造和整理出相应的流程和工具使之成为一个系统。你可能觉得软件可以是从作坊中做出来的,当然很多伟大的软件都是这样产生的,但是所有这些伟大的软件现在也都从作坊中搬出来了,而由一批具备丰富经验的开发人员负责,他们也都在使用某种特定的应用程序生命周期管理工具和某种流程模型来管理着这些产品。所以说,ALM是任何软件产品的核心和根基,无论你的团队有多大,也无论你的产品有多么复杂,我们都需要ALM。
另外一个主要的话题是Scrum模式,仅仅有一个好的平台是不够的,好的流程才是成就高质量关键的关键。在过去的20年中,我们的软件行业尝试了很多种流程管理方法,试图使我们的软件开发更为高效和可控,比如:瀑布模式,CMMI成熟度模型,PMI项目管理模型等等;但是这些模型都忽视了一个问题,软件开发本身就是一个不断探索的行为,开发人员在开始写代码以前永远不知道他到底会使用怎样的方法来解决问题,而且新的问题还会接踵而来,这些流程都无法保证高质量软件的根源在于他们都试图通过一个既定的,预先确定的流程来开发软件,这本身就和软件开发的本事相悖。Scrum模式则是第一个让软件开发回归本质的流程,它使用探索性的流程来解决探索性的问题,帮助我们创建更好的团队,也帮助我们开发出更高质量的产品。
ALM + Scrum + 高质量产品,这就是这个站点所要关注的。
相关资料:
Scrum
http://en.wikipedia.org/wiki/Scrum_(development)
ALM - Application Lifecycle Management
http://en.wikipedia.org/wiki/Application_lifecycle_management
Visual Studio 2010
http://www.microsoft.com/visualstudio/en-us/
Team Foundation Server
http://en.wikipedia.org/wiki/Team_Foundation_Server
Waterfall Model
http://en.wikipedia.org/wiki/Waterfall_model
CMMI
http://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration
PMI or PMP
http://en.wikipedia.org/wiki/Project_Management_Institute