The Art of Software Development

Jim Boone’s thoughts on software development and other important matters

Foray into Agile Development

I’ve been doing a lot of thinking lately and have come to the conclusion that technical blogging is difficult. If you want to provide useful information for people, you need to do a lot of leg work, a lot of testing, and then take the results of your work and distill it into something that you think might be interesting for folks. Then package it so that people can download it and use it on their own. In contrast, a posting that consists mainly of opinions and thoughts is easy (like this one). My mind is full of thoughts every waking hour of every day. The problem is, or least how I see it, is who really cares what I think about?

I could blog about the three days it took me to replace my hot water heater and everything I learned about sweating copper joints together, but does anyone really care? I could talk about my challenges in managing a family with college-bound teenagers but does than anyone really care about that either? The reality is I choose not to work my whole life away. I think life is more than work. I believe it is everyone’s duty to find their purpose in life and pursue it. Through years of trial and error, I now know that I was meant to be a creator and developer of software. The primary reason I know is I am passionate about it. I love it! So let me tell you about what’s going on in this area of life.

I’ve started a new project at work were I in the technical lead. I really enjoy this role because I love to solve problems and I enjoy applying the latest technology to those solutions. Since I am in charge of this project, and since my employer is allowing me to pursue an agile development methodology, I have delved into the world of agile development headfirst! What I have discovered is there is a lot to unlearn.

When I studied computer science in graduate school the waterfall method was the only way to go. Fifteen years later it is quite obvious to me that that is not the best way to go. I really like the concept of agile development. I especially like the concept of minimal documentation. What surprised me though is that I didn’t know how to act without a requirements document or use cases. How can you design a system without these? How can you architect a solution if you don’t have a vision of the final deliverable? Where did the documentation crutches go?

I like to think that I’m adaptable. What I found is the beauty of agile is you can redefine your process to fit your circumstances. You don’t have to abandon every technique or tool you know. In my small team of four developers and the manager I can basically run the show the way I see fit (even though I’m not the official manager). Therein lies the beauty of agile. I know my team, I know the problem domain, I know our skill sets, I know the environment we all work in, and I know the toolset so I get to use my brain and create a unique approach at developing this application. I am having a good time! I like showing up at work lately and I’m not even coding. Of course I will be coding since there are only four of us but there is more to life. Trust me on this one. Long live agile techniques will and long live human creativity! They are a perfect match.

No comments yet. Be the first.

Leave a reply