在整个团队经过三面墙的快速对整个项目的三个方面进行整理了解之后,接下来便开始了开发的流程.
因为项目是新开始的,没有一个现有的开发框架或平台,所以初始阶段搭建框架的工作显得十分迫切.如果没有一个基本的开发框架的话,其他的开发人员也是没有进行相关的开发.
因为基本的项目架构的内容已经设计完成,接下来需要根据架构来搭建相关的开发框架,所设计到的技术都有Kissy,Bui,SpringMVC,Spring,Dubbo,Zookeeper,Ibities,MySql集群等.这些技术是组成开发框架的基本支撑,因为涉及行业及相关的保密协议,这里不再对具体框架的内容进行说明了.
搭建开发框架的任务落在我跟另外一个同事的身上,我们两个运用了敏捷开发里的结对编程方式对整个系统的雏形开始动手了.
大概我们两个人用了一个星期的时间(中间加班到十点十一点是很正常的事情……)从数据库底层到页面上层的分布式框架基本搭建成功.这个过程我还是比较欣慰的,因为虽然在过程中遇到了很多的问题和困难,但基本上都能够解决,两个人结对编程的默契度还是非常的高的.我们遇到主要的困难是集中在分布式这块,因为dubbo和Zookeeper这块是我们之前没有接触过的内容.对于新的事物我们还是比较兴奋的,在这个过程中通过学习,解决问题再学习.
另一个遇到比较大的困难时没有网络,由于工作性质的原因,银行内部开发是对安全非常的重视,我们的工作机里的系统都是行里统一给分配的虚拟机,大家都是在虚拟机里进行开发和设计.因而以前给力的巨人--网络,我们基本上是指望不上了.可以想象一下没有网络工作的样子,不过现在反过头来看,快两年的时间基本上已经习惯了无网络的工作环境.但总感觉有点与世隔绝的味道.
所以在没有网络的环境下,结对编程可以在一定程度上能够把无网络的不利因素化解一些.
这里要对结对编程进行一下说明.
敏捷开发是十几种开发方法的统称,极限编程就是这十几种开发方法之一。极限编程包括了十几种实践(就是一些具体做法),结对编程是极限编程的一种实践。
结对编程技术是一个非常简单和直观的概念,能达到事半功倍的工作效果。但是,人与人之间的合作不是一件简单的事情,尤其当人们都早已习惯了独自工作的时候。两个有经验的人可能会发现配对编程里没有什么技能的转移,但是让他们在不同的抽象层次解决同一个问题会让他们更快地找到解决方案,而且错误更少。
在我们平时的编程当中,如果遇到一个非常难解决的问题(困难到对该项目产生厌烦的态度),那么你势必会希望录求帮助,无论是从信息量庞大的网上(这个路暂时在我的工作环境中是不通了),还是从身边的同事那里,我们都会努力去解决。这个时候不妨采用结对编程试一下,其它的不说,可能感觉就不同。搭建开发框架是笔者对结对编程一次感觉良好的实践体验.
版权声明:本文为博主原创文章,未经博主允许不得转载。