主办方:省软件协会

地点:武汉光谷软件园C6栋1楼报告大厅

与会者:多数为武汉软件公司,宜昌除我公司外未见公司参加

会议时间:2011-12-8 14:00 – 17:00

讲师:微软中国 开发工具技术服务部

研讨命题

1、 如何使用VisualStudio2010来管理软件开发的生命周期

2、 如何运用VisualStudio2010来实现各种项目管理方法论

3、 云计算下如何使用VisualStudio实现项目服务及测试、计算托管

感想

1、本企业如何应用

微软的软件开发产品架构完善,且有很多实际利用这套工具的开发案例。但相应的,要熟练运用这套工具不仅需要熟练的开发人员,项目经理、配置管理人员、文档管理、测试人员的素质都要跟上,而且按微软的工具应用教程,如果完全应用到公司的某些开发项目上(譬如XX人力资源或是传真项目),所要使用的人员起码还要再加一倍,而且必须是素质相对比较高的人员。而且,微软的案例也大多是高端软件企业,譬如上海石化盈科等等

由此,我感觉微软的这套产品无疑是完善的,但要使用到中小型开发企业和需求多变的项目中还需要根据实际情况加以裁剪和应用。具体如何裁剪,需通过以下几个生命周期来予以考虑:

1) 立项

在这套开发工具中,立项这个环节可以通过与TFS集成的SharePoint来完成立项相关文档的发布和版本管理。而且完全可以公司的制度建立相应的文档发布模板。

好处:可以根据生命周期模型建立相对固定的立项时的流程和文档

难点:

Ø 立项的文档及相关模板是在不断改进的,作为公司来讲进度、质量的压力很大,这部分工作很难及时定期改进,目前公司的《项目章程》的版本已经有近一年半没有改进了。

Ø 要有相应的架构师研究TFS的模板功能,这个需要理解项目管理的人员和一定的开发能力

2) 需求分析

(1)原型工具

微软对需求分析这块倒没有什么出彩的工具,个人感觉我们公司现在使用的原型工具Axure还是很先进的,在目前实践过程中的问题是:部分客户理解不了Axure生成的原型(原因很多:想象力低、接触B/S项目少等,譬如B项目),而且原型的保真度有高有低,遇到低保真度的原型时,可能开发出来的迭代版本与客户根据原型想象的版本之间还有差距。但高保真的原型(譬如A项目)是相当耗费成本的,不是高额项目根本承担不了这一成本。但低保真原型是目前短周期、低投入项目唯一适应性较高的做法,至于理解差距只有通过版本的加快发布来弥补。个人感觉,项目型的软件开发在需求分析上是最难的,因为客户的素质参差不齐,譬如某厂的车间系统,客户方使用负责人XX可以说每个版本的发布都参与了,发布的时候也通过了他的认可,但实际应用时,又提出车间员工操作不方便,提出了改进需求,通常这些改进就要耽误其它项目的开发进度,而且员工一般不愿意维护老项目,一方面是精力不够,另一方面老项目的确是个费力不讨好的工作。

(2)需求分析文档的弃舍

对需求分析说明书(文档)目前团队内有两种倾向,一种是觉得不必写文字的需求分析说明书,晦涉难懂,直接用原型表达即可。且有的客户根本不看这个(譬如XX集团);另外一种倾向是测试部门需要需求分析文档,但应该说测试部门需要的需求分析主要是围绕项目中各模块的测试要求(譬如压力指标、输入输出范围、客户描述等)。

因此,目前各个项目除非客户特别要求,基本停止了需求分析说明书的编写,而改为原型说明,部分要求高的项目还加上了业务流程图的说明。而对测试这边,加入了数据字典,对测试用例加强了输入输出范围的要求,在测试计划中补充客户描述和测试背景等资料。

3) 系统架构

Visual Studio本身是有一套UML建模工具,但在本公司的实践中这个工具是没有用到的,一方面是在项目建制上架构师资源是很缺乏的,根本没有相应的架构人员来专职负责架构,另外一个问题是,需求一直在变化,架构的改变也会变得频繁,偶尔的变动就会导致架构的部分重构,架构人员在进度压力下,就无法及时更新架构模型,只能以完成兼任的开发任务为优先,改动的架构就以口头沟通也能达到相应效果。而且公司目前也有比较成熟的三层架构模型,基本所有开发人员都能理解和明白这个架构,因此,建模架构在目前看来并不是特别的需要。除非有相当大的项目,拆分为2个或以上的项目小组并行开发,或者采用较新的架构模型,我觉得才有必要配置专职的架构师人员维护各个版本的架构模型。

