AngryTask - 基于伪 scrum 的个人项目开发产品

news/2024/7/3 0:53:36

关于

去年年末的时候同事分享了一下 scrum 工作模型, 以后公司按照这种方式来执行产品开发.
联想自己在阿里的两年的工作方式和大学课程讲述的项目协同敏捷开发的一些知识.
所以本文想就开发工作流模型做一个简单的探讨, 并将 scrum 模型应用到 个人项目开发中的做一个尝试性产品 AngryTask 的讨论.

谁优谁劣是伪命题,解决问题才是王道

当在进行这种讨论的时候, 总会陷入讨论孰优孰劣的结局, 大学里边的课程给人的结论就是敏捷开发碾压瀑布流, 但到实际工作的时候发现其实忽略了上下文条件.

什么样的公司

  1. 技术外包公司

  2. 传统IT企业

  3. 互联网公司

  4. 创业公司

  5. 个人开发者

不同公司对产品开发模式和对产品的需求相差很大, 所谓有人的地方就有江湖, 真实环境的开发实质是围绕不同的利益在讨论.

  • 技术外包的公司目的是满足客户需求, 所以对客户必须以瀑布的方式, 需求就是合同

  • 传统 IT 企业, 老板才是开发的客户, 不错出能满足需求的产品才是核心价值

  • 对互联网公司和创业公司来说要求的就是快速迭代

  • 个人开发者需要钱, 需要实现理想, 需要完成一些工具也差异很大

什么样的团队

  1. 技术人员占比大团队

  2. 产品人员占比大团队

  3. 个人开发

不同人员结构的团队导致不同的协作方式, 有可能老板主导, 产品主导, 设计主导, 开发主导. 工作协作方式也会因为主导的人发生变化.

什么样的产品

  1. 视觉为主

  2. 销售为主

  3. 后台程序

  4. 2B 产品

  5. 2C 产品

开发核心价值是

  1. 时间为主

  2. 质量为主

  3. 需要用户参与反馈的迭代开发

没有哪种开发模型能够满足这些条件, 所以不谈场景只谈模式都是扯淡, 在真实开发环境中生产高质量高效率的产品必须找到适合自己的 pattern .

scrum 工作模型

scrum wiki

严格上的 scrum 是比较严肃的, 设计人限定了很多规则, 如:

  1. product backlog 的每个需求都是一个基于用户场景的用例或者用户故事

  2. 角色设定, 强调自我组织, 分为 "猪"组(产品负责人, scrum 主管, 5-9名全栈开发人员), "鸡"组(用户, 利益相关者, 经理)

  3. 每日站立会议

对于团队来说, 大多是应用伪 scrum 到团队中, 没有严格的遵循标准 scrum 的规则.

说说作为个人开发者的问题

几乎每个 coder 的某个文件夹里边都放着一些自己的个人项目, 但是大多数项目烂尾而终止, 原因很多如:

  1. 有新的更棒的 idea , 兴趣转移

  2. 工作上加班变多, 无力分心来开发个人项目

  3. 情绪左右着项目的投入时间, 每个月总有那么几天

  4. 被某一个问题卡死, 陷入细节, 太复制
    ....

能成功的完成的项目并且推向终端用户的产品是极少数的, 这些个人开发者要么是极度有经验, 要么是很有毅力, 要么是小团队作战.

所以能否也将个人项目像团队项目一样标准化, 通过某种工作模式让个人项目能够持续的投入并最终产出推向市场?

不要太聪明, 像猪一样笨的执行

个人项目没能完成往往不是因为开发者技术能力做不到, 不够聪明, 也不是因为项目 idea 不够好, 最主要的原因是因为开发者太"聪明", 对于公司的项目我们能够即便不加班的情况, 即便讨厌的情况, 也能够顺利完成, 因为有人要求我们去执行并完成上线. 所以总的来说就是个人约束没做到位

下面这张图是我根据 PPT 里边 scrum 的介绍画的

如果个人开发者也以这种工作方式来开展的话, 是不是就能解决问题了呢?

AngryTask - 为个人项目开发而生的任务管理工具

这也是我为什么要做现在的这个项目, 并用它来约束自身开发, 我取了一个不太好听的名字 叫 AngryTask

先上个正面图

AngryTask 截图

当然现在正在开发中, 还没有正式推出来, 先把话放在这里, 我会用上面的工作方式应用到这个产品的开发中, 并将这种开发模式整合到产品中 .....

转载自我的博客: http://6174.github.io/articles/scrum.html


http://lihuaxi.xjx100.cn/news/286007.html

相关文章

线段树分治 ---- F. Extending Set of Points(线段树分治 + 可撤销并查集)

题目链接 题目大意: 你有个点集合SSS,每次往集合里面加点或者删点(如果要加的点出现过),如果(x1,y1),(x2,y1),(x1,y2),(x2,y2)(x1,y1),(x2,y1),(x1,y2),(x2,y2)(x1,y1),(x2,y1),(x1,y2),(x2,y2)只要出现其中3个第4个就会出现? 问你最终这个点…

热榜第一!GitHub 标星 5.6w,如何用 Python 实现所有算法?

转自 | 大数据文摘编译 | 周素云、蒋宝尚学会了 Python 基础知识,想进阶一下,那就来点算法吧!毕竟编程语言只是工具,结构算法才是灵魂。新手如何入门 Python 算法?几位印度小哥在 GitHub 上建了一个各种 Python 算法的…

图论-有向图的连通性模板题(hdu1296)(hdu1827)

1.强连通分量: 强连通分量可以理解为边数最少的情况下是一个环。 这里写了一个模板题用的是tarjan算法,当然还有其他算法。 tarjan算法的关键其实还是对于num数组和low数组的使用 然后可以用栈来分离不同的ssc 感觉跟双边连通分量有异曲同工之妙 第一题…

10门必看的机器学习免费课程

整理 | 琥珀出品 | AI科技大本营(ID: rgznai100)文本将介绍来自全球10所著名学府的机器学习和数据科学领域的免费公开课程,范围涉及从入门机器学习到自然语言处理等。1、机器学习华盛顿大学链接:https://courses.cs.washington.ed…

用Python实现一个简单的线程池

线程池的概念是什么?在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是 如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务…

根号均摊 ---- E. Xenia and Tree(树形dp + 暴力根号均摊)

题目大意 题目大意: 你有一颗树:树开始时候1号点是红色的 现在就是你有两次操作: 1 u 把u点涂成红色 2 u 询问离u点最近红点在哪里? 数据范围是n,m∈[1,1e5]n,m\in[1,1e5]n,m∈[1,1e5]时间限制是5s5s5s如果直接查询我们是可以直接…

转置卷积实现

import tensorflow as tf import numpy as np import tensorflow as keras from tensorflow.keras import layers,optimizers,losses #创建X矩阵,高宽各位5*5 xtf.range(16)1 #调整为合法的维度张量 xtf.reshape(x,[1,4,4,1]) xtf.cast(x,dtypetf.float32) #创建固定…

全家都是博士是一种什么样的体验?

那些在北大未名湖畔或者清华园里,寒窗苦读获得博士学位的学子,都是家长们眼中“别人的孩子”。身边的朋友以及街坊邻居听闻博士的名号,都会投来敬佩而崇拜的目光。虽然如今随着学历水涨船高,博士学位存在一定程度的贬值&#xff0…