敏捷开发者的修炼之道

我们是Scrum中快乐的小猪

上周的一篇文章《敏捷开发:做一个合格的Scrum Master》中具体介绍了关于如何成为一名合格的scrum master,并总结了scrum master肩负的六大职能。今天,我们谈一下一名普通的敏捷开发实践者该如何修炼自身的技能。因为毕竟能够成为scrum master,对于很多人来说可能还是几年后的事情,那么我们需要着眼于现在,通过不断的修炼,提升自己的能力。

那么我们作为team中的一员,该如何修炼自身的敏捷开发之道呢?我想可以通过以下三个方面,不断锤炼自己。然而鉴于篇幅原因,本文对于文章中提到的各点只做一些引述,接下来我会陆续发表对于各部分详细内容的专题文章,希望大家关注,也希望能和您探讨,我们共同进步:)

敏捷开发思想之道


既然是一名敏捷开发者,敏捷思想的掌握自然首当其冲。在敏捷开发实施的过程中,我们虽然不是scrum master,没有管理scrum流程的职责,但是对于流程,角色,职责的理解熟悉是非常必要的,不然参与了半天的敏捷开发,到头来却还说不出个所以然来可不行。作为一名敏捷开发者,我们需要:

1. 熟知流程

下图详细描绘了scrum的流程以及流程中各元素及其作用。作为team中的一员,我们应该将流程以及其中的工具熟记心中,并严格要求自己按照流程工作,让敏捷开发的思想融入到自己的血液之中。例如,关于站会,很多team 成员根本没有当回事,认为这只是个形式,敷衍了事。究其原因,就是他们对于其根本的思想没有领会,因而态度不正,最终使得站会流于形式。 Scrum中的每一类会议都有其存在的重大意义,我们应该认真体会,高度重视。当我们把这些都已形成了习惯,你会发现Scrum原来如此之美。关于scrum中各部分的具体的分析,之后会陆续发布文章。

对于此点,市面上的书不少,但是都紧紧局限于理论。我觉得其实敏捷思想的内容不多,每本书上讲的也都大同小异。问题的重点不在于看书,而在于通过自身敏捷实践的体会,将理论联系到实践当中,感受它给我们的软件开发工作带来的好处与乐趣。

图片来源于网络

2. 厘清职责

熟悉了流程,我们还需要认清各种角色,并定位自己。上面图中可以看出,敏捷开发中共有四种不同的角色。作为team成员的我们,自然首先应该熟记自身的职责,并了解其它角色的职责。图中有每个角色的具体的职责,在这里就不再重复叙述。我们将重点关注于我们自身。作为team中的一员,我们最重要的就是功能的开发以及维护。这就要求我们自己要不断的增强自身能力,使得自己负责的功能的质量有所保证。关于如何增强自身能力,在下面的面向对象开发之道中我会提出我的见解。

3. 协作沟通

协作与沟通是敏捷开发的重要特征。team中的每一个成员都应该理解其重要性。对于team成员来说,沟通包括与scrum master的沟通,与product owner的沟通,以及team成员之间的沟通。协作则是team成员间的协作。我们应该敞开心扉,抱着助人即为助己的态度。

面向对象开发之道


作为一名敏捷开发者,熟悉面向对象的开发,深谙其道,深知其理非常重要。在我看来,对于每一个sprint的每一个task的开发,都遵循着这样一个四步循环:首先是需求分析,通过我们拿到的交互图开始进行详细的需求的分析;其次,当我们通过交互图的分析,将每一步都了然于胸的时候,开始着手设计,这是设计模式表演的时刻,我们运用合适的设计模式设计相应的功能,完成后得到设计图;再次,根据设计图开始编写代码;最后,当这一切完成之后,我们会开始审视当前的工作,发现问题后做适当的重构。这样对于每一个我们完成的task,我们就能够保证其质量都是过关的。下面我们逐步解释。

第一阶段:需求分析

