# 开发排期
前面我们说了完整的开发流程应该有这四步:分析->设计->编码->测试。
分析和设计这两步可以用xmind完成。 xmind最终能体现程序怎么写,体现了有哪些程序模块。我们还可以在此基础上进行估时间,估完时间后可以把任务列到trello看板上进行排期管理,在开发时可以用番茄工作法让自己集中注意力开发。下面具体说明一下。
## 估时间
![](https://box.kancloud.cn/2016-01-12_569515646fef2.png)
图1-47 在xmind上估时间
估时间的时候需要全体开发人员一起来讨论, 基于xmind就可以针对每个模块进行估时间和分工, 如上图,我们在每个模块上面写上了评估的时间和分配给了指定的人(如图1-47)。
通过估时间可以发现问题。比如一个功能模块, 张三说需要1小时,李四认为需要5小时,时间差距大的,需要大家再展开讨论,从而发现问题,可能是李四认为要自己花大量时间写的代码已经有第三方开源模块了,而这个开源模块李四之前不知道,所以估时间长。 通过估时间发现问题,从而避免程序开发好后才发现问题。
## trello看板
看板是敏捷开发中的工具,我们将任务估好时间后再把任务列到看板上。 大家可能看过现实生活中的看板:
![](https://box.kancloud.cn/2016-01-12_569515648e9f5.png)
图1-48 现实生活中的看板
现实中的看板是把每个任务写到便利贴然后贴到白板上(如图1-48)。 我们如果要对一个月的任务进行每天的排期,要分为30天,白板上要划出30列,可能就没有这么长的白板了。 trello是在线版的看板(如图1-49), 不会受到空间的限制,想建多少列都可以。trello的官网: http://trello.com
![](https://box.kancloud.cn/2016-01-12_56951564b29a1.png)
图1-49 trello看板
trello的使用十分灵活, 可以建立多个列(list),每个列的标题都是自己定义的, 因为我们要做排期,所以列的标题以时间命名。 在列上可以创建卡片(card),卡片就相当于是现实生活中的便利贴, 一个卡片表示一个任务。trello的卡片比现实生活中的便利贴功能更强大,卡片可以分配给指定的人,可以上传附件,可以建检查清单,还可以用不同的颜色标签来标记,
每个卡片也都可以拖动,比如今天没有完成的任务,可以拖动到明天。
如上图,我们把之前在xmind估好时间的任务列到了trello看板上。任务很多就排多天。每天每人排6小时的任务,不用排满8小时,留2小时的弹性时间,因为在实际开发中可能会遇到问题要解决而耽误时间,还有大家往往在估时间的时候忽略了测试的时间,预留2小时可以让大家做好测试、完善功能。
下面说几个trello使用的小技巧。
* 1,标记任务状态
可以用不同颜色标签标记任务的状态,比如我们规定黄色表示进行中的任务, 绿色表示已完成的任务。我们开始开发一个任务时就把它标记成黄色,开发完后再把它标记成绿色。这样团队中的所有人都知道任务的状态。比如:前端人员可以直接看看板就知道哪些接口做好了,可以调用哪些接口了,减少了沟通时间。
* 2,记录开始时间和结束时间
一个任务开始开发时,在这个任务的卡片上记录一下开始的时间,如上图,创建数据库是10点开始的 。 任务开发完成后再在卡片上记录一下结束时间,如上图成员列表接口的开发10点20结束的。 标记开始时间和结束时间有助于检查自己估的时间是否准确,上图可以看出成员列表的接口开发延时了20分钟, 对应延时比较多的任务,可以总结原因让下次评估时间越来越准确。
记录开始时间和结束时间也有助于技术主管发现问题,开发人员很容易在解决遇到的问题上浪费太多时间,比如一个任务计划1小时完成,但开发了3小时仍然没有完成,开发人员一直在埋头解决遇到的技术问题,而忽略了时间。这时候技术主管通过看trello看板能发现这个任务从开始时间道现在过了3小时还没有标记任务完成,就能知道开发人员遇到问题了,可以参与帮助这个开发人员一起解决问题,从而能保障整体项目进度。
* 3,建立检查清单再细化任务
trello看板每个卡片可能点开一个详情页的弹出层,在弹出层上可建立检查清单(checklist,如图1-50)。 当我们觉得一个任务比较大,这个任务下面会有好几件小事情要做,为了避免自己忘记这些小事,可以建立检查清单,把这些事情都记录下来。
![](https://box.kancloud.cn/2016-01-12_56951564c5014.png)
图1-50 建立检查清单
清单中的一条任务完成了,可以在前面打勾,表示已完成。
* 4,不建议加班。
trello看板的工作方式能让团队工作效率大大提高,可能一天能干其他团队几天干的事情。这种排期方法工作强度大,每天工作不能分心,开小差半小时就可能导致任务不能按时完成。所以在这种工作方式下尽量不要让团队加班,不然大家会感觉到疲劳。另外结合番茄工作法的话,能减少大家的疲劳,不会让大家觉得很累,番茄工作法后面会细讲。
有的人可能会认为,trello看板等工具是主管让用的,完全多此一举,没什么用。其实用好trello看板不仅对团队,对个人也有益处。
大家想想平时自己是怎么做事的?有没有遇到下面这些情况。
经常忘事, 同事说要一件事情,但手里正在做其他事情,结果手里做的事情完成了,却忘了做同事说的事情。有没有经常抱怨 “你能不能等我把这件事情做完了再给我说其他事情”
经常容易分心,注意力集中不了,代码写着写着一不注意又去刷微博或看朋友圈了。 一会儿就情不自禁的拿起手机,很难专心的做一件事情。 每天工作时间8小时,但真正有效的工作时间可能只有2、3小时,每天感觉都是在混日子,人生就这样被虚度了。
远古时期的人们对时间没有概念,那个时候要几天才做一件事,人们认识了时间后,一天能做好几件事情。电影《超体》说 “时间是唯一的度量单位, 没有时间什么都不存在,生命的价值在于争取时间”。
trello看板能让大家更好的管理时间、管理事。我们不再经常忘记事情,想起什么事情要做,就往trello上添加一条任务。trello能让我们集中注意力,因为每条任务我们都估了时间、记录来开始时间,我们只能集中注意力,不分心,才能在预估时间内完成。
所有的事情都能用trello管理,建议大家不要只把trello当作工作才用的工具。
trello的用法十分灵活,大家可以自己想出很多种用法,我分享一下我自己怎么用trello看板管理工作之外的事情的,如图1-51。
![](https://box.kancloud.cn/2016-01-12_56951564e2afc.png)
图1-51 用trello管理工作之外的事情
我建立了一个“个人看板”。然后在看板里面创建了四列,分别是:准备做的事, 正在做的事, 完成的事,笔记。
打算要做的事情,但现在还没有时间做,就先把他记到“准备中的事”中。 开始做这件事情了,就把他拖动到“正在做的事”中,做完了再把它拖到“完成的事” 。
在做事的时候学到了一些东西,但是现在没有大量时间来写成博客,可以先在 “笔记” 这栏记一句话。 等以后有时间了再整理成博客文章。
我们可以把一些学习的事情、家里的事情都可以用这种方式管理起来。
## 番茄工作法
有时候我们工作效率不高是因为做事被打断很多次,每打断一次再回来重新做事,还需要想之前是做到哪儿了?好不容易想起来又可能会被打断。 番茄工作法能减少中途打断次数,提高工作效率。
番茄工作法是一个时间管理的方法,之所以叫番茄工作法,是因为这种方法的创立者他用的闹钟是一个番茄形状的。
番茄工作法的规则很简单,做事的时候每25分钟休息5分钟。一个番茄钟由25分钟工作+5分钟休息组成。每天的工作效率可以通过看做了多少个番茄。
在每25分钟里,只能集中注意力干一件事情,不要受其他事情打扰, 假如,在第15分钟有同事来找你做其他事情,如果那件事情不是紧急的事情,你可以礼貌的告诉他,稍等10分钟,手里正在做事。 如果没有坚持25分钟做一件事情,那么这个番茄就作废,不能记做半个番茄、四分之一番茄, 最小单位就是一个番茄,25分钟。
番茄工作法还能防止疲惫,人的注意力天生就是分散的,集中注意力半小时以上后就开始疲惫,很难再集中注意力,人们会不知不觉分散注意力,可能会发现自己是一边在看书一边在想其他事情。番茄工作的25分钟时间设计非常巧妙,在人马上开始疲惫不能集中注意力时让人放松休息5分钟, 在这5分钟里不要再想比较用脑力的事情,可以看看窗边景色,可以走动走动。5分钟时间也不长,5分钟后回来接着做事不用回想以前做到哪儿了。
在现在软件工具众多的社会,番茄工作法的计时已经不用那种上发条的番茄闹钟了。在PC和手机上都能找到很多专门番茄工作法的工具。
trello看和番茄工作法结合使用能让每天的工作都很充实,做了很多事情又不觉得累。