在团队和/或大型项目上工作时,我是敏捷方法的大力倡导者。
然而,我发现对于较小的项目,当独立工作时,我通常会开始编写单元测试,广泛记录,重构的项目。随着时间的推移,我停下来因为我觉得我在浪费时间。我发现使用敏捷旋转编码的牛仔(经常进行测试,编写人类可读的代码)对我来说非常适合我在小型独立项目中的工作,我不希望其他人必须使用这些项目。
让其他人分享我的情绪吗?或者你认为一个人永远不应该坚持自己的枪支(得到它?牛仔队)?
所以真正的问题是:是否有针对独奏项目特别定制的敏捷方法? (除了上面的“敏捷牛仔”方法)
答案 0 :(得分:4)
敏捷是一种哲学,而非处方。您可以使用适合您的开发风格,项目和业务需求的部分。
我认为您的“经常测试,编写人类可读代码”提案是一种非常适合在小型项目的独立团队中制作优质软件的方法。
答案 1 :(得分:2)
您可能想查看c2.com的Solo Programming Xp Workarounds。 Cardboard Programmer出于某些原因我发现特别有趣。您可以在旁边用纸板Jon Skeet进行编码吗?
答案 2 :(得分:1)
牛仔编码和敏捷过程并不相同。
对于小型个人项目,当然有很多事情会有点过分。敏捷开发,短迭代,频繁的代码审查和自我记录代码是可行的方法。
答案 3 :(得分:0)
我目前正在独立完成一个ASP.NET项目(虽然不是一个小项目)。我使用TDD相当多,我发现使用TDD开发并不需要更长的时间,事实上我节省了时间。
这主要是因为使用单元测试套件可以非常快速地测试和调试系统。例如。当一个功能没有按预期工作时,将调试器连接到NUnit进程要比在调试模式下启动Web服务器,导航到正确的页面(首先通过登录屏幕)等要快得多。因此,如果不进行单元测试,我会花费更长的时间进行测试和调试。
单元测试也帮助我创建一个设计良好的系统,因为它迫使我创建一个更松散耦合的设计。
答案 4 :(得分:0)
我想说,参与该项目的人数不是唯一要考虑的因素。我认为你找到完整敏捷的原因(文档,重构,单元测试..........这些可能不是真正的敏捷但是它们已经存在了很长时间时间浪费是因为独奏项目往往是小项目。
对于跨越半年以上的大型项目,我真的希望正确的流程能真正帮助自己。您可以访问5个月前编写的一些代码。没有文档,它与其他人的工作相同。没有测试,你就像改变其他人的代码一样害怕改变它。