体验结对编程一周多的时间,遇到诸多问题和大家分享一下。
两名程序员,
一名为编程老手,有丰富的开发经验经常可以提供一些非常好的想法,只是对业务不够熟悉。
另一个是个菜鸟,但进入团队时间较早对业务也相对熟悉。
两人形成互补型结对组。
故事:
由于老手(A)并不熟悉业务,而且时间箱规定时间紧迫,第一周由菜鸟程序员(B)进行主要的开发工作,
AB两人在会议室简单沟通需求和场景后,进入开发阶段。B希望可以一边开发一边让A尽快熟悉业务以及相关API,
B(菜鸟)在开发时遇到一些关键需求时总要停下来和A程序员交流,包括使用到以前定义好的类和业务上下文。
有时两人会因为过去的代码不够简洁而讨论新的方案。
直到周六的下午(时间箱规定周六交付一个可以使用的版本),程序员B突然拍着自己的脑门大叫一声:晕~!!忘了一个需求。而且是关键性需求。
这导致近3天的工作付诸东流。需要重新考虑。
周六下午。程序员B很是郁闷。在会议室里苦苦思索为什么会出现遗漏。。。。。。
原因分析:由于老手A并不熟悉业务上下文,不能参与前期准备。只有程序员B知道下一步应该做什么。而B在开发中经常与A交流关于业务上的事情,导致编程思路不流畅。经常需要分神去解释和讨论,经过一段时间之后又回到自己的代码上。
开发过程由原来的:测试——开发——重构——测试
变成了:测试——开发——讲解——讨论——开发——重构——测试 两次开发之间经历了漫长的讨论与讲解。导致菜鸟程序员精力不够,甚至出现致命的遗留问题。
之后两个人在会议室里分析了问题的原因,由于此时已经经过了一周的结对开发,程序员A也对需求渐渐明朗起来。
此时两人都意识到这样的开发过程过于缓慢。原计划2天完成的任务干了3天还遗漏需求。经过商讨决定下周实行新办法:两人一起站在白板前探讨需求,程序员A不明确的地方由B在这个时候进行说明,以及两个人的讨论都在这个时间进行,开发回归 测试——开发——重构——测试
分享到:
相关推荐
我与ChatGPT结对编程的体验.docx
我与ChatGPT结对编程的体验.zip
他们还尝试了XP实践一一体验不同方式的持续构建、结对编程、测试驱动开发等,阐述了如何结合使用XP与Serum。 小书的特色在于实践,对正在实施Serum敏捷软件开发的读者具有一定的参考价。值和指导作用。
使您能够在输入样式之间进行切换,使Spacemacs成为结对编程的绝佳选择。 Spacemacs具有漂亮的GUI和出色的人体工程学设计,只需按空格键或alt-m即可轻松访问所有按键绑定。 Spacemacs还附带了数百个精选的,随时可用...
体验、结对编程、UI 测试、你不知道存在的热键、来自外太空的插件和超快的开发周期。 是的,我们仍在谈论 Java。 星期一,在工作中,您不会以相同的方式看到您的 Java 项目。 安装派对 要在最佳条件下参加本次研讨会...
编程的体验,如果没有三个人在MSN上无数次的长聊,我想要在短期内建立起: 对于AJAX本质的理解; 对于整个AJAX以及相关技术地图的理解; 对于AJAX编程开发所需要的很多技巧、手段的掌握; 几乎是不可能的。 如果没有...
编程的体验,如果没有三个人在MSN上无数次的长聊,我想要在短期内建立起: 对于AJAX本质的理解; 对于整个AJAX以及相关技术地图的理解; 对于AJAX编程开发所需要的很多技巧、手段的掌握; 几乎是不可能的。 如果没有...
调整背景的配色方案调整光标的形状调整粘贴时的文本缩进其他能够提升 Tmux 体验的工具或技巧用 Tmuxinator 自动创建会话改变 Tmux 状态栏的颜色请
结对和小组工作一直是我真正关心的编程的一部分。 我从未有过无法与某人合作的时刻,无论是需要放慢速度并向某人真正解释一个想法,还是倾听和理解我的合作伙伴必须教我的东西 - 特别是在第一次体验 JavaScript 时. ...