LA工作首先周体会

跟平居多国外的Dev一起工作是自己从来不发出了之经验,在生的国度,陌生的集体,陌生的客户,做着陌生的色,对自我而言,Everything
is
new。我们于客户这里,仍然使用独立的迅猛方式:故事墙、站会、用户故事、结对编程、持续集成、TDD甚至BDD……几乎有的飞快实践我们还见面动用。在投入这类型时,已经拓展到第7独迭代,整个项目之框架已经于成熟。我们的天职是赶快熟悉业务和成套技术框架,并也新的色做好充分准备。在看似3健全之日子外,我们且见面跟客户及美国Thoughtworks的同事等进行Pair,通过实际的出来熟悉与了解事情以及技能。然后,在剩余的少全面内为新类型开Inception。

类型是基于.NET Framework 4.0开展开之,采用的技艺包括C#, VB.NET, Ext
Js, SQL Server 2008。IoC容器为Structure
Map,NUnit作为单元测试框架,Moq作为Mock测试框架。我们以了Jenkins(即Hudson)作为频频集成工具,使用了Thoughtworks的产品Twist作为回归测试和合并测试工具,并应用了Powershell作为构建脚本,Git作为源代码控制工具。

临LA的首先两全。除了第一龙与了几赖Meeting,了解了整个项目之图景更加是工作逻辑之外,第二龙不怕很快进入团队,开始结对编程。整个第一宏观,我好了2单Bug
Fix,同时,对Regression
Test出现的题目开展了修复,并与了一个Story的开发。在这等同圆,我连无Switch
Pair,一直是跟客户这边的同样员Dev(名叫Andrew)进行合作。

想起当时同一完善的行事,我之感想如下:

1)业务逻辑的垂询比技巧重新重要

当同样称作Dev,可能首先会见想到项目会利用啊技艺,我对这些技术了解吗?总之,会率先关心整整跟技术有关的东西。在进项目事先,我特意关注了这些内容,并赶紧一切时间也这些技巧做储备。当然,我们为冀望了解事情逻辑,但出于前期准备时缺少这上头的标准,我们所能够了解之虽是路和Healthcare有关,项目内容有点接近CMS。然而,到了类别事后,我们才发现,技术毫无决定你是否快速进入团队,并开始开与实现之根本。如果无打听工作逻辑,不强烈领域术语,我们将格外为难展开联系和交流。尤其对于今者类型,由于项目曾经召开了同样片段。对天地的摸底就越要了。对于同样名叫富有多年历的Dev来讲,其实技术并无见面成为制约你进行路支付的首要瓶颈。在这类别蒙,有诸多技巧都非是自家掌握的,但我们照样可快捷进入开发移动。这是因Pair
Programming可以挺好地做到知识共享与传递,我的Pair可以像Mentor一样来导自己很快进入状态。

2)交流是种类支付之固

以国内开项目,交流或者也会变成阻碍,但为言语一样之故,我们数用交流活动忽略了,似乎看就是从自然的事情。在就等同完美之劳作被,我仿佛进入了任何一个社会风气,耳边充斥地且是上下一心不便理解的言语。虽然本人产生自然之英语基础,但确实跟这些母语为英语的Dev合作时,才察觉自己所左右的英语单词和语法都转移得无敷用了。我的舌头似乎为存疑了,我异常麻烦知晓Pair所假设发表的意思,自己为杀不便向Pair表达自我的理念。这便造成支出效率受到大死影响。即使任务已经好,整个实现对自我而言,仍然像是设未,还索要自己下看Story的描述,看源代码。例如,在我们种遭到一度落实了比较好的Validation机制,但为贯彻一个对立比较小之Story,由于交流的问题,我们的实现叫严重阻碍了。

除此以外,在我们项目蒙了有现场客户之规则,因而交流更成为主要。我们的BA团队既出TW的,也来客户的。他们还勾了那个对的User
Story。在我们实现这些User
Story时,如产生无亮堂的处,都亟需尽快咨询BA,通过交流扫除歧义。而以促成后,必须跟BA做Show
Case,以尽早取得反馈。这同样沾异常主要,也是快速的主干价值观体现。

