Small Project Solo: Cowboy Coding The Way to Success?

I work on teams and / or large projects - a big proponent of agile methods.

However, I find that for small projects, when I work solo, I usually start tests on a block project, carefully documenting refactoring. When the time comes, I stop because I feel like I'm wasting time. I find that flexible rotation cowboy coding (frequent testing, writing human code) often works very well for me on small solo projects that I do not expect from others to work with them.

Do other people share my feelings? Or do you think that you should never stick to your weapon (get it? Cowboys)?

So the real question is: are there any flexible methodologies that are particularly suitable for a solo project? (except for my rolling cowboy method above)

+6
agile
source share
5 answers

Agile is a philosophy, not a recipe. . You use parts that are appropriate for your development style, your project, and your business needs.

I think your “human-readable code-often test” is the perfect approach to create good solo team software for small projects.

+4
source share

You can look at c2.com Solo Programming Xp Workarounds. Cardboard programmer - this for some reason I found it especially funny. Perhaps you could copy the Jon Skeet card near you?

+2
source share

Cowboy coding and flexible process do not match.

As for small personal projects, then, of course, there are many things that will be superfluous. High speed, short iterations, frequent code review, and self-documenting code are the way to go.

+1
source share

I am currently working solo in an ASP.NET project (although not small). I use TDD quite a lot, and I believe that development with TDD does not require more time, in fact I will save time.

This is primarily due to the fact that the presence of a set of unit tests allows you to quickly test and debug the system. For example. when the function does not work properly, it’s much faster to attach the debugger to the NUnit process than to start the web server in debug mode, navigate to the correct page (first by skipping the login screen), etc. Therefore, without unit tests, I would spend much more time testing and debugging.

And unit tests also help me create a well-designed system, as it forces me to create a more loosely coupled design.

0
source share

I would say that the number of people working on a project is not the only factor to consider. I think the reason you find the full Agile (documentation, refactoring, unit tests .......... they are probably not very flexible, although they have existed for a long time) to waste time because solo projects are usually small projects.

For larger projects that span more than six months, I would really expect the right process to really help you. You can visit the code you write 5 months ago. Without documentation, this is the same as other people. Without tests, you are as scared to change it as changing other people's code.

0
source share

All Articles