在开始每个task之前,我们首先要做的就是仔细分析UX交付给我们的用户交互图,我们通过对用户交互图的深入理解,以及在sprint plan meeting与backlog grooming meeting的对于task的深入分析,做到将task的具体内容与流程熟记于心,胸有成竹。

第二阶段:设计模式

通过对交互图的分析,现在我们已经对task有了具体的理解,那么这个阶段我们可以开始对task进行详细设计了。这个阶段的关键是如何设计出一套可复用,可扩展,可测试的方案来。我们应遵循面向对象的几个设计原则(之后的文章会详述),将功能的流程图,类图,对象图等5图设计出来。敏捷开发中并不强调文档的必要性,因此我们可以通过草图的方式将设计思想表现出来,以利于后续代码编写工作的进行。至于设计模式的学习,经典书籍数不胜数,推荐两本:四人帮的《设计模式--可复用面向对象软件的基础》,《Head First设计模式》,国内的一本《研磨设计模式》写的也不错。

第三阶段:代码艺术

现在我们可以开始编写代码了。需要注意的是,我们已经设计好了具体的方案,因此我们只需要按照设计图纸进行施工就好了。这个阶段我们需要注意的是代码的质量,也就是所谓的代码艺术。写代码不是体力活。如果我们仅仅满足于堆砌代码,那么我们始终都只能是一个码农。要写出漂亮的代码,需要我们自己不断的揣摩实践,不断的修正。对此我会写一篇关于代码艺术的文章,是自己的一些亲身感受与实践体会。那么这里推荐几本非常好的书籍:《代码整洁之道》《代码大全》《程序员修炼之道--从小工到专家》等。

第四阶段:重构之术

到这里task已经基本完成了,注意这里仅仅是基本完成,并没有最终完成。那么这一步我们应该做些什么呢?重构。我们在编写代码的时候,由于各种各样的原因,可能并没有按照我们之前设计的“图纸”执行。因此,这个阶段我们需要重新审视自己的设计与实际代码,找到那些背离设计原则,不可测,不可扩展,不可复用的代码,逐步重构,使其最大限度的达到我们面向对象设计原则的要求。关于重构,可以参考《重构:改善既有代码的设计》写的非常的好,值得深读。

至此,task的开发工作总算完成。接下来就是下一个task,再下一个......循环反复。最终确保我们的项目顺利向前。

敏捷学习之道


学无止境,对于我们程序员尤其如此。敏捷思想对于软件开发已取得了革命性的成功。然而我想,敏捷思想不仅仅可以用在软件开发领域,在其它的领域依然大有所为。那么我们是不是可以将敏捷的思想运用到日常的学习中去呢?怎样运用呢?通过自己的亲身实践,我觉得我们可以通过如下几点,将敏捷运用到学习的实践中去。

1. 化整为零,小步前进,迭代学习,增量回顾

首先我们将大块的学习内容分成每一个小块,通过在一定周期内对于每一个小块的学习,最终完成大块的学习。比如我们要看一本书,我们可以将这本书视为一个story,其中每一章视为一个task,那么我们将2周定为一个迭代,每两周完成一章内容,在每个迭代的最后我们进行总结回顾,以此方式不断前进,最终实现小步前进,完成整本书的阅读。

2. 利用番茄时间法,分解时间,多任务并发前进

根据经典著作《番茄时间法》,我们也可以将大块的时间分成一些小块,对不同的内容进行学习。这样可以达到多个任务同时进行,且不会相互干扰。我们可以充分利用时间碎片来学习,将一些零散的知识,在时间碎片内完成学习。

通过以上,进过一段时间之后,你会发现,你的学习的速度和质量均会明显提升,一种酣畅淋漓的成就感油然而生。


以上就是关于如何成为一名优秀的敏捷开发者的感悟,希望您利用您的宝贵时间阅读后,能给您带来一点点启发,如有不妥的地方也请您指正。接下来我会对文中具体的各点进行后续的详细解释,如果有兴趣,可以关注我的微信订阅号:SwifterDev, 也可以扫一下下面的二维码关注。让我们共同进步!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容