神刀安全网

#Android# 如何组好队伍刷怪

文章转载以及所有图片 & 文字的引用需经本人同意。

前言

假设你带领着一个刚凑够人数的 Android Dev Group 准备一起打怪升级,Group 里队友们能力不等,有 Level 30 的,也有 Level 10 的。好的,那你要开始头疼一系列问题了,包括如何激发队友们的战斗热情(内驱力) ,提供一条有效的打怪练级线路(工作流水线),提高团队的整体输出(团队效率),降低团队产生的内耗等等= =

  • 基础结构

首先,这得是一个足够扁平化的团队,所以大家之间应该是队友的关系。互相之间的沟通应当没有上下级之间的障碍。

团队应该提倡 OKR 而不是 KPI 的原则,理想情况下是大家都应该在努力做自己喜欢的事,当然,努力的方向应当和公司方向不偏差太远。这种自下而上的驱动力叫内驱力。

  • 任务分配

好吧,要搞定任务分配首先你得构造一个粒度足够小的需求池,池里面有组件开发、页面开发、Bug 修复等需求,需求来自外部(PM、设计)或内部(组件抽象、代码重构),队友自行选择自己能完成的任务。

接到比较大的需求时,应当尽可能切碎再扔进需求池。粒度大的需求第一不好预估时间,第二是不可控因素太多(,深刻感悟 π__π )。粒度一到三天松紧合适。不应当按模块切分,应当先按组件切分。

  • 二进制库管理

#Android# 如何组好队伍刷怪

为何需要个内网二进制仓库?一者是起到缓存作用,加快大家访问远程仓库的速度。二者是提供一个公司内部的组件仓库。

需求池有新的页面需求的时候,第一阶段应该进行的工作为 [ 面向组件开发 ] ,由每个队友选择开发难度能接受的组件开发需求。接受需求者新建 Project 并开始开发 Library,开发完成后上传 Jar / Aar 到内网 Maven 仓库。

有必要的话,每个组件的负责人要长期维护并升级相应的组件以适应日后更广泛的需求。组件可由个人意志决定是否开源。

贡献组件的数量、质量和开发速度都会纳入绩效评价中。

  • 源码管理

#Android# 如何组好队伍刷怪 开发第二阶段为 [ 面向页面开发 ]

,开发者选择组件库里的组件进行开发。使用 Pull Request 的模式进行代码混合,Leader 负责进行代码审查。

代码一旦混合进 Dev Branch 就会触发持续集成系统,构建失败的话 Leader 需要指派紧急修复给相应的开发者。构建成功会自动部署到相应的下载服务器进行测试分发。

代码质量和通过率会纳入绩效评价中。

  • 代码组织

#Android# 如何组好队伍刷怪

界面开发中应遵循先开发 View 和 Model 层,最后开发 Presenter 层的协定(PS:上图来自公司使用的架构 KOTGO )。应当优先确保每个 Model 是可测试的。

避免 Lava Flow (熔岩流)的产生。在不规范的开发流程中,很容易会有不断往旧的类中填充适应新需求的耦合代码这种现象,最终逐渐形成难以维护的 Lava Flow。

熔岩流常见于耦合了业务逻辑的 Activity 或 Fragment 中,所以要避免熔岩流必须有明确的分层意识。而更有保障的做法是业务逻辑(Model 层)由专门的人开发,其他人只专注于页面开发。形成 [ { 大前端 <- 小后端 } <- 大后端 ] 的开发模式。

  • 内驱力

赋予你的队友自主权。选择更高难度的挑战应当得到更丰厚的回报,但也要承担当中的风险。最好量化并告知所有挑战(需求)的难度和能获得的分数,分数累积到一定程度就能影响你的绩效甚至 Level。

尾言

尾言是最重要的广告时间~ (//▽//)

Come on,想要尝试 Kotlin 的小伙伴可以试试 1.x 版本的 KOTGO 了。对 我们公司 感兴趣的可以私信我拿邮箱投递简历,喜欢文章的点个赞或者打点赏呗~(下一篇的预告是 Kotlin 投入生产几个月以来的感想~)

#Android# 如何组好队伍刷怪

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » #Android# 如何组好队伍刷怪

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址