微软软件项目管理揭秘

  目前,软件开发管理一直是一个令人困惑的难题,因为没有一种固定模式可以让程序员和项目经理参考。而微软为何能够开发出一个又一个成功的商用软件产品呢?这是业内人士非常希望学到的宝贵知识。

  本次技术大会上,微软软件开发项目管理课程受到了开发人员和项目经理的追捧。微软亚洲研究院高校关系部亚太区项目经理栾跃和与会者分享了微软的宝贵的经验。栾跃表示,开发工具和编程技术在软件开发中的作用同软件项目管理相比是次要的,一个软件开发项目的成功,关键在于如何进行良好的项目管理,这是软件开发之本。

  软件开发的挑战

  软件开发可以说是人类历史上最艰难的工作之一。软件开发所面临的独特挑战包括由技术、人员、资源、时间等带来的风险和困难,市场的迅猛发展逼迫企业利用各种背景的开发人员,软件复杂性的增长以及大型系统对领域知识的要求使得多人合作和团队式开发模式成为必须,商业模式要求开发过程必须可重复,很多开发公司或团队仍旧采取小作坊式无规范的任意性管理和运作方式。

  在软件开发流程方面,到目前为止,还没有一个放之四海而皆准的标准。世界上没有一个模式和管理方法可以确保能够开发出成功的软件。栾跃表示,包括微软在内,都处于一个不断学习和摸索的过程中。很多软件公司的管理处于“救火状态”,哪里出现问题,就补救哪里。

  缺乏完善的项目管理使得开发出的产品无法满足客户的全部需求—开发项目拖延,导致无法按时交货;出现质量问题,导致客户不满;产品完成,但项目费用严重超支;由于计划安排不当造成延迟,导致以加班方法来补救。

  开发项目成功与否并不仅仅基于技术原因。有优秀的软件开发人员和高超的技术,但没有良好的项目管理也是不行的。

  很多软件并没有实现客户所期望的功能,这也是一个相当严重的问题。产生这些问题的原因是多方面的,比如没有完全了解客户需求,采用的技术和商业指标不相符或团队之间缺乏良好的沟通。任何一个问题都会导致项目失败。在沟通层面来讲,团队成员之间需要一种工具把工作串联起来。而团队领导,能否对项目进展进行良好的追踪也非常重要。

  对软件开发实施管理

  那么如何避免失败,提高成功率呢?栾跃表示,培养和提高软件开发管理能力,学习软件开发项目的基本知识,在团队中培养和使用从事项目管理的专业人员进行开发管理,在企业内推广良性的开发管理运作流程,免除运作的随机性和任意性,建立可重复性的操作,建立开发历史的数据档案,逐渐为团队建立一套严格的开发流程的规章制度等是提高软件开发成功率的要素。

  此外,软件开发需要能够尽早地发现错误,改正错误。错误发现得越晚,对于软件开发造成的损失越大(参见附图)。例如,如果在需求分析阶段发生错误,那么最多就是把需求分析写一遍。损失的是一个人的劳动,而如果到了测试阶段发现了需求错误,再回去重新做需求分析,那么损失可能是致命的。

  软件开发工作需要三大支柱,首先需要最基本的技术和技巧,这是具体的开发工作,包括软件架构和编码工作。其次是团队的协作,现代软件开发需要大量技术人员,如何很好地协作是一个巨大的挑战。最后是现代化节省型生产模式的运用。通常人们容易忽略第二、第三项,这也是项目经理需要引起重视的要点。

  软件开发项目的成功需要整个开发部门使用统一的管理工具,各个开发团队能够进行高效的沟通和协作,各个开发团队按照统一的运作流程进行操作。这三点是绝对不可缺少的。

  总之,在软件开发过程中,软件管理包括以下方面的工作:决定项目启动时间,确定项目范围,制定项目任务的重要性和优先顺序,确定具体的项目工作任务和工作单元,分配项目资源,估算完成工作任务单元的时间,制定项目时间表,计算并管理项目费用,项目执行管理,项目收尾。

  高效的项目管理需要借助优秀的工具,现代化的管理工具可以为你提供关键的帮助,帮助你推行管理的流程模式。现代化的管理工具提供项目进度追踪的各种手段,如时间表、纠错状态、工作任务完成状态等,提供帮助整个团队进行沟通和信息分享的手段并推动开发流程不断的自我优化。微软的Visual Studio Team System(VSTS)就是这样的工具,它帮助用户达到事半功倍的开发效果。

  使用工具控制开发周期

  软件开发包括五个基本流程:启动、计划、执行、控制和结束。其中最重要的是软件开发生命周期具有重复性的特点,比如开发过程经常从控制测试阶段返回到计划阶段,然后再重新进行设计执行工作。这种循环就是软件生命周期的不断循环。软件开发管理的目标就是让这个循环变得更快,尽早尽快地发现问题,并返回纠正问题。在一个开发过程中,可能需要多次进行循环。作为项目经理,就需要使用VSTS这样的好工具,控制循环过程。

  栾跃表示,微软就是按照这样的方法进行开发的。定义每个阶段、每个里程碑,同时定义到达某个里程碑之前需要做的工作。在微软,更改管理是非常严格的,找到错误之后,程序员不可以随便更改,必须经过严格的审查,通过进一步的调查来判断是否有足够的证据表明这个错误可以修改。修改完成后,测试工程师必须对修改进行验证。

  开发过程中,需要团队进行良好的协作。微软根据软件开发团队的成熟级别进行分类,总结出五种类型(参见本文附表)。栾跃表示,目前大部门软件公司只能达到第一级,微软很多刚成立的小型团队只能达到第二级。现在大部分团队正在向第三级前进。使用VSTS就可以让团队达到第三级别。如果开发团队还停留在第一级或第二级,那么就还有很多工作要做。

  总之,栾跃向大家建议,成功的软件开发需要贯彻执行项目管理的实践来降低你开发项目的风险,努力提高你的开发团队的协作和沟通能力。

     14780914_200807091605441.gif
在开发早期发现并纠正问题和差错的重要性

     14780914_200807091605442.jpg
团队协作成熟级别表

fj.png1.gif

fj.png2.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14780914/viewspace-374782/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14780914/viewspace-374782/

需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需求响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需求侧管理背景下,冰蓄冷系统如何通过优化运行策略参与需求响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需求响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型求解与结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需求响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统与需求响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计与仿真;③为政策制定者评估需求响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建与算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同时可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值