新兴的“社交编程平台”和“软件协作开发管理平台”很可能引发未来软件开发的革命。那么这种新颖的开发方式对于现有大型软件开发企业来说会不会形成冲击呢?
软件设计与定制化开发企业ThoughtWorks高级咨询师张凯峰也关注过上述新型平台的发展。他认为,受目前云计算、在线开发平台和工作模式等新趋势的影响,上述这种新颖的开发方式逐渐成为可能,它可以让程序员在任意地点完成自己喜爱的编码工作。之前业内有过“威客”、“众包”等概念,不管从内涵还是外延上看都与现在这种新的开发模式有重合的地方。这是业界和社区在不断尝试的新方向。
社交开发与企业开发的融合
这种新的开发模式会不会对传统的软件开发企业造成冲击呢?ThoughtWorks资深咨询师仝键认为,外包行业大都是B2B市场,交易成本很高,信用仍然是很高的竞争壁垒,而目前在社交编辑平台上十分活跃的大多是个人开发者,所以对于B2B市场不会有冲击。
张凯峰分析了企业开发与社交开发的区别:“企业开发作为一项组织行为,有社交开发完全不能比拟的优点。企业开发有自己长年积累的品牌和软件开发品质,这是社交开发难以企及的。在应对需求和计划变化时,企业开发体现出来的一致性、组织性和响应性,会让需求方有足够的信心。在线协作和开发是支持社交开发的基石。”不可否认,社交开发还是无法胜过面对面沟通带来的成效。沟通和反复沟通乃至反馈是软件开发中最容易忽视的问题。ThoughtWorks奉行的开发模式和开发价值观,以“沟通”为根基。
我们也必须承认,社交开发在多数场景下体现出来的松散和灵活性,能让社交开发做企业开发难以实现的系统和需求。“我们期待未来社交开发与企业开发相互融合,各自从对方的模式里吸取自己所忽视的开发方式、工具、管理等诸多方面的优点。”张凯峰说。
云提高开发效率
在基础架构和应用端,我们已经看到了云计算带来的种种益处。那么,云计算对软件开发究竟会带来什么样的影响和改变呢?
OpenStack、CloudStack已经很好地简化了云计算平台的搭建过程,并且改变了一些企业的工作方式,但这只是第一步。接下来,如何运用云计算更好地改变我们的日常生活值得认真思考。ThoughtWorks高级咨询师郑晔分析说:“在我们公司的一些项目中,云已经成为日常工作的一部分,需要时,只要一个简单的命令就可以在云里创建出一个节点,把我们的环境部署到上面,比如将DevOps与云结合起来实现持续交付。这就是我们在软件开发方式上的探索。”ThoughtWorks在探索新的开发模式的过程中用到了很多开源软件。这些软件本身虽与云无关,但将这些开源软件用于云的场景下,则从真正意义上改变了开发的过程。
ThoughtWorks高级咨询师金明概括说,云计算对软件开发带来的影响是深远的:第一,它使得开发团队可以按需快速地得到基础环境,从而快速进行部署与测试;第二,云平台可以包办代码的构建、部署与验证等工作;第三,云还可以提供一些标准服务的API,比如邮件消息、文件系统、持久化等。想像一下,未来的代码库都保存在云端,开发人员使用网络IDE进行开发,当开发人员需要使用某项服务时,只要调用相应API即可;当开发人员保存代码之后,云端会自动触发构建、检查、测试、打包等工作;当开发人员需要部署应用包时,只需要点击一个“按钮”即可完成整套全新环境的创建与部署。这样一来,开发人员只需要关心业务代码的设计与实现,其工作效率将得到极大的提高。
……
关注读览天下微信,
100万篇深度好文,
等你来看……