关于敏捷开发的26个心得敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发
在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征
换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态
■用例一完全能够运行后再开发用例二
厨房里有一种说法正好可以印证这个问题:“做好一盘菜后你再做下一盘”.对于软件开发来说一个最大的问题就是人们喜欢并行开发多个任务
因为不可避免的,我们设计的功能中总会有一部分会被放弃砍掉,如果提前开发,很可能做无用功
一次只开发一个用例(或很少几个用例,这根据你的开发团队的大小而定);让这个用例功能完整;让相应的测试用例都能通过;相应的文稳都补齐;只有在当前的用例完全开发完成后,才做为一个整体提交到版本库,才进行下一个用例
■避免提交一个半成品
这一点大家似乎都知道,但这条原则必须列入任何一个开发指导里
能够听取这些忠告进行开发测试然后提交代码的程序员一定不会发生代码提交到版本库使整个项目无法编译码通过情况
如果系统编译失败,那一定是有人抄近道到了
■不要在还没有任何使用案例的情况下设计通用模块
只有在你知道有具体用例的情况下,你才可以实现一个具体的类,而且你在该类中只应该实现当前该用例需要的方法
你也许会想到将来这个类会有其它的用途,你可以用注释的方式记录一下,但不要去实现它,只有在有了具体用例后你才可以实现它
■一定不要在没有使用例的情况下往类里添加成员方法
这跟上面一条极其相似,除了这里针对的是数据成员
开发人员很容易想到:一个‘客户记录’里应该有‘送货地址’的信息,但一定不要在没有任何用例要求这个属性的时候实现这个属性
不要■害怕做决定;不要害怕改变以前的决定
敏捷开发的目的是应对客户需求的不确定
开发前期你不可能获