;
对软件开发实施管理
那么如何避免失败,提高成功率呢?栾跃表示,培养和提高软件开发管理能力,学习软件开发项目的基本知识,在团队中培养和使用从事项目管理的专业人员进行开发管理,在企业内推广良性的开发管理运作流程,免除运作的随机性和任意性,建立可重复性的操作,建立开发历史的数据档案,逐渐为团队建立一套严格的开发流程的规章制度等是提高软件开发成功率的要素。
此外,软件开发需要能够尽早地发现错误,改正错误。错误发现得越晚,对于软件开发造成的损失越大。例如,如果在需求分析阶段发生错误,那么最多就是把需求分析写一遍。损失的是一个人的劳动,而如果到了测试阶段发现了需求错误,再回去重新做需求分析,那么损失可能是致命的。
软件开发工作需要三大支柱,首先需要最基本的技术和技巧,这是具体的开发工作,包括软件架构和编码工作。其次是团队的协作,现代软件开发需要大量技术人员,如何很好地协作是一个巨大的挑战。最后是现代化节省型生产模式的运用。通常人们容易忽略第二、第三项,这也是项目经理需要引起重视的要点。
软件开发项目的成功需要整个开发部门使用统一的管理工具,各个开发团队能够进行高效的沟通和协作,各个开发团队按照统一的运作流程进行操作。这三点是绝对不可缺少的。
总之,在软件开发过程中,软件管理包括以下方面的工作:决定项目启动时间,确定项目范围,制定项目任务的重要性和优先顺序,确定具体的项目工作任务和工作单元,分配项目资源,估算完成工作任务单元的时间,制定项目时间表,计算并管理项目费用,项目执行管理,项目收尾。
高效的项目管理需要借助优秀的工具,现代化的管理工具可以为你提供关键的帮助,帮助你推行管理的流程模式。现代化的管理工具提供项目进度追踪的各种手段,如时间表、纠错状态、工作任务完成状态等,提供帮助整个团队进行沟通和信息分享的手段并推动开发流程不断的自我优化。微软的Visual Studio Team System(VSTS)就是这样的工具,它帮助用户达到事半功倍的开发效果。
使用工具控制开发周期
软件开发包括五个基本流程:启动、计划、执行、控制和结束。其中最重要的是软件开发生命周期具有重复性的特点,比如开发过程经常从控制测试阶段返回到计划阶段,然后再重新进行设计执行工作。这种循环就是软件生命周期的不断循环。软件开发管理的目标就是让这个循环变得更快,尽早尽快地发现问题,并返回纠正问题。在一个开发过程中,可能需要多次进行循环。作为项目经理,就需要使用VSTS这样的好工具,控制循环过程。
栾跃表示,微软就是按照这样的方法进行开发的。定义每个阶段、每个里程碑,同时定义到达某个里程碑之前需要做的工作。在微软,更改管理是非常严格的,找到错误之后,程序员不可以随便更改,必须经过严格的审查,通过进一步的调查来判断是否有足够的证据表明这个错误可以修改。修改完成后,测试工程师必须对修改进行验证。
开发过程中,需要团队进行良好的协作。微软根据软件开发团队的成熟级别进行分类,总结出五种类型(参见本文附表)。栾跃表示,目前大部门软件公司只能达到第一级,微软很多刚成立的小型团队只能达到第二级。现在大部分团队正在向第三级前进。使用VSTS就可以让团队达到第三级别。如果开发团队还停留在第一级或第二级,那么就还有很多工作要做。
其实,成功的软件开发需要贯彻执行项目管理的实践来降低你开发项目的风险,努力提高你的开发团队的协作和沟通能力。