作为一个Android开发工程师,我们的天然使命是 高效高质地完成每个Android Application的编写。
怎么达成使命呢?参考App开发流程图,这条使命可以做如下拆解为:
- 做出来的App需要满足如下条件:
- 流程上和原型保持一致;
- 视觉上和UI设计保持一致;
- 数据上、逻辑上和服务端保持一致;
- 完成的质量要高,bug少。
- 完成的速度要快,工期短。
为了达成以上目标,参考时间农夫个人管理模型,我们需要建立相适应的行动管理系统、知识管理系统和情绪管理系统。
行动管理系统
开发行动管理按照时间点可以分为两类:
- 项目开始时,根据原型,按照已经经验,细化开发任务,制定排期。其产物为项目排期.mpp和页面拆解图.xmind
- 项目进行时,每天上班前半个小时。根据项目排期和项目实际状态确定日计划。确定过程如下:
- 确认要做哪些页面或者修复哪些bug?
- 确认外部资源是否OK?(典型的外部资源包括:UI、接口)
- 如果外部资源不OK,需要确认什么时候OK?
- 如果需要修改排期,需要及时修改,并同步给项目经理。
- 确定今天要完成的页面和要修复的bug,拆解为行动,放入日计划中。拆解维度可以按照
项目→开发工序→模块
这三层来。
日计划检视清单:
- 每个行动都以动词开头;
- 是否每个行动都有预估时间,并写在标题里;
- 每个行动都有设置 优先级;
- 必须包括如下行动,且该行动处在正在处理的状态:
检视项目外部资源,确定今日任务(0.5h)
- 不同项目以
【项目名】
放在行动标题前面; - 一天有2~3个优先级为高的行动,必须尽力保证完成;
- 掌控时间控制在7小时左右,如果预期加班,最好控制在10小时内,除了项目上线,加班时间不要超过晚上十点。
- 工作日9点40之前提交日计划给Leader
剩下的就是按照计划执行了,在执行过程中,要及时总结经验,放入到知识管理系统中。
日总结检视清单:
- 每个完成任务及其耗时都体现在doit上。
- 每条任务后面有相关的情况的简单概要总结。
周、月总结检视清单
应该包括如下部分:
- 项目任务:总结这个周期项目任务完成情况。
- 技术成长:总结这个周期技术方面的经验总结。常规产物如下:
- 优化建议:希望Android整个开发工序做什么样的改变,以便更高效地完成项目任务。
知识管理系统
经验是高效率、高质量的来源,因此沉淀属于自己的代码库和经验十分重要,目前团队产物主要有:
维护这些产物的行动,也应该放到行动管理系统中。
情绪管理系统:
整个App的开发是一项多人协作、耗时长久的过程,因此难免产生情绪问题。情绪包括正向和负向两种,对于程序员而言,正向的情绪往往来自:
- 写出了牛逼闪闪、零bug的代码。
- 写出了运作流畅、体验良好的页面。
因此多做经验总结、多积累库的代码有助于培养这种正向的情绪,别人一星期的活,你一行代码搞定,岂不快哉!!!
负向的情绪往往产生于:
- 和产品、设计、测试、服务端工程师 拉锯式地沟通。
- 低效率地复制粘贴代码。
- 铺天盖地地bug修改。
- 没日没夜地加班。
后三点都依赖于经验的沉淀,知识管理系统运作好了,这些问题自然消解。第1点的解决依赖定位问题的能力,避免拉锯式地沟通的有效方法就是做好问题调研工作。先思考,给出初步解决框架,再进行讨论,而不是边讨论边思考,后者不仅容易造就冗长的会议,而且无效工作很多,倒腾来倒腾去,让人心烦!!!
时间农夫个人管理系统文集
Panda
2016-08-16