美文网首页
高效程序员工作方式(二)

高效程序员工作方式(二)

作者: 天堂_7f03 | 来源:发表于2019-01-15 14:28 被阅读0次

以终为始:如何让你的努力不白费


今日概念:

1、想象共同体:集体对同一个目标达成的共同想象;程序员做的软件是"集体想象"落地的一个载体。做一个对用户有价值的软件,能够为别人带来价值,自己的价值才能体现出来

2、任何事物都需要经过两次创造:一次在头脑中,一次是付出实践;付出实践成本很高,因此需要在第一次创造花费更多的时间和精力。

3、遇到事情倒着想,"以终为始""可以帮助我们在软件开发中规划工作和发现工作中潜在的问题 。从结果开始倒排开发,先确认明确清晰不含任何二义性的需求和结果,然后再倒推软件的设计架构,再动手编码,在开发过程中不停调整和反馈,最终达成目标 

今日总结:

以终为始就是终局思维,这种思维方式会强迫我们的大脑去做计划。借用工具将想法表达出来更是有利于发现潜在问题,创造出“想象共同体”; 

实际操作:

排工作计划表,计划倒排!先定截止时间,然后看功能是不是做的过来,是否需要砍掉部分!人力是否充足,是否需要补充人力!提前预知规避风险

DoD:尽可能消除不确定性


今日概念:

1、DoD(Definition of Done):完成的定义,DoD是一种思维模式,是一种尽可能消除不确定性,达成共识的方式;

    - DoD 是一个清单,清单是由一个个检查项组成的,用来检查我们的工作完成情况;

    - DoD 的检查项应该是实际可检查的;

    - DoD 是团队成员间彼此汇报的一种机制;

2.、任务开发只有两种状态:完成/未完成;

今日总结:

1、使用DoD可以事先将需要做的事量化;

2、 一件事用了DoD之后,就确定了需要完成的具体事项,不会觉得自己有很多时间,提高效率;

3、 使用不同“粒度”定义DoD有助于换位思考,也可以加深对系统的理解;

接到需求任务,你要先做哪件事?


1、信息传播论:信息的传递是有衰减的,所以你不可能百分之百的把你的需求传递到位。

2、日常需求描述方法缺点及改进方法

缺点:简单的功能列表或者是需求列表是缺失上下文的,是碎片化的,不能很好的看到全局,容易丢失信息。对程序员来说,要想真正的理解需求是有困难的。很多时候并不知道这个要开发的功能是谁在什么场景下使用的。一定要让程序员知道为什么要开发这个功能。

改进方法:使用“用户故事”来描述需求

它是站在用户的角度来描述了一个用户希望得到的功能,关注用户在系统中完成一个动作需要经过怎样的路径。既然它是“故事”,它就需要是一个完整的场景,可以讲述出来,能将各个功能串联起来以便做场景化的思考。如果没有用例或者用户故事加以说明,那么很有可能就导致理解的差异。最重要的是它能确定验收标准,这将作为后续开发的准绳;

3、 验收标准:规定以终为始开发的结果

验收标准,它可以清晰地定义出需求边界。其非常重要的一环是异常流程的描述。验收标准给出了这个需求最基本的测试用例,它保证了开发人员完成需求最基本的质量。

今日总结:

1、当拿到一个需求的时候,你要做的事不是立即动手写代码,而是扮演产品经理的角色,分析需求,圈定任务范围。(需求的串讲与反串讲)

2、程序员的核心职责是如何实现产品功能,怎么实现功能;前提是理解产品功能,需要实现哪些功能。

3、确定验收标准,以终为始。开发中的许多问题都是由于思考不够深入,沟通不够细致造成的,对任务完成定义的不同,这就是扯皮的重要起因。所以,关键的一点,一定要编写验收标准,程序员和产品根据验收标准检验是否完成任务。

尽早提交代码去集成


今日概念:

1、集成:将各个独立部分组合在一起使其成为一个新个体的过程;程序员最终交付件应该是可运行的软件,而不是某个独立的库

2、每日集成:每天进行一次集成,它和持续集成只有时间间隔上的差别;

3、持续集成:每日集成推演到极致的结果,将开发和集成合二为一;

今日总结:

集成本身就是写代码的一个环节,持续集成已经有了很成熟的体系与实现,早点使用持续集成吧;(持续集成服务器)

默认所有需求都不做,直到弄清楚为什么要做这件事


精益创业:它要解决的是面向不确定性创造新事物。IT 行业中大多数人的专业程度是不够的,我们必须要有自己的独立思考,多问几个为什么,尽可能减少掉到“坑”里之后再求救的次数。

精益创业提供给我们的是一个做产品的思考框架,我们能够接触到的大多数产品都可以放在这个框架内思考。

“ 在动手做一件事之前,先推演一番 ”


今日概念:

最后一公里:指完成一件事情的时候最后的而且是关键性的步骤,比如完成需求后的上线工作
首先我们接到一个任务后,要做的不是立即埋头苦干,而是要学会思考,找出真正的目标。然后要在具体动手之前,把实施步骤推演一番,完成一次头脑中的创造,也就是第一次创造或智力上的创造。

在软件开发过程中,我们就假设软件已经就绪,看就绪之后,要做哪些事情,比如,如何上线、如何推广等等,这样的推演过程会帮我们发现前期准备的不足之处,进一步丰富我们的工作计划。为了不让我们总在“最后一公里”摔跟头,前期的推演是不可或缺的,也是想让团队进入有条不紊状态的前提。

文章来源:极客时间《程序员10x工作法》

相关文章

  • 高效程序员工作方式(二)

    以终为始:如何让你的努力不白费 今日概念: 1、想象共同体:集体对同一个目标达成的共同想象;程序员做的软件是"集体...

  • 程序员高效工作方式(一)---思考框架

    程序员高效的工作方式和行业的最佳实践,使用统一的框架进行思考的。 运用这个思考框架,我们需要问自己一些问题: 现状...

  • 爱情与工作

    1对账 2找到本子 3整理笔记 4二维码 5记录 寻找高效、快速的工作方式

  • 【delbug】新成员-代码狗🐶

    delbug 云端BUG管理平台,简单、易用、免费,改善程序员们的工作方式。 Delbug是以改善程序员们的工作方...

  • 零基础学习Java程序员最高效的六个建议

    零基础学习Java程序员最高效的六个建议 零基础学习Java程序员最高效的六个建议 零基础学习Java程序员最高效...

  • 创业感悟39

    2016.9.21 树立高效的工作方式,除了规定deadline外,就是要练习说“不”!越直接越好。 ...

  • delbug 云端BUG管理平台

    delbug 云端BUG管理平台,简单、易用、免费,改善程序员们的工作方式。欢迎大家登陆http://www.de...

  • 说说Javascript原型链

    前言 在写复杂的 JavaScript 应用之前,充分理解原型链继承的工作方式是每个 JavaScript 程序员...

  • "高效"程序员拥有的7个技能!

    受 TechLead 高效程序员的七项技能启发,我们团队想就这个话题发表自己的看法。 下面是我们总结的高效程序员的...

  • "高效"程序员拥有的7个技能!

    受 TechLead 高效程序员的七项技能启发,我们团队想就这个话题发表自己的看法。 下面是我们总结的高效程序员的...

网友评论

      本文标题:高效程序员工作方式(二)

      本文链接:https://www.haomeiwen.com/subject/vevedqtx.html