3)好之惯好关键

率先周,和自身Pair的Andrew是缘于客户之同一位实习生。他刚刚由大学毕业,进入项目约三只月时。在高等学校里,他就读了C++,对.NET、Javascript以及CI等内容还不熟悉。换言之,他本所主宰的有所技能,都是当路中学至之。虽然是这般一个Intern,但自己发觉他曾怀有了怪精彩的编码素质。在上马一个Story时,他会晤率先以Twist编写Regrssion
Test Sceinario。而在实现代码时,也会见尝试着通过Unit
Test来驱动实现。在交代码时,会合理地行使Git命令。例如当付出前,会经Git
Status检查时状态,看是否来改变。在Commit时,如果发现提交的情来冲突,他会晤坏慎重地拍卖Merge。编写代码时,会严厉按照我们制定的编码规范。虽然,他当出方的涉还有为数不少相差,但可靠已经发生了一个好的开始。我思,通过者类型的磨练,在Thoughtworkers的言传身教下,只要他乐于继承着力,应该会发出一个异常好之发展前景。

以,对于团队而言,这样出色的编码习惯,就如所谓的“童子军军规”一般影响当下团队的每个人,我们少下的Technical
Debt就会见丢掉好多,这对后期的保护、修改和将来延续之开发,都产生异常好的援手。

4)学会寻求援助

每个人所掌握的学问总是有限的。或许你的能力足够让你解决其他问题,但考虑成本问题,若会确切地寻求协助,你既然能迅速到位任务,同样会模拟到公希望学到之文化。即使寻求支援后,没有获取你所企盼之结果,至少说明,我们得拒绝某些选项,这同样好节约时间成本。最重点的一些亟需时刻记住,我们是一个Team。

于首先完美之Story开发被,由于自身与Andrew都指向Validation的机制不极端熟悉。我们品尝了多种办法,希望缓解问题,但犹无见效,这样翻来覆去的尝试都拖了约一龙的辰。后来,我们积极找到任何一样各Thoughtworker-Eric,他早就当类型呆了较长时间。了解我们的题目后,Eric仅用了不交10分钟之工夫尽管迎刃而解了是题目。事实上,这个题目的化解方案要一个多少技巧,在Label中设定我们先指定的CSSClass,就得显得那些Validation
Message。

5)知识分享

得,只有充分的知识分享,才能够使得发挥集团的来意。尤其对新在团队的成员,如果没有足够好之知识分享,或者组织的直成员不享有这地方的觉察,将协调所有的学问传递让新成员,新成员就充分不便融入团队,也要命不便快速地孝敬自己之Effort。在知识分享的进程遭到,通过Meeting和Session,或者看文档的艺术自是卓有成效的。但实在,即使你与同一天之Session,或阅读一上的文档,都不如和您的Pair实际做一个Story,对文化的分享来得重复好。根据本人要好的涉,所谓Session或文档的法门,更适合介绍一些世界背景知识,或本的体系架构。细节知识要于实施过程遭到落。这时,Pair
Programming就亮煞是主要了。

当增选自己之Pair时,也欲针对实际情况做出调整。例如与新手Pair的须是相对出更的Dev(当然为得同QA或BA结对)。另外,也亟需适度地Switch
Pair。在此路遭到,我便体会至当时一点的显要。第一全面之3龙时间,和本人Pair的且是Andrew。虽然他就进来项目三个多月,但终归还少一定之涉。而己作项目新人,更是多内容还未了解。这样的Pair组合,效果可想而知。在此历程遭到,本来我们当展开Switch,但以Story的干,其他Pair也发出温馨之任务,这个Switch活动便为延迟到了第二全面。事实上,在次周到之第一天,我跟Eric合作,效果就那个好。整个Velocity得到了比充分的加强。