Can I develop my application in alone, using the Agile development methodologies? [closed]
开发者_开发问答
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this questionCan I develop my application in alone, using the Agile development methodologies (i think that this methodologies orientate on development in team). What's the principles i could using? Sorry for my bad English
While all the previous answers are correct in that you certainly can use agile techniques while being a one-man team (within reason, as Oded pointed out there is little value in having standups or retrospectives by yourself), I would question the value of each practice that you adopt.
- Is there a point in having a build, perhaps, what about continuous integration - a waste of time, you have bigger fish to fry.
- Releasing often is probably a good idea.
- Do you need a backlog, it all depends on who defines your requirements and how big the piece of software you're building is in the first place.
- Do you need iterations - even people in the agile community have started to question their value.
Is this piece of software always going to be maintained by you, or will you hand it over? If you're gonna hand it over a good test suite is the courteous thing to do, but if it will always be you, don't bother with anything massive only test the bits you're unsure about. I certainly wouldn't bother with TDD, there is no-one around to be impressed with how test-first you are and unless you're an expert it will slow you down.
End of the day, when it comes to developing software by yourself, I think you need to keep an eye firmly on the prize, which is to deliver a working system in a reasonable amount of time. As long as you keep that in mind it doesn't matter what process you end up using, there is no-one there to be tripped up by weird practices except yourself.
Yes, you can.
Have tasks, break them down, estimate them and prioritize them and work on them in short iterations.
You can also have a stand ups with yourself if you choose to ;)
Yes you can!
- Release often
- Keep a managed backlog
- TDD
- Demonstrate something new working every iteration
- Have a continuous integration loop
Most Agile methodologies center around feedback loops. The more often you loop back in to inspect and adapt what you're doing the more Agile you're being.
- Build often: Every commit if you can, write automated tests to run upon build too, the sooner you know that something is broke the better.
- Use short iterations: The point isn't to have working software at the end of the iteration (you'll be trying to not to break it period). The point behind an iteration is to inspect and adapt. Commit yourself to something (bug fix, new feature, etc), implement it and then look back at what you did right, what you did wrong and change something with the intention to improve.
- Keep the backlog fresh: Nothing is worse than a stale backlog, keep it up to date with new feedback and ideas if you can. Leave the individual backlog items big until you're ready to commit to them in an iteration then break them down into chunks. Those chunks should be small enough for you to see daily progress being made in the iteration.
- Keep it simple. Being Agile with one person is really simple but it's easy to get caught up in solution that are designed for larger teams. Estimating might be considered overhead, just commit to what you think you can get done in a reasonable amount of time.
Agile means excellent responsiveness & adaptation to change, here I see the "change" as a change from the usual way software is developed - you alone instead of a team. Why don't you respond to it by using the G-71 Software Methodology, that way you follow the Agile Software methodology :)
精彩评论