我们到了! 这是我系列中的第二篇文章,解释了如何成功完成您的项目。第一部分就在这里 。
我确信你每次上床睡觉时都会读到第一部分,所以你不会有困难把它与这篇文章联系起来。 如果没有,我会建议你阅读它。 否则,您从本文中获得的好处将没有那么有价值。
原因是:心态比一套工具更重要。 如果您不知道如何以及为何使用锤子,您可能会伤害自己(甚至其他人)。
足够的理论,我们这次将专注于实践。 我使用了哪些技术和工具来成功构建我的Side Project Sharetoall和其他许多项目的第一个beta版本?
这里描述的工具是我个人的偏好。 请记住,您可以使用任何可能更符合您需求的等效应用程序。 最重要的是要了解它们为您的工作流带来的好处以及它们解决的问题。
你也应该知道,任何人都不会支付我将在本文中描述的应用程序。
显然,如果你有其他建议让我们互相帮助:评论部分如下,与任何其他博客一样。
1.Side Project理念:抓住所有人!
正如前一篇文章所述 ,抓住你想到的想法是至关重要的。 在将它们写在某处之前不要让它们消失!
您将在“创意包”中添加更多创意,您的脑海中会浮现出更多创意。
笔记记录应用程序非常适合您的创意包。 我个人使用Google Keep暂时存储我的任何想法。
每周我收集所有这些想法,然后将它们放入思维导图中。 我写了一篇完全致力于创意的文章 ,我描述了我的整个创意系统。
2.建立你的Side Project的目标
确定您的Side Project的目标至关重要。 它们将成为您完成工作的重要动力来源。 没有目标,你将失去兴趣继续并实现你梦想的项目。
以下是我在Sharetoall的笔记系统中编写的目标:
帮助人们分享知识
基于捐赠的免费平台
一次在多个社交媒体上分享内容
简单的界面,没有任何钩子
询问/保存最少的用户数据
没有上瘾的界面(没有通知/推送)
当我写下我的目标时,我会尝试:
非常简单
足够描述
尽我所能
当你感到自己的动力下降时,这可以作为一个快速参考。 这就是为什么它需要简单易读。 目的是让您快速提醒您为什么要在第一时间开始您的侧面项目以及为什么要完成它。
Sharetoall可以帮助人们分享知识和内容,这要归功于一个非常简单的界面,这对我来说非常激励。
看看你的项目是否偏离你的目标也是非常有用的。 如果是这种情况,您可以采用以下方式:
更改项目的功能,使其与目标保持一致
改变你的目标
这些目标非常普遍。 我有更精确的目标,我分为三类:
短期
中期
长期
这些目标更具描述性。 例如:
短期
在Linkedin和Twitter上分享消息
中期
可以安排消息
长期
创建移动应用程序
在富裕和着名的同时保持谦逊
写完这些目标后,你就知道自己想去哪里了。 把它们放在某个地方很重要。
在我之后重复:即使开发辅助项目很有趣,完成它们也是一个挑战。 这些目标提供的动机和目的是必不可少的。
3.要求反馈
当我开发Sharetoall的第一个版本时,我没有要求很多反馈。 原因很简单:第一个版本只是回答了我的需求。
我喜欢分享通过社交媒体找到的有趣文章。 对我来说,传播有趣的想法是一种很好的方式,而不必衡量我所分享的影响。 即使只有两个人从他们那里学习,它已经是某种东西了。
我为Hootsuite支付费用,以便立即在多个社交媒体上分享,但当然我不需要90%的功能。 最重要的是:
我不确定他们对我的数据做了什么
这真的很贵
我根据自己的需要创造了目标。 对我而言,这是你能做的最简单的事情:你知道你的需求是什么,因此你可以以非常精确和准确的方式制定你的目标。
既然Sharetoall是MVP ,那么问问人们是否会对该服务感兴趣是一个好时机。
因此,我需要知道人们是否愿意:
使用该应用程序
有兴趣拥有更多功能
但是等一下:这些人是谁? 当您进行Side Project时,重要的是要定义您想要达到的目标并解决您想要解决的问题。
我将我的受众定义为想要轻松分享文章,想法和知识的知识工作者(主要是开发人员或自由职业者)。
总之,我试图找到一类具有相同需求的人:
我自己就是一名知识工作者。 对于那些与我的工作和背景非常相似的人来说,更容易说话和理解。
由于我想要接触到的观众,我知道在哪里可以找到知识工作者。 找到它们为什么? 与他们沟通有关Sharetoall的信息。 具体来说,Reddit,Stack Overflow,Slack,论坛......
目标:增加我可能对我提供的服务感兴趣的人提供反馈的机会。
现在这是一个非常重要的建议:如果你只是将你的副项目作为其他人的目标,那么在编写任何代码之前 ,请向他们提出反馈意见。 如果没有人想要它,就不需要构建它。
4.享受旅途
沮丧是我开始这个项目的另一个原因。 那时我正在为一家需要类似CMS的应用程序的公司工作。 我们选择使用PHP框架symlex,因为它简单,我们计划使用Vuejs作为前端。
我绝对是一个后端人,但我看到了更多关于现代JavaScript框架的机会。此外Vuejs看起来很有趣。
不幸的是,管理层认为VueJs “太复杂”了,我们最终使用了jQuery 。
沮丧,我决定使用组合VueJs / Symlex for Sharetoall:
我非常了解PHP并且我认为该项目太复杂而无法使用其他语言。 我不想添加更多的难度因为我知道构建前端会很困难。
Symlex比我使用的其他PHP框架更简单,更灵活,更可测试且更快( Symfony 3 / Doctrine ORM我看着你)。
我不喜欢jQuery 。 我一直看到开发人员用它做意大利面条代码。 现代JavaScript框架提供了一个受欢迎的结构,并且非常易于使用。
使用Sharetoall,我可以:
没有时间压力的实验。
强化一些弱技能( JavaScript ,“DevOps技能”,如设置CI和CD管道)。
我确信,即使在开始构建应用程序之前,我也会喜欢构建它。 这非常重要:你需要享受骑行 !
5.一个思维导图将它们全部链接起来
让我们谈谈组织。
我的组织系统的核心是思维导图 ,它帮助我遵循完成任务的框架。 我没有发明这个概念。 我买了一个关于Udemy的课程,它描述了一切。
我通常不是Udemy课程的忠实粉丝。 我认为内容大部分时间都缺乏深度,你可以在一本好书中找到。
但是我发现这个非常相关,特别是如果你搜索一种有效的方式来组织你生活中的一般项目。 不要误会我的意思:我喜欢意想不到的事情,即使你使用类似的系统,你也不必计划一切。
简而言之,这种方法为我想要实现的一切带来了非常通用的工作流程。
您可能想知道亲爱的读者:为什么要使用思维导图?
简单地说,这是一种组织信息的非常好的有效方式:
您可以在一个屏幕上使用一个应用程序在一个文档中找到所需的一切。
如果您想专注于特定部分,分支很容易折叠。
这是非常直观的,有助于将想法联系在一起。 链接的想法很容易记住,可以创造新的想法!
您可以在思维导图节点和笔记之间创建链接(使用Evernote或Laverna)。
这个思维导图让我全面了解了我现在或未来想要实现的目标,包括我想要完成的辅助项目。
对于这个特定的思维导图Action map我使用Mindmeister ,它有一个限制为3个思维导图的免费选项。 好处? 它很容易个性化,然后我可以通过手机或任何计算机轻松访问它。
那边的项目怎么样? 我的思维导图的一个分支是致力于它们,这让我想到了下一点。
6.时间管理和生活平衡
如果你需要在你的全职工作和你的义务(家人,朋友,你对迪斯科的热情等等)之间挤压你的项目,时间管理非常重要。
每周我都会为自己的思维导图中的每个项目留出足够的时间:
根据侧面项目,我以时间单位 (每个25分钟)或成就来衡量完成的工作。
你可以看到side projecttestomatic我允许自己工作4个单位的时间 (4次25分钟)整个星期。 自从我接近完成第一个测试版本以来,我已经完成了18个单位的时间 。 如您所见,我保持系统非常灵活。 有时我会做更多,有时更少。
对于其他项目,如“后期处理图片”(我非常喜欢摄影),我不计算时间单位,而是成就 。 具体来说,这个特定的一周我的目标是处理4张图片而我没有处理任何图片。
这个系统允许我设定非常具体的目标。 我不会在一周内创造压力来尝试完成特定的任务。 我不知道他们会花多长时间。
要实现它们,我会尽量保持规律。
怎么样? 例如,对于“后期处理图片”侧面项目,我知道每周结束时我会在星期六处理2张图片,在星期日早上例行处理2张图片。
这是养成习惯的好方法。 如果您在另一项特定任务(例如早晨例行程序)之后定期处理某些项目,那么您将更容易自动地,一周又一周地完成任务。
为什么使用25分钟的时间单位? 仅仅因为我使用番茄技术 。 当我开始处理我的一个项目时,我总是在手机上运行我的番茄钟应用程序。
我个人在Android上使用Productivity Challenge Timer,它还提供排名系统和时间跟踪功能。 这样我就知道我花了多少时间在每个项目上,排名系统提供了更多的动力。
对我来说,Android上最好的番茄钟应用程序
如果您愿意,您也可以使用简单的计时器为您的番茄钟。
你可能会问自己:为什么我应该遵循这个番茄的东西呢?
由于25分钟很短,因此在没有太多摩擦的情况下开始工作会更容易。
如果你想要实现某些目标,很短的时间就会让你非常专注。
它总是提醒我在工作时花了多少时间在项目上。 当您有其他义务时,失去时间跟踪会产生影响。
由于您尝试解决问题或错误,因此很容易忘记时间。 番茄工作技术每隔25分钟就会提醒您,您可以在另一天更有效地解决问题。
它避免了帕金森定律的影响。 即使可以在更短的时间内完成任务,我们也会自然而然地尽量让自己完成手头的任务!
在我的Action思维导图中,我可以为每个项目的节点编写描述。 因此,每周我都会在那里写下我在每个项目上花费的时间。 然后我每6个月总结一次如何度过我的时间。 结果?
2017年7月至12月,我在Sharetoall上花了86,25个小时。 每天工作8小时大约10天。 那时我已经有了后端和前端的很大一部分。
每天工作6个月让我:
比连续10天工作8小时/天更有效率。
专注于项目的基本部分。
养成习惯。 过了一会儿,没有必要推动自己开始工作。 做成自动化。
另一个小技巧:当我感觉不适合我的一个项目时,我会应用“10分钟规则” 。 如果在10分钟后继续工作,我仍然不想继续,我停下来。
很难找到你的时间只有10分钟的借口。 最好的部分是:大多数时候你的工作时间超过10分钟!
开始工作是最困难的。 这个小策略让它更容易。 非常简单有效。
7.更小更好
正如我在本系列的第一篇文章中所写的那样 :将你的副项目分成几乎没有可操作的任务是非常重要的。
如你所见,我使用五列。 从左到右:
在列中, Version 2是下一版Sharetoall的票证。
第二列是当前版本的backlog 。 当前版本的Sharetoall需要获得的每张票都在那里。
in progress的列in progress的任务。 如果票据不能正常工作或者我没有为其编写单元测试,则票证仍在进行中。
testing栏是票据领域,需要手动测试或(甚至更好)测试功能/验收测试。
done列是自解释的。 此列中的故障单可以是下一个部署的一部分,也可以是生产中的故障。
我in progress栏中很少有一张票。 一次处理一张票非常重要。 试图在不同的事物之间切换是浪费时间和精力。
您可能想知道:何时以及如何创建这些票证?
我首先创建功能票。 他们描述了我想要实现的目标。
然后我查看需要做更多细节的事情,并将其分成较小的票。
我经常一次又一次地分开这些票,直到我有最小的票。
让我们举一个具体的例子:对于Sharetoall,我想通过其API向Twitter发送消息。 这是一个例子:首先我创建了“在Twitter上发送消息”的票证,然后我一次又一次地将其分开。
最后一条重要规则:我不会对我的门票进行任何时间估算。 我让那些在不评估技术债务成本的情况下尽快获得其功能的经理们。 我不是一个预言家,你也不是。
如果我真的想要一些估计,我会使用衬衫尺码: XL代表长票, XS代表非常短的票, L和S 。
8.构建习惯
你最好的成功方式就是建立良好的工作习惯。 它们非常强大,可以为您提供极大的帮助。 我并不夸张。
如何建立这些习惯?
在我的Android手机上,我使用了应用程序循环 ,一个免费且简单的习惯跟踪器。 循环遵循旧的“不要破坏链”技术:每天在日历上放一个“X”你做某个活动,过了一会儿你会尽量不打破这个漂亮的“X”链。
如果您希望每天或至少在一致的基础上开展您的项目,那就太完美了。 例如,如果您希望每周只处理两次项目,则可以对其进行配置。
Loop将跟踪你在你的习惯建设和你破坏过去的链条方面的进展。 这对我来说非常有效。
如果您不喜欢Loop ,可以尝试其他类似的应用程序。 那里有很多。
要追求自己的项目和目标,你需要自律。 不要害怕或被这个想法击退:自律并不是什么坏事,会把你变成一个麻木不仁的机器人。 它不会带走你生活中的每一个快乐。 它能做的就是为你的生活带来更多的控制。
我个人的自律经验如下:在学习或创造时避免任何捷径。 拥抱失败并再试一次。 这就是你将从任何事物中获得最大收益的方式。
这可能听起来很难,而且确实如此。 一开始,只有。 大概是第一个月。然后你甚至不用考虑它就会实现!
你在许多领域建立的习惯越多,你的一般自律就越好。 这是有道理的:因为习惯带给你欢迎的自动化,你可以用你的意志力来完成其他任务。 最后,自律只是自我控制的同义词。
尝试没有任何费用,是吗?
如果你对意志力的想法感兴趣,我强烈建议你阅读Willpower Instinct ,这是迄今为止关于意志力和自律的最好的书。 它非常简短,易于阅读并提供大量可操作的建议。
9.避免压力
每天早上重复这些要点作为口头禅:
您设定的目标或您在番茄钟应用程序中的排名无关紧要。 你想要实现自己的目标是什么? 不要停止尝试。
如果你这次没有达到你想要的一切,那没关系。 你下次会做得更好。失败并不是一个糟糕的结果,而是一种成长的可能性。
不要设置任何硬性截止日期,也不要打败自己完成任务。
最困难的是开始一项任务。 只需强迫自己工作10分钟,看看你是否想要继续。 如果没有,停止工作。 就这么简单。
时间限制可以给出界限:决定每周在有限的时间内完成一个侧面项目并坚持下去。 没有更多,也许更少。 至少大部分时间。
重要的是一致地开展工作。 每周做一次一年一次比殴打自己三周并放弃,筋疲力尽更好。
意识到自己的极限对于实现你的副项目非常重要。 你的可能性是无限的,这些小建议可以帮助你避免压力。
10.战胜你的完美主义
完美主义并不一定带来任何价值。 如果你花费数小时使你的代码完美,然后从不修改它,那就浪费时间了。
过于完美主义者可以在发布副项目之前增加您需要完成的工作量。 你花费的时间会更多,你需要更多的动力。 根据很多研究(显然)意志力是有限的资源,不要浪费它。
总是可以微调一切。 解决方案很简单:您需要边界。
这是地雷:
我编写代码并使其工作,即使它完全是丑陋的。
我同时编写单元测试,看看我的代码是否按预期工作。
由于我大致了解将来要实现的功能,因此我重构了稍后可能会改变的代码。
当我使用第三方API时,我有时也会编写验收测试。 在Sharetoall中,我显然需要使用Twitter和Linkedin API,所以我有验收测试,看看我的实现是否仍然适用于他们。
就这样。 如果我想对我可能永远不会实现的假设功能进行微调,那么Sharetoall将远未被释放。
请记住,完成任务并继续前进至关重要。 在一项简单的任务上花费数周时间没有什么比这更令人沮丧的了,因为你从不对结果感到满意。
这是项目的时间!
我希望本系列文章能为您提供一些启动,实施和成功发布您梦想的侧面项目的关键。
开始和发布一个辅助项目并不困难。 创造杠杆以实现更好的自我控制和时间管理是至关重要的,它将帮助您和您生活的方方面面。 是的,这听起来很夸张,但我坚信这一点。
不要认为你对自己的项目成功太愚蠢或懒惰。 你不是。 你没有找到有效解决工作的最佳方法。
如果你有其他方面的项目创建者的其他建议或技巧,不要害羞,并发表评论!