[博学谷学习记录]超强总结,用心分享|架构 敏捷 - 开发管理之道

提示:学习笔记 欢迎指点

1、敏捷开发思想之道

一名敏捷开发者,敏捷思想的掌握自然首当其冲。在敏捷开发实施的过程中,我们虽然不是scrum master,没有管理scrum流程的职责,但是对于流程,角色,职责的理解熟悉是非常必要的,不然参与了半天的敏捷开发,到头来却还说不出个所以然来。作为一名敏捷开发者,我们需要:
熟知流程
作为team中的一员,我们应该将流程以及其中的工具熟记心中,并严格要求自己按照流程工作,让敏捷开发的思想融入到自己的血液之中。
在这里插入图片描述

厘清职责
熟悉了流程,我们还需要认清各种角色,并定位自己。上面图中可以看出,敏捷开发中共有四种不同的角色。作为team成员的我们,自然首先应该熟记自身的职责,并了解其它角色的职责。我们将重点关注于我们自身。作为team中的一员,我们最重要的就是功能的开发以及维护。这就要求我们自己要不断的增强自身能力,使得自己负责的功能的质量有所保证。关于如何增强自身能力,在下面的面向对象开发之道中我会提出我的见解。
协作沟通
协作与沟通是敏捷开发的重要特征。team中的每一个成员都应该理解其重要性。对于team成员来说,沟通包括与scrum master的沟通,与product owner的沟通,以及team成员之间的沟通。协作则是team成员间的协作。我们应该敞开心扉,抱着助人即为助己的态度。

2、面向对象开发之道

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

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

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

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

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

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

3、敏捷学习之道

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

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

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

----结束----

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值