Working on a small project

Working on a small project means that I wear multiple hats, and that’s helping me grow so much as a developer. Yesterday, I planned some changes to our build process and developed tools to make deployment painless. In a large project, all of this would have been decided already, and all I would need to do would be just to fit into the scheme. Here, I get to weigh the pros and cons, then make things better.

What’s the next step?

If I integrate regression testing into the production deployment script, then we will be one step closer to development nirvana. Another step would be to do daily regression testing, per-checkin tests, or even pre-checkin tests. Wouldn’t that be awesome?

I’m definitely working above my pay grade. ;) That’s because I don’t have to make all the mistakes myself. Working on and watching open source development means that I can see what problems other developers run into and how they’ve solved them, and that’s taught me ways to keep my development environment sane. I’m still going to make mistakes, but at least I can avoid some of them. Kaizen–relentless improvement–means that I’m not only solving problems right now, I’m also working on making things better. As a blogger (and somewhat of a teacher), I not only grow as a developer, but I’m helping other people grow too.

  • joonhwan

    What would make you not do such kaizen in a large project exactly? I though if many things already decided and those things are already nice to have, could we learn seomthing? If not, we still have a chance to kaizen it?

  • http://sachachua.com Sacha Chua

    I’d still do kaizen in large projects (I can’t help it!), but I probably wouldn’t be asked to make decisions like this, and I would need to work with what more people are accustomed to and what integrates well with what’s already there. =)

  • http://alecthgeek.wordpress.com Alec The Geek

    It’s often hard to include regression tests in a production deployment because the testing and production configurations are different. I prefer to have a distinct testing phase (two actually — unit and acceptance/regression) and a clear audit of the build to show that I am building/deploying production from previously tested code.

    On smaller projects it may be overdone, but on larger projects it’s worth it (especially if you are going to be audited)