〇、引言

最近,趁着幸福进化俱乐部会员制开发的空隙,我把一个搞了一年多的个人知识输出系统最终定型了,并且开始带着几个伙伴一起建立个人知识输出系统。关于这个部分的内容,等整体完成后,我会把成果展现出来,今天就想说说关于Github Issues的哲学。之所以有这个话题,就是因为在做活动的过程中,Github成为活动托管及内容产生的版本控制平台,而其中关于Issues的使用,更是让我发现了很多迷人的地方,整理成为本文。

 

一、Issues是什么

Issues是Github提供的为您的项目进行任务跟踪、功能增强、Bug解决的一种伟大方式,每一个Repostiory中都会提供。使用Issues可以在项目团队内部发布问题、共享想法、讨论内容,此外,它还有点像Email的形式,很快您就会感受到。其他Issues内容——例如:标签(Lables)、里程碑(Milestones)、需要参与的成员(Assignees)的具体说明,请参考官方的《掌握Issues》一文。

这是官方内容的翻译,我的理解是:

Issues是任何一个和项目有关的任务点,该任务需要项目团队执行某些操作,比如:任务及跟踪、优化及增强、Bug解决、想法讨论、问题提出及解决等。每一次完成(在Issues被称为Close)一个任务点,就相当于整个项目团队往前走了一步。

作为本文的核心:Issues的哲学思想,这里就体现出3点:

  • 项目推进过程的每个要点均可以采用设定边界的方式实现;
  • 每一个设定好边界的任务点的完成,均可以推进项目进度;
  • 每一个人任务点的具体思考、讨论、执行过程都会被记录。

二、项目标签(Labels)约定

这一次我做的个人知识输出系统构建项目,使用了一个团队协同项目中可能出现的各类标签:

  • bug:表示发现错误。可以是各种各样的错误,只要错误发生,就可以增加本标签。
  • task:表示任务安排。需要全体参加的具体任务安排。
  • enhance:表示优化建议。在项目过程中遇到可以优化的部分而提出的意见建议。
  • book:表示书籍内容。您对书籍内容提出的具体建议。
  • question:表示提出问题。您在项目推进过程中遇到的需要解决的问题。
  • example:表示优秀范例。您的某一个做法非常棒可以供其他人参考。

注意,每个Issue可以根据实际情况匹配多个标签。

三、案例:使用Issues提问

(一)使用说明

若一个活动的参与者有问题或者有话题需要讨论,可以使用New Issue发起话题及讨论。

  • 核心原则:一个Issue只讨论一个问题。
  • Title原则:直观明确,直接呈现问题的核心。
    • Title格式:【问题】问题概要
    • 建议不超出 24 个汉字。
  • 正文原则:使用绝对坐标描述。
    • 描述问题发生的背景、详细问题描述;
    • 书写针对问题自己的思路、已经实施过的尝试及结果;
    • 接下来的解决思路;
    • 需要其他人给出的帮助要求;
    • 请使用Markdown格式。
  • 提问者跟踪原则:积极跟踪自己的Issue。
    • 将自己的思考进展及时更新Issue中;
    • 及时对已经达成的共识进行整理,更新在Issue中便于其他伙伴迅速知晓进展;
    • 问题解决后,请更新Issue并说明解决核心要素和结果。
    • 解决问题后,需要Close Issue。

(二)更多资源

Eric Steven Raymond:提问的智慧》,选自:认知写作学文选@阳志平。

四、Issues哲学思想的综合总结

说到上面就结束的话,很多人都会觉得我是在卖萌:这不就是个简单的论坛功能么,哼哼唧唧那么久。所以,站在学习一个优秀产品本质的角度上来理解Issues,我整理出八个哲学思维:

  • 要点封装:项目推进过程的每个要点均可以采用设定边界的方式实现;
  • 积累原则:每一个设定好边界的任务点的完成,均可以推进项目进度;
  • 过程记录:每一个人任务点的具体思考、讨论、执行过程都会被记录;
  • 一次一事:一次只讨论和解决一个要点,要点的范围必须要明确;
  • 利他原则:使用绝对坐标描述问题;
  • 承担责任:主动跟踪自己提出和参与的Issue,持续更新进度;
  • 分门别类:通过设置分类标签来形成结构规划,整体掌握项目;
  • 彼此尊重:使用异步沟通方式,以极大程度尊重团队成员的时间。

一个产品的设计中,能够将项目管理中的任务点社会协同的关键要素通过一个大家感觉都非常熟悉的方式呈现出来,这才是最重要的部分,而这个思维方式本身也会对我在团队管理中对如何更好把握团队协同的核心要素有极大的帮助。这才是本文的关键。

五、结尾

有个小建议,在我开始大规模推广个人知识输出方法之前,最好能够自学一下Git和Github的说明,我给出简单的资源:

  • 关于Git,请查看廖雪峰的《Git教程》;
  • 关于Github,请查看蒋鑫的《GotGithub》。

关于成本投入,我有个例子:一个大四的姑娘,从来没有学过编程,用了不到两天的时间已经搞清楚Git、弄明白Github的功能和使用了。

Issues的哲学思想-知行,在路上


Issues的哲学思想-知行,在路上Issues的哲学思想-知行,在路上