10x 程序员工作法
郑晔
开源项目 Moco 作者
53432 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 63 讲
思考框架 (1讲)
10x 程序员工作法
15
15
1.0x
00:00/00:00
登录|注册

答疑解惑 | 如何分解一个你不了解的技术任务?

自动化改进
与团队沟通
丢弃原型代码
开发验证原型
确定技术应用场景和关注点
完成教程例子
提前暴露问题
消除不确定性
快速试验
分支拉出抽象
主分支开发模型
Feature Toggle
改进过程
混淆目标与现状
目标与现状
采纳或放弃技术
任务分解
技术 Spike
问题3:多个功能同时开发,怎么办?
问题2:项目时间紧,该怎么办?
问题1:面对不了解的技术,我该如何分解任务?
答疑解惑

该思维导图由 AI 生成,仅供参考

你好,我是郑晔。
在“任务分解”这个模块,我以测试为核心,讲解了任务分解这个原则,同时也给你介绍了一些最佳实践,帮助你更好地理解任务分解的重要性,以及应该怎样分解任务。
同学们对任务分解这个原则大多是表示认同的,但就一些具体应用的场景,还是提出了自己的问题。
在今天的答疑中,我选择了几个非常典型的问题来进行深入讨论。

问题 1:面对不了解的技术,我该如何分解任务?

pyhhou 同学提到
很想听听老师的意见,就是在一个自己不熟悉的,充满未知的项目中该怎么更好地进行任务分解?
shniu 同学提到
想请问一下老师,面对探索型的需求,调研型的需求如何做任务分解呢?
这是一个很好的问题。在这个模块讨论开发中的任务分解时,我说的都是确定了解的某项技术,比如,数据库、REST 服务等等,因为这是开发中最常见的场景,也是最基础的能力,连熟悉的技术都做不好分解,就别说不熟悉的技术了。
那如果不了解这项技术呢?答案很简单,先把它变成你熟悉的技术。一旦变成了你熟悉的技术,你就可以应用在这个模块中学到的,面对确定性技术的分解方案。
我知道,这个答案你并不满意。其实,你真正的问题是,怎么把它变成你熟悉的技术。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了在面对不熟悉技术任务时的应对策略和在项目时间紧急时的改进方法。作者以测试为核心,讲解了任务分解的原则,并介绍了一些最佳实践,帮助读者更好地理解任务分解的重要性以及应该如何分解任务。文章首先回答了面对不了解的技术如何分解任务的问题,提出了通过进行技术Spike来消除不确定性,让项目经理了解需要花时间弄清楚的技术。其次,作者讨论了项目时间紧急时的应对方法,强调了以终为始的原则,提出了具体的改进过程,包括与团队沟通和自动化的改进。整体而言,本文通过具体问题的讨论和解答,为读者提供了在面对不熟悉技术任务时的应对策略和在项目时间紧急时的改进方法。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《10x 程序员工作法》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(13)

  • 最新
  • 精选
  • 西西弗与卡夫卡
    “技术Spike”可以翻译成“技术撩”,就是撩妹的那个撩。试探下,有戏就继续,撩不动就算或者放一段时间再说😃

    作者回复: 神来之笔!

    2019-02-13
    3
    135
  • zhengfc
    老师您好,spring-boot 项目有什么简单易用的测试覆盖率检查工具呢?

    作者回复: jacoco,我现在常用的工具。

    2019-02-27
    15
  • Xunqf
    最近我们团队也用到了不了解的技术做项目,一开始先用不到一周的时间去了解,写demo.又花了一周多写了一个简单一点的新项目,并且成功上线了。但是这个时候我只能说只是会用这个新技术,虽然使用起来很熟练,但是对他的底层原理还是不太了解。这个时候公司有一个老项目,功能比较复杂一些,因为这个老项目历史遗留问题比较多,崩溃率也比较高,这时候老大发话了,大家要不试着用新的技术重构一遍吧!因为新技术还不够成熟,各种功能缺失,或是尚未提供,一些常用的组件都要自己一个个去实现,因为项目涉及到的功能比较多,也不太可能一个一个的去验证,这个时候也只有在做的时候才会暴露问题,所以一再延期。一开始评估的时候也知道新技术对这些功能都提供了支持,但是不清楚能支持到哪一步,到具体去实现的时候才发现很多坑,目前已经陷入这个项目三四个月了,感觉离完成瑶瑶无期啊,不知道老师有什么好的建议没。

    作者回复: “怎么把新技术用在自己的项目中”,在这个问题中,很多人有一个严重的误区,他们眼中看到的更多的是“新技术”,而我思考这个的逻辑在于“自己的项目”。 只有理解清楚了自己的问题,才好应用新技术去解决,盲目地采纳新技术,只会让自己不断地纠结,小程序库还好,要是引入一个大框架,无穷的问题就会吞噬你的时间。

    2019-02-20
    15
  • 🌲树根🌲
    spike 我翻译成刺探😁 ,从medium一篇文章也了解到这个来自于极限编程。里面也有一些建议觉得蛮有用的。翻译整理了一下 http://t.cn/EIjW8su

    作者回复: 很好的补充!

    2019-03-06
    8
  • 行与修
    对于不了解的技术任务,我会采用写伪代码的方式展开,先肢解成块,后续逐个突破。也就是先完成粗粒度的任务分解,看看哪些是现有的知识储备可以搞定的,把拦路虎限定在小范围内,战略上藐视它,树立解决问题的信心,然后是二次任务分解,着手预研和定型。

    作者回复: 我不确定写伪代码的效率是否高,你如果很擅长,可以坚持。

    2019-02-14
    8
  • helloworld
    遇到紧急性的需求并且用到的技术自己不熟悉,首先要对这个技术有一个大致的了解,其最主要的功能是什么,再就是结合需求,看看如何利用这个技术解决这个需求。当需求做完后,并且市场对这个技术有很大的需求的话,可以对这项技术的细节加以学习研究。

    作者回复: 只要不跑偏,效率都不低。

    2019-03-06
    4
  • 亥时
    对于要使用的新技术 以始为终的角度来看 个人的理解: 1. 了解要做的事: 新技术是否满足功能要求(目前和未来) 2. 业内成功案例背书(大厂、成功案例) 3. 分布式能力是否满足(性能、可伸缩、高可用...) 然后快速写个demo、进而结合实际项目写出功能 这也是学习新技术最快的方式,带着目的去用 而不会太发散 导致没个重点 然后就是结合官方文档,了解原理,猜测底层实现、然后去源码中验证 已经进行性能压测等

    作者回复: 你说的是一个技术选型的过程。首先,要确定自己要做的问题,再来根据自己的问题确定合适的技术。

    2020-05-31
    3
  • Twinkle
    spike 可以理解为技术探针

    作者回复: 这是一个正常的翻译 :)

    2019-07-10
    3
  • 陈斯佳
    学习任何新知识,最好都先有个框架性的认识,然后抱着最终目的去分析,都能很快入门。这比起系统性学习的想法更加高效有用
    2019-05-23
    7
  • aoe
    用一个抽象类改造原有系统真是好主意!万能的中间层又见面了!
    2021-11-19
    3
收起评论
显示
设置
留言
13
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部