我在很多项目上花费了大量时间,在这些项目中,我是唯一的开发人员,项目经理,设计师,QT人员(是的,我知道...很糟糕!),有时甚至是客户。
我已经尝试了几乎所有用于计划项目和管理自己的事情,从坐下来自由工作直到项目完成(无论花费多长时间),再到单人版的Scrum,我在其中与自己举行了一次进度会议。每天早上烧毁图表(不是在开玩笑)。
对于那些花费大量时间独自工作的人,什么是组织自己,管理大型(一个人)项目并保持尽可能高的生产率的最佳方法?
我在很多项目上花费了大量时间,在这些项目中,我是唯一的开发人员,项目经理,设计师,QT人员(是的,我知道...很糟糕!),有时甚至是客户。
我已经尝试了几乎所有用于计划项目和管理自己的事情,从坐下来自由工作直到项目完成(无论花费多长时间),再到单人版的Scrum,我在其中与自己举行了一次进度会议。每天早上烧毁图表(不是在开玩笑)。
对于那些花费大量时间独自工作的人,什么是组织自己,管理大型(一个人)项目并保持尽可能高的生产率的最佳方法?
Answers:
明确列出您的目标至关重要。特征爬取很容易接管一个自我管理的项目。TDD“在工作时完成”的方法也很有帮助。这样可以防止您成为完美主义者。
真正帮助我的一件事是想象在任何给定情况下其他工程师或项目经理会说些什么。通常,我可以摆脱不良代码而感到羞耻,如果日程安排不顺,我也可以回到正轨。
在这里,您可以... http://xp.c2.com/ExtremeProgrammingForOne.html
XP可以很好地缩小,因为它是针对小型团队的最佳选择。
在一个团队中,您唯一无法做的就是PairProgramming。
如果您是独自工作。以下是建议:
在我公司,我们团队都在同一个项目上工作,但是工作相对独立。我们在这里要做的一件事是,当您在做某事时似乎有些棘手,或者您在前进的道路上有多种实现某件事的方式,您会抓住其他人,并在讨论正反之前你继续。如果您等到代码完成审查后再进行检查,通常就已经花了太多时间来考虑主要的体系结构更改,尽管在代码审查中肯定会发现很多缺陷。
另外,我意识到“测试驱动开发”最近有点流行,但是对于单独的开发人员来说可以提供很大的帮助,因为它可以在进行过程中提供质量检查,并且当测试变得难以编写时,您知道您可能需要对您的结构进行一些重组码。它还有助于以后的维护者不要以难以发现的方式意外破坏代码。
我建议您以下:
我希望我可以说我能够100%地练习我讲的内容,但是BDD似乎是解决您情况的好方法:
这是更多信息的链接:http : //en.wikipedia.org/wiki/Behavior_driven_development
如果将其丢弃,那么使用方法论的代码可能会有些松懈,但是任何重要的事情,我想您将其作为一个团队项目来对待的方法非常好而且有纪律。
写你的代码给下一个要读的人,不是你...对他/她好。甚至“扔掉”的代码也永远存在。