10x程序员工作法——以终为始

▶️明确现状

以终为始:

🎯明确目标:正确、边界清晰

#遇到事情,倒着想。第一反应应该是梳理功能细节,而不是美滋滋践行新学的技术。

任何事物都要经过两次创造:

一次是在头脑中的创造,也就是智力上的或者第一次创造(Mental/First Creation),

然后才是付诸实践,也就是实际的构建或第二次创造(Physical/Second Creation)。

对于做软件,‘终’是“对用户有价值的软件”,可以通过以下方法降低实际开发的成本:

if 要给用户看产品样子➜先做原型(Prototype/Demo/POCProof Of Conception 概念证明)

if 呈现服务接口➜用模拟服务器搭建 🔧moco

if 让程序员知道开发细节➜描述场景、行为

❗️提前准备,做好第一次创造:

准备迭代0 🎯根据优先级确定迭代1要做的需求,然后细化


需求:

明确要做什么:

对于业务场景明确的需求:使用用户故事清晰界定

【用户故事(User Story)】 🎯细化出有价值的需求

标题,简要地说明这个用户故事的主要内容,比如:注册用户使用用户名密码登录。

概述,简要地介绍这个用户故事的主要内容,一般会用这样的格式:

As a (Role), I want to (Activity), so that (Business Value).

没有这个功能时,用户是怎样完成这个事情的,有没有其他方式可以达到目的。

举个概述的例子:作为一个注册用户,我想要通过用户密码登录,以便我可以使用注册用户才能够使用的服务。

详述,详细地描述这个用户故事的完整流程,我们会把操作流程、用户界面等信息都放到这里。

比如:用户使用正确用户名和密码登录,就可以登录成功;如果密码不正确,则登录页面提示用户“用户名密码不正确”。基本上,看到这个部分,程序员就可以在心中描绘出这个用户故事的样子了。

列出超出范围的部分,比如:第三方登录不在范围内,这个部分主要是限定人们不要进一步发散。

验收标准,这个部分会描述一个正常使用的流程是怎样的,以及各种异常流程系统是如何给出响应的,这是程序员常常会欠缺的思考。它会把详述中很多叙述的部分变成一个具体的测试用例。

//依照BDD行为驱动开发。Java的BDD框架: JBehave, JDave, beanSpec, Instinct

比如,下面我给出的两个验收用例:

正常场景:给定一个注册用户张三,其用户名是 zhangsan,密码是 foobar,当张三使用 zhangsan 和 foobar 登录系统时,可以成功登录,登录成功后,跳转到用户中心。

异常场景:给定一个注册用户张三,其用户名是 zhangsan,密码是 foobar,当张三使用 zhangsan 和 wrong 登录系统时,登录失败,在登录页面上提示“用户名密码不正确”。

假如你没有这个条件,就扮演产品经理的角色,在开发前先厘清需求。最重要的是明确验收标准‼️

面向不确定性问题:试 🎯减少对不确定性产品的过度开发

反馈循环:开发(build)->测量(measure)->‼️经过验证的认知(Validated Learning) 

➜idea->code产品投入市场->收集data,验证想法。

➜通过制作最小可行产品(Minimum Viable Product)以最低成本尝试

工具:精益画布

确认是否要做该产品特性:#默认所有需求都不做,直到弄清楚为什么要做这件事。仔细想每个需求的正真解决目标问题,紧急度、优先级、验收标准…

你要检证的东西是什么呢?他要验证的目标是否有数据可以度量呢?

要解决的这个问题是不是当前最重要的事情,是否还有其他更重要的问题呢?

验证这个目标是否有更简单的解决方案,是不是一定要通过开发一个产品特性来实现呢?

通过DoD清晰定义完成 🎯同步团队间对完成的定义[]把DoD放入奇妙清单

先推演,然后拿出详细的实施方案:

先从结果的角度入手,看看最终上线要考虑哪些因素

推演出一个可以一步一步执行的上线方案,用前面考虑到的因素作为衡量指标。

根据推演出来的上线方案,总结要做的任务

技术:

构建脚本:编译打包,测试,构建 IDE 工程、代码风格检查、常见的 bug 模式检查、测试覆盖率…

CI Monitor :把持续集成的状态展示 🔧Cucumber

管理数据库变更:数据库迁移…… 🔧flyway

把部署/发布自动化 by Docker/shell

风险准备:如何快速恢复服务,如何回滚版本、回滚数据库

用数字衡量工作 🌰测试覆盖率,API调用时间、次数

工作

向上管理:

发挥上级的长处,以其能接受的方式向其提出建议

❗️敢于对不合理要求说“不”

管理上级的预期 把你看到的问题暴露给上级

帮助上级丰富知识

说出你的想法

拓宽工作的上下文:

找到你和你的下一步职业目标的差异

很多时候跳出程序员角色,技术不再是问题

多了解别人的工作逻辑,认识软件开发的全生命周期

多了解一些上下文,你才有能力判断自己是否想多了。

实际操作

倒排时间表:调整需求范围和资源配置

测试驱动开发TDD

Amazon开发顺序:新闻稿➜FAQ➜用户文档➜代码 //

需求评审-技术方案评审-测试用例评审-写代码-测试-上线-测试。

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

推荐阅读更多精彩内容

  • 吃货地图产品需求文档 V1.0-2015/03/30 1概述 1.1产品概述及目标 概述:“吃货地图”是一款基于i...
    michaelshan阅读 5,859评论 1 46
  • 速盘:破解百度云不限速速盘下载网址:https://www.speedpan.com/手机 百度云盘破解 vil...
    Gloria艳阅读 449评论 0 0
  • 1.问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 首先,将问题提...
    qianyewhy阅读 9,265评论 4 123
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,748评论 0 10
  • 由于以太坊被盗事件,引发大家对数字资产安全性担忧。事实上,类似的事件过去发生过,将来还可能会发生。 2017年7月...
    WeQuant阅读 2,689评论 1 1