Answers:
我以单人的“供出租的软件枪”为生,他主要在家里工作,所以我很想听听其他人对此有何评论。
我发现一些重要的事情:
这些年来,我的其他技术也在不断发展,我根据项目和客户的需求对其进行调整。人们为我的工作代码付钱,而不是无所事事,因此我尝试使流程轻巧,避免客户烦恼。但是我发现一些敏捷技术对我来说非常有效:
独自工作的另一个难题是,您没有人告诉您该做什么,何时做,或者您是否做得足够好,或者什么时候因为做得足够而辞职-所以您必须做为自己。我个人更喜欢Scrum,因为我可以跟踪自己相对于冲刺目标的表现。对于看板项目,我可以跟踪我投入了多少时间,但是我不喜欢它,更不喜欢基于目标的东西。
我的一些朋友发誓要让Pomodoro专注于任务并跟踪个人效率,我正在考虑尝试一下。
我也有一个正式的过程可以向我的客户发布代码,以确保他们得到的是“正确的”东西,但这可能超出了您所要求的范围。
在其他地方使用SVN,对所有内容进行版本化。对于跟踪,notebook将用于更简单的项目,如果需要,您可以使用许多免费的任务/错误跟踪应用程序(Redmine很酷)。在我看来,敏捷/ XP /持续集成/其他会有些过大。
除了“ 个人软件流程”之外,我还没有发现有关供单个开发人员使用的正式流程模型的太多信息。PSP相当繁重的文档和文书工作(无论是原始形式),对于执行工作的特定技术并没有太多要说的(相反,PSP专注于数据收集以寻找需要改进的地方),但这是一个开始开发可用于中小型项目的个人流程的要点。
我认为最好的行动方案是简单地遵循一些流程模型中的一些适当选择的(根据您的需求和项目而定)被广泛接受的最佳实践。看一下跟踪完成的工作/剩余的工作,管理需求,版本控制,测试(特别是单元测试和验收测试),持续集成,编码标准,您将不需要它的方法。如果您还没有,我建议您阅读Code Complete和The Pragmatic Programmer并练习他们的技巧。
单独工作的最大好处是,除了外界力量对您的限制外,一切都取决于您。您不需要与其他人一起工作,因此选择使您能够以最有效的方式工作的技术更加容易。多年以来,您可能已经弄清楚了自己的最佳工作方式,因此这将是一个不错的起点。然后在此基础上应用已知的“最佳实践”以增强您的能力和技术。
这个家伙正在询问具体的方法,人们正在回答“使用X / Y软件”。与工具无关,实际上有许多方法,而且似乎还没有针对它们的验证报告:敏捷,迭代,螺旋,瀑布,XP,V模型,TDD。