软件开发:两大主题主导软件开发
2008年,全球
软件开发领域会呈现两大发展主题: 一是外包会继续影响更多的人,测试人员、业务分析人员和项目经理们需要学会如何应对项目分配带来的种种挑战; 二是敏捷开发会日益流行起来,测试和需求工程需要在这种环境下找到一席之地。
2008年,外包将继续给业务开展方式带来重大影响。据有关测试及质量保证专家预测,2008年,软件测试人员会发现,比以往更多的工作将外包出去,而印度将获得其中大部分外包业务。由于外包明显降低了成本,所以许多公司将从整体上加大测试工作的投入。理想情况下,更多的软件测试会带来质量更高的软件,可能还会为超负荷工作的测试人员减轻负担。 而需求专家也预测,业务分析人员也会感到外包带来的影响。随着外包趋势愈演愈烈,开发公司应当保留业务分析和需求规范,因为这是企业的核心竞争力。与开发团队成员和客户同处一地、平日里经常沟通的情况相比,为外包项目编写的需求必须来得更具体、更准确。 公司内拥有需求工程经验和技能的业务分析人员对需求规范而言总是很重要,但是如果涉及外包,那么这些人对软件质量项目同样必不可少。因此,不能指望分包商会编写客户的需求,否则会存在很大风险。
越到后来,随着更多的软件项目部分或者全部外包出去,日益分散化和全球化的现状会给负责管理这些项目的人带来不利影响。项目经理们必须协调好分散在各大洲、各国家的团队。项目管理专家认为: “不同的文化、不同的时区、不同的语言和不同的习俗会给软件项目带来比前些年更大的影响。项目经理们监管的流动团队会从事日益分散化的任务。” 敏捷
软件开发
作为2008年
软件开发领域的另一大发展主题,专家预测,在2008年,更多的公司会对采用敏捷开发重视起来。他们认为: 现在人们已经越过了敏捷开发在推广中遇到的鸿沟,连坚决反对敏捷开发的人都开始认识到,训练有素的开发团队已经在实践中运用敏捷开发,并取得了很好的效果。
随着许多公司把敏捷开发扩展到其他方法,敏捷开发有望成为主导性的开发方法。可以看到,越来越多的公司正利用Rational统一流程(RUP)等旧方法和敏捷建模(AM)等新方法蕴含的成熟而可靠的策略来扩展敏捷开发方法,尤其是测试驱动开发(TDD)更会得到采用。如果人们认识到如何利用敏捷模型驱动开发(AMDD)来扩展TDD,将更是如此。TDD和AMDD能起到很好的互补作用: TDD非常擅长于详细制订规范、验证需求和设计,但处理高层次问题方面不是很擅长; 而AMDD非常擅长于高层次规范及分析。
业务分析人员在敏捷开发中从来没有扮演过明确定义的角色。而专家认为,业务分析人员会在今年试图扮演应有的角色。他们认为: 敏捷方法常常提到开发人员和客户之间要有密切协作的关系,而分析人员的首要责任通常是促进这种合作。
这就带来了一个问题: 敏捷开发项目要不要用到更加传统意义上的业务分析人员?或者参与分析客户需求的那些开发人员要不要在业务分析和需求规范方面经过更全面的培训和技能训练?而且,业务分析人员的职责也会带来问题,他们从事的项目在短时间内运作,而且遵循增量式或者迭代式开发生命周期。更广泛地说,项目如何才能最有效地管理分配给诸多即将推出的增量版本或者重大版本的需求?
敏捷开发的广泛采用还会促使测试人员考虑自己在敏捷开发生命周期中的角色。敏捷开发在整个2008年会不断扩大影响。一开始,测试人员可能不太适应敏捷环境,但很快就能体会到其中的好处。敏捷环境中的测试对许多测试人员来说很陌生,让他们放弃瀑布开发理念要作一番思想斗争,但他们会在今年看到成效,而这些成效又会刺激更大的发展。 业务分析难题依然存在。
近些年来,业务分析及与其关系紧密的需求工程已经被认为是软件和系统开发领域的重要分支。这还得感谢这方面出版的大批图书和文章、有关该课题的许多讨论区和博客,以及一个行业组织―国际业务分析学会(International Institute of Business Analysis)。预计随着许多公司认识到雇用训练有素的业务分析人员对软件项目成功的重要性,这一积极的趋势会在今年继续上演。
履行业务分析人员职责的那些人可能会专门从事这项工作。或者,业务分析人员的职责可能分派给平时有其他主要任务的多个人,如项目经理、质量保证工程师或者开发人员。不管工作头衔是什么,执行业务分析职能的人必须要有足够丰富的技能、培训、知识、经验以及适合这项工作的个性。
尽管这方面取得了进展,但管理需求工程的人仍要克服一些重大障碍。许多公司仍然缺乏以下能力: 足够到位地讨论、分析、指定、验证及管理软件需求; 而且缺乏用户的积极参与,从业人员也很少使用分析模型; 另外,清楚地传达需求往往也是个问题。
所以,专家建议: 每家公司必须确保,自己的分析人员获得了做好工作所需的培训和知识。 软件测试重视程度仍不够。
软件测试及质量保证专家预测,软件测试厂商们相对波澜不惊的局势会在10月份被其中一家厂商的“重大举动”所打破。2007年,人们对性能测试方面的兴趣和意识有所增强。2008年的头三个季度势必会保持同样的势头。如今性能测试人员能够获得的与工具无关、与厂商无关的培训和教育资料比至少过去15年的任何时间段都要多。市面上出现与厂商和工具无关的众多测试课程就证明了测试日益广为人知的现实。
不过有关专家担心的是,厂商的重大举动可能会阻碍知识的传播。到今年底或明年初,其中一家或几家性能测试工具厂商可能会重振旗鼓,到时我们就可以看一看: 到底是工具厂商们重新掌握大权,从而,这方面的教育和进步恐怕又被抛之脑后; 还是到时会出现足够的教育和进步,从而给企业级厂商们施加压力,要求降低价格或者提供一些真正有价值的产品。 专家担心,测试人员可能没有成功所需的技术专长。他们认为: 这个行业在吸引一流的工程系学生方面根本没有取得足够大的进展,这种情况在2008年不会发生变化。没有技术知识的测试人员无异于原地踏步,从而阻碍了测试工作。
另一个主要问题是多年来困扰整个测试及
软件开发领域的一大问题: 许多IT管理人员事后才会想到质量问题。这些质量保证方面的领导仍需要想方设法教育及指导手下的高级经理们明白质量的重要性,并且付出相关的先期成本。
更多的项目需要管理
越来越复杂的软件给项目经理带来了压力,因为更多的人需要管理。而且可以看到这样一个趋势: 使用即开即用型或者托管型应用的中小公司日益采用自动化编程工具,从而带来了数量众多的“简单”项目。这也给项目经理们带来了更多的项目和更多的人员需要管理。 项目经理为了能够处理所有额外的工作,就需要更多的信息和教育。所以,专家预测,在2008年及以后,项目经理会寻找真正的项目管理知识体。这个知识体将基于心理学、社会学、组织行为学及复杂的自适应系统。但不管是什么,只要对我们有帮助就行。