从公司明年的规划看,架构也会由XX的小组来专职负责审校和推出标准架构,这样一方面规范了一套可积累的基础架构,也避免了架构师必须对各个项目需求深入了解的时间不足的问题。

4) 代码实现

这一环节,是工作量最大的,其实也是细节最多的。微软在这方面做了很多人性化的改进,对开发者来说,确实方便了很多的。更重要的,这套工具将代码实现与项目管理进行了有机的结合,譬如说任务管理、进度跟踪、代码出入库等,但还是前面那句话,大公司有大公司的用法,小公司有小公司的用法,目前我们的实际中,任务管理和进度跟踪基本上还是利用Excel来完成的,实际过程中,利用的最好的还是代码的出入库管理,也就是说只用到了基本功能。这并不是我们不会用,而是要实现上述所说的任务管理、进度跟踪、需求变更等需要比较专职的项目经理,或者专业的配置管理员,目前看来,用Excel来管理进度和任务,用word来管理需求变更也足够了,将这些嵌入到Visual Studio中诚然更好,但只有相应的主动使用的情况才会有效,否则就流于形式。另一方面,将任务、进度、变更集成到Visual Studio中去管理,其实也是对比较上规模的开发企业有效,因为可以根据各个项目分析各种项目指标,目前对我们来说还没有必要,一方面项目组成员经常变化,比较缺乏说服力基础;另一方面,项目经理身兼数职,难以做到专业化。

5) 测试环节

个人觉得Visual Studio的测试是最好的一个模块。很多先进的测试概念(单元测试、测试驱动、自动化测试、测试用例、版本发布管理、自动化构建)等都有体现,但具体应用时,感觉测试部门基本能掌握这些工具,但在使用时明显感觉精力不足,基本上这些测试工具还停留在未使用的状态。

单元测试因为需要一对一的写代码,这需要大量的时间与一对一的专职测试,目前测试人员的代码和时间都比较欠缺。

测试驱动也比较耽误进度,这与测试人员关系不大

自动化测试是我极力想推进的,但测试部门使用的过程中反映因为需求变化较快,界面和功能变化后,当测试任务较多时,自动化测试很难及时更进维护。但我还是想在合适的项目中试行一下自动化测试。

版本发布管理目前是手工操作的,目前问题主要是内部的版本发布较频繁,基本上是在测试人员电脑上即时生成,并没在相应的测试环境上发布,只是在发布到客户环境上发布到测试环境上。目前看来还是能满足要求的,可以维持现状不变。

自动化构建目前是需要推广的,但要重新搭建一个新的TFS服务器场,目前需要重新研究一下TFS中自动构建的多服务器构建再行推广,因为项目较多,不同项目的构建环境不同。今天会场上也咨询了微软许Sir,应该是可行的。

6) 实施

实施的问题,主要是现场与后方的沟通误差的问题,这个主要靠项目经理的经验弥补,另外客户在现场施加的压力也是很大的,容易造成过程管理的失控。除非是系统上线期间,一般建议不要在现场开发。

7) 维护

维护的成本越来越大,项目的差异性越大,带来的维护成本与维护问题也越来越多。目前组建专职的维护部门是不可能的,只能靠完善的代码和项目文档资料来弥补。

其它

个人感觉,湖北的软件公司对新技术的热情并不高,很多使用Visual Studio开发的公司连Hyper-V都未听说过,对各种VS的先进工具在会场上也有较多人提问,而且所问的问题基本上我都可以回答,在项目管理上也未见有精彩提问,也许感觉比较偏颇,但确实感觉在场提问的公司在项目管理和新知识的掌握程度上与沿海差距较远,可能其它未提问的公司有能力较出众的也不一定。

以上为本次会议本人的一些感想,希望能引导大家积极思考,起到抛砖引玉的作用。

转载于:https://www.cnblogs.com/georgehu/archive/2011/12/09/meeting1.html

