全局个体,缺一不可——从完美的结对编程搭档说起
结对编程是极限编程的最佳实践之一。
结对编程活动是由两个人一起完成的,其中的一个坐在前面操作键盘,称为操作手;另外一个在坐在操作手的后面审查敲击出来的代码,称为领航员。
完美的结对编程要求操作手能够更多地关注细节,把当前的功能模块完美地实现;要求领航员不要局限于眼前的功能实现,更多地站在全局的角度考虑如何实现软件的功能。
这样的结对编程才能既确保每个功能正确地实现,又能确保正确实现的功能能够组成一个有机的整体。
既有全局观,又能注重个体,这种思想不仅适合与结对编程,软件开发过程中的大多数活动它都适合。
比如:
计划
一个综合的项目计划本来就是由多个个体的计划组成的。注重个体的思想要求在制定个体计划(如进度计划、资源计划、评审计划、利益相关方计划等)时要考虑各自的约束和条件,确保计划的可行性;全局观要求确保各个个体计划是协调一致,以及站在全局的角度考虑各计划的平衡。
风险
识别项目风险的时候,既要根据组织的风险源和风险类别去识别出个体风险,也要站在全局的角度去考虑全局的风险,特别是在项目的早期。
评审
评审的时候,要有人注重细节,发现工作产品各组成部分中的问题,同时也要有人站在全局的角度考虑工作产品与需求的不一致性,软件的变更对整体架构的影响等。
……
我们耳熟能详的“在战略上藐视敌人,在战术上重视敌人”也是这种思想的另一种表现。
如果我们把软件开发过程视为一场战争,我们就要坚持“在战略上藐视敌人,在战术上重视敌人”的思想,既看全局,又看眼前,它能帮助我们打赢战争,也能帮助我们开发出优秀的软件。
这正是:
开发犹如一场仗,战略战术都要强
总览全局和个体,能让双方都满意
参考书目:程序员的思维修炼:开发认知潜能的九堂课,作者:(美)亨特(Hunt),译者:崔康,出版社:人民邮电出版社
赞 (0)
