[博客翻译]通过内容驱动开发推进副业项目


原文地址:https://ntietz.com/blog/making-progress-with-content-driven-development/


有时候很难推进副业项目。当看到项目的光明前景时,开始工作很容易。但在过程中,我们会被待办事项清单卡住,已经走了很长一段路,但离终点依然遥远。

这种情况对我来说和其他人一样常见。在过去的几年里,我发现了一种避免在项目中途受阻的方法。这不仅仅是关于提高生产力:这也让我能够在到达一个好的停止点时“放手”。它帮助我确定应该在哪里停下来。

项目为什么会受阻

项目受阻有很多原因。可能是因为我们不知道如何做某件事,这是一个巨大的障碍。或者,生活中的其他事情干扰了我们,我们放下项目就再也没有重新拾起。或者我们不断取得进展,但不断添加我们认为项目“需要”的功能。或者随着时间的推移,我们逐渐失去兴趣,项目在尚未完成之前就渐渐停止了。

对我来说,这些情况有一个共同特征:令人感到压力的任务清单

任务清单让人感到压力的原因有多种。如果下一个任务是我们不知道如何做的事情,即使清单很短也可能令人感到压力——决定去处理自己完全不知道如何入手的事情是很困难的!如果任务清单很长且你一段时间后才重新开始,可能因为不确定从哪儿下手而感到压力。而当项目规模很大时,在整个过程中保持高兴趣水平是很困难的,最终总会有一点兴趣减少到无法继续。

这些我都遇到过,但长期项目因失去兴趣而导致停滞是最常见的。我的兴趣变化很快,我喜欢做一些多样的事情,所以如果项目耗时太久,可能会半途而废,再也不会继续。此外,通常我开始这个项目是为了学习一些东西,剩下的部分可能看起来只是很多繁琐的工作才能达到目的。

但如果我能够快速完成一些事情并得到回报,这种成就感可以保持兴趣,使继续推进变得更容易。

通过内容进行分段

当我开始更规律地写作时,我也注意到我对项目的进展变得更加规律。这不仅仅是因为我想写点什么,而是因为写作改变了我对项目的处理方式。我不再创建一个大的待办事项列表,而是思考可以朝哪些小目标努力来进行描述。

这种做法在工作中有时也能看到。例如,敏捷开发的一个形式是每个冲刺都应该产生可交付的结果来提供价值。这也可能是每次冲刺都准备一个演示来展示工作成果。

这些方法的共同点,也是它们有效的原因,是将工作分拆成较小且可交付的块。当我为了写作而工作时,我会考虑可以独立完成的哪些部分,以便有值得写的内容,值得向别人解释的东西。也许意味着在这个即将到来的项目中,先做一个解析器,并写一篇文章介绍一些关于解析器的有趣知识!或者意味着为了演示Web应用,我们可以省略权限功能,因为这部分并不是核心(我们的重点不是部署软件)。

通过思考分享更新的顺序,可以让去除冗余的部分变得更加容易,专注于核心功能。每次分享你的工作都可以带来一种成就感。这也为某些你不怎么