软件生命周期管理研讨会有感相关推荐

  1. IBM Rational产品与协作软件生命周期管理

    CALM核心思想 在IT技术飞速发展的今天,软件产业又迎来了新挑战:开发人员分布在全球各地.应用软件业务逻辑不断复杂化,进度压缩得不能再压缩.再加之,为了抢占市场,要求产品速度推陈出新,从而导致软件生 ...

  2. 软件生命周期管理(ALM)

    软件生命周期管理(ALM) ALM(全称:Application Lifecycle Management)是面向研发生命周期管理的软件,包括项目计划.项目进度.工时管理.需求管理.测试计划.测试用例 ...

  3. 技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM

    Helix Core是Perforce公司旗下一款集源代码管理和内容协作为一体的版本配置与管理工具,可以帮助您管理随时间推移而产生的数字资产(代码,文件等)变更,处理每天数以千万计的传输,上千TB的数 ...

  4. SPASVO 软件生命周期管理 ALM V2.1 正式发布!

    ALM是面向软件研发生命周期管理的工具,实现了从产品概念设计.需求分析.历经项目计划.项目进度.配置管理.工时管理.测试管理等阶段,直至项目完成的全过程管理. ALM V2.1新增功能模块如下: 1. ...

  5. 【ALM】软件应用生命周期管理——Polarion介绍04

    随着各种信息通讯技术的快速发展,软件在产品开发中的重要度上升已经是跨行业的趋势,各个行业的产品都需要软件的加持.产品的创新,用户体验的改善,产品的竞争差异往往通过软件部分体现. 比如人工智能技术应用在 ...

  6. 什么是ALM?应用程序生命周期管理体系有哪些?

    随着应用程序开发市场的不断演变,越来越多的应用工具出现在我们面前,而这些新的工具具有很高的集成度,优化了原有单一开发工具开发软件的现状,使软件开发更先进,综合性也更高.因此,建立一套ALM软件生命周期 ...

  7. 软件开发流程和生命周期管理

    以终为始,方得始终. 我们开发软件最终的目的是交付出完整的软件项目或可靠的软件服务.但是我们在开始软件开发之前,拿到的需求大多数情况下是模糊的,不准确的.假设在我们的组织架构中没有一名专业的产品相关人 ...

  8. 对话《旅行青蛙》制作团队:游戏就是将现实中的不可能变为可能 | 覆盖客户全生命周期管理,神州云动六朵云来袭

    每一个企业级的人  都置顶了 中国软件网 中国软件网  为你带来最新鲜的行业干货 小编点评 自从我养了青蛙以后 心里多了一份牵挂 娃儿的吃的够不够 帐篷好不好 当然啦 作为一个互联网人 我一边牵挂我得 ...

  9. 从软件生命周期看应用安全(网络安全)

    文章目录 Predefine 何谓应用 何谓安全 何谓软件生命周期 孕育 - 请给"树"一个好的基础 单人种树-艰辛也省心 多人种树-众人拾柴火焰高 团队种树-持续成长 诞生 - ...

最新文章

  1. 非极大值抑制NMS的python实现
  2. nagios新添加服务有时显示,有时不显示问题解决
  3. uvalive5989(水题)
  4. js 常用的正则表达式
  5. MVC后台数据赋值给前端JS对象
  6. 晨哥真有料丨宁缺毋滥会等来一个很好的人吗?
  7. Sublime Text 3的中文显示乱码问题
  8. 如何实现复杂FPGA设计的时序收敛
  9. 软件测试与发布,软件测试与发布技术
  10. Google的十个核心技术,互联网营销
  11. [Linux实用工具]Windows下同步Linux文件(Linux安装Samba和配置)
  12. Android心电数据分析,基于Android的心电信号分析系统研究
  13. 安装CLOVER引导器到硬盘EFI分区
  14. Layui laypage分页
  15. html一键删除空白格,如何一次性删除空白行 word里的空白行怎么批量删除
  16. Shiro记住我无效,被拦截;
  17. RK3328安装liunx(ubuntu16.04)RK固件
  18. Android 人脸解锁源码剖析
  19. 先卸载 nvidia-387.26驱动,再安装nvidia-384.81 驱动
  20. 「学科总结」 《运筹学基础》

热门文章

  1. linux命令提示符不同,Linux命令提示符如何按照自己的习惯修改?
  2. android中shape资源定义,Android中drawable使用Shape资源
  3. server2019 sqlcmd命令安装_Ubuntu20.04LTS安装MS sql-server2019的方法
  4. HTML+CSS+JS实现 ❤️H5图片列表滑动特效❤️
  5. HTML+CSS+JS实现 ❤️仿切水果小游戏❤️
  6. 区分错误类型_牛鹭学院:Bug类型解析及其常见实例介绍
  7. php文件夹下所有视频播放,PHP使用glob方法遍历文件夹下所有文件
  8. Java 获取集合元素的值
  9. c语言10个数求立方合并输出,C语言 求出100~999之间的所有“水仙花数”并输出...
  10. 人体轮廓_人体艺术:赏世界著名的女人体油画:身体轮廓