当前位置: 首页 > 科技观察

基于GitHub的敏捷学习方法方法与技巧

时间:2023-03-22 01:30:47 科技观察

1.前言1.对时间的敬畏需要很多年才能领悟。不是要震撼世界,而是要像易卜生所说的那样高人一等地生活在这个世界上。我们都是一样的,渴望有所作为并改变世界。可随着年龄的增长,我发现梦想还很遥远,但时间依然在残酷地流逝,不会因为“你”而有丝毫的改变。正如《奇特的一生》所说,我总是敬畏时间,而最好的方式就是请时间与自己做朋友,与我一起成长,也许这辈子就注定了朴实无华。在我们一生能做的事情中,睡眠占了1/3,这辈子只剩下2/3了。除了必须要做的基本生活维持费用,剩下的时间,要么可以在这一生中浪费和度过,要么朝着目标前进,这样这一生就没有遗憾了。随心所欲,你需要找到一些你愿意为之奉献一生的“目标”,并以这种态度“活在这个世界上”。2.敏捷与个人成长就像软件开发一样,一个人的成长也应该有自己的方法论。如果一个人的一生一帆风顺,一成不变,那就太乏味了。正是因为未知的世界等待着我们去探索,不同的体验会让人感到惊喜和有趣。想做的事情永远不会太多,就像柳比雪夫最初学的是生物学,但在科学的道路上越走越远,后来又学了数学、物理、哲学,甚至美学。更重要的是,他在各方面都做出了巨大的贡献,留下了很多作品。时间扮演着ProductOwner的角色,不断对你提出各种需求。敏捷中最重要的前提是“拥抱变化”,而我在《记录时间的小事》中提到的GTD过程就可以用来处理这种持续的需求,即收集、整理、执行、评审、对应到敏捷的几个主要会议,显然也可以由个人完成。你是自己的IM&PM,当然还有BA&Dev&QA(当然不用担心人格分裂)。2.TheArtofPractice《实践的艺术》没想到一开始会写一篇鸡汤文章。但是,如果上面说了“道”,那么基于GitHub的“艺术”就具体了,就是各种实践”首先,我们从需求出发,从市场上找一款敏捷学习软件。别想了,当然没有。对于一个程序员来说,最理想的答案其实就是GitHub,作为全球领先的最新编程猿网站,GitHub本身以及围绕GitHub的各种插件,使得它的项目管理能力远超你的想象。收集:需求无处不在,随时随地整理:作为BA,分析,Elaboration&Estimation&IPM=>confirmMVP&Efforts执行:作为Dev&QA,Developing&Testing&Review/Sign-OffReview:Retrospection,Introspection,持续反思,持续改进...3.通过GitHubIssues收集需求首先,你可以自己建立一个GitHub仓库作为你的主页,比如我的JimmyLv/jimmylv.github.io:AgileLearningbasedonGitHubissues,它最初是从我个人博客的主仓库开发的。那么,如何快速储存自己的想法呢?以解决问题为导向,即如果你有任何需求,你可以直接为自己的repo创建一个issue作为StoryCard,但是这个需求的最终形式是关闭这个Issue。比如我想写这篇文章就是从这个问题开始的:基于GitHub的敏捷学习方法总结Issue#36。4.GitHubissues的高级用法同时,还有一个更高级的用法是新建issue,即通过ISSUE_TEMPLATE等模板新建issue,从而更快的定位问题,分析自己的问题想法。最重要的是它能够输出更具体的TODO,即下一步动作的具体内容,后面会详细说明。Issue和issue之间可以通过#连接起来,甚至可以跨仓库。被引用的issue也会出现在另一边的issue中;并通过#!symbol,可以直接在评论里开新issue,思维大爆炸,来了就很爽;你也可以随意帮助你的朋友,互相监督,互相学习,或给予建设性的反馈;更重要的是,如果你在Intellij中关联GitHub,你可以在gitcommit信息中直接看到你要关联的问题列表。这种方法就像大脑在学习,神经网络相连的感觉。5.移动端的解决方案在移动端,您可以通过GitDo应用轻松创建和管理自己的Issues。没错,有人把GitHubissues做成了一个Todosapp,非常漂亮,功能也很齐全。就是不知道为什么最近这个软件下架了。很伤心,所以我又把勾选列表(TickTick)作为我的***收藏箱,然后我会把更重要的需要进一步跟踪的项目添加到GitHubissues中。来。6.组织你的GitHubIssues大胆地使用issues作为你的个人需求列表。需要解决的问题可以大到做一个开源项目,也可以小到看一本书或写一篇文章。对于更大的需求,您也可以将其转换为Epic并将拆分的小问题添加到此列表中。GitHub(配合ZenHub)强大的issue管理能力,一定会让你的迭代工作更有条理。使用GitHub的新Projects功能或者使用ZenHub的Boards都能瞬间给你日常敏捷工作的感觉!七、规划和执行具体任务1、制定迭代计划首先,让我们创建一个里程碑来制定计划,即决定在一次迭代中需要完成哪些问题。我这里做的阶段性计划的周期是一个月。当然,你也可以勤奋一点,把2周作为一个Iteration,尽情享受吧。如果你不能完成你的计划,这个里程碑将被废除。这个终生的朋友可以满足您所有的需求。当然,我通常会在月初做计划的时候专门准备Elaboration的时间,将Backlog中的卡片拖到Rethink/Plan栏中,详细分析输出TODO和对应的评估点。您可以将其拖到ReadyForTodo。一般我给自己预估的分数是完成这个任务所需要的时间,一小时对应一分。这样,你就可以愉快地选择FilterIssuesbyMilestone,关注当前Iteration,关注InProgress栏中要做的事情,垂涎ReadyForTodo中要做的事情,都可以放到每次做完Review/SignOff,把这件事的总结和感想写在里面,每次Noka都充满了敏捷的仪式感(严肃脸)。2.进度控制GitHub在issues中直接集成了Markdown的TODO语法,甚至可以在渲染后直接拖拽item进行排序,直接在之前的打勾选项中打上?标记为完成。不仅如此,issue完成后还可以直接显示完成进度;前面提到的Epic还可以直接显示子问题的完成情况,即关闭率。两者的结合再美不过了。比如作为阅读清单的记录,就非常不错了。每本书作为一个issue,章节也可以划分为具体的TODO,结合评价点跟踪你的阅读进度和速度。对了,在评论下做个笔记也不错啊!3.关注当下ZenHub还提供了一个基于GitHubIssues的TodoList,你可以只关注Today列表,专注于当前要完成的任务。而且比较有意思的是,这个列表可以添加到GitHub的任意issue,也就是说,它是全局的,所以可以添加很多在GitHub上通过issue写的博客,比如徐飞的文章Flowingdata-usingRxJSDatalogic构建复杂的单页应用·Issue#38·xufei/blog,已加入阅读列表。同时,我也会使用Toggl记录每个issue的具体执行时间,以便及时反馈所花费的时间。这样做会让你真正感受到时间的流逝,也可以在回顾记录时进行总结分析,从而更准确地预估下一个计划的时间(点)。比如这篇文章我估计是5分,现在已经写了4.5小时了,但是这又是一个大话题,记录时间的小事可以参考这个问题。8.IterationreviewandsummaryanalysisZenHub还提供了Burndown和Velocitytrackingcharts,可以用来获取本次迭代的整体完成情况,看看与预期有何不同;也可以和其他迭代进行比较,看看有什么不同,再进行下一步的具体分析。也可以根据GitHub和Toggl中的数据进行总结分析。下表是我在11月份完成迭代后,结合issue中记录的各种笔记和参考,对一些issue的具体EstimationPointsandTimeEfforts。以获得更直观的总结和回顾。其他辅助工具看板:如Jira/Trello,可视化当前进度=>GitHubIssuesgroupby@Projects/calendarin@ticklist;如果你不想用ZenHub,可以试试Gitlo,它可以在GitHubissues和Trello之间进行双向同步。晨间日记/每日回顾:作为Stand-Up,你只需要关注Timeline/Done/Todo/Blocker和当天的心情/天气等。使用@格志日记的一个特点是你可以回顾一天通过问答。时间记录:@Timeblock的优点是记录起来非常简单快捷。是用户评论中最省时的时间记录工具。它不是其中之一。推荐新手尝试。但是因为我需要更详细的记录详情和报告分析,以及多平台(包括ChromeExtension)的支持,所以我选择了@Toggl。WhiteNoise:作为一个时间记录工具,@Toggl原生支持番茄钟的25分钟提示。作为一款帮助注意力集中的白噪声软件,我在手机上使用@涛泪,在电脑上使用@Noizio。也许你很喜欢这个解决方案,但又不想公开你的issues列表,那你可以试试GitHub的privaterepo(需要付费),你可以免费试用GitLab,它支持从GitHub一键导入,而且是已经原生支持流水线和看板功能。当然,它不仅限于工具或软件。这套方法论其实可以用在任何地方。我们甚至可以制作一个结合敏捷方法论的个人学习管理软件也不错。但就我而言,选择在GitHub这样的开放环境中记录学习的最后一个动机就是“开源”。想要”。当你从互联网浩瀚的知识??海洋中吸收知识的时候,你也应该输出一些东西,也就是反馈给整个互联网。我经常写博客/笔记来总结和分享我所学到的东西,但是一篇文章诞生的背后,往往有很多其他的知识和经验交融沉淀。基于GitHub的学习过程会被这些issues忠实记录下来,任何idea都可以被追踪到这个可追溯性中找到了最初的原因。《比起软件开发这些小事,健康快乐的成长显然要重要得多。——李青》原作者】点此阅读更多该作者的好文