Mar 29

Optimizing Software Development

by Peter Jones / March 29, 2009

I've been a software developer for a long time and have been hacking computers even longer. So far in my career I've had the opportunity to work with a number of technologies and run the gamut of job titles from developer to CTO. Somewhere in the process I started to see software development as an entire system instead of just something that programmers do.

This thing we call software development is really a delicate ecosystem, a group of interdependent professionals, sometimes with competing goals. Despite the occasional success, it's been my experience that this ecosystem is unbalanced and rarely works as it should. I've set out to change that.

Focusing on the Software Development Process

After years of tinkering I've decided to refocus my business solely on optimizing the software development process. I'm currently working with software development managers and chief technology officers, coaching them on how to balance their ecosystems.

There's so much that can be improved, from removing roadblocks and red tape to implementing processes that actually help people get their work done and enjoy their jobs. Of course there's no silver bullet and context is supreme.

Despite that I see some common themes, things we all do to sabotage the process, executives, managers, and developers alike. I plan on using this blog to highlight my findings, and hopefully learn from you, the reader.

Developers Welcome

While undoubtedly a lot of my research and writing for this blog will be focused on what I consider to be the middle ground—management— input from developers will still be crucial. The current majority of my readership is made up of developers, and I encourage you, the developer, to stick around.

I want to hear your stories, whether they are tragedies, comedies, or stories of triumph. I want to write articles that blend your stories and my experiences, so that developers will print them out and sneak them onto their manager's desk.

Measure, Predict, Experiment, Repeat

In a future article I'll be writing about measuring the software development system. I'm in the process of creating a set of metrics that can be used to measure the health of the system, and to help make predictions about how to improve it.

If you have any metrics that you've been using to measure the performance of your software development process, I'd love to hear them. If you have any management or process stories that you want to share, I'd love to hear those as well. Post a comment to this article or send me an email.


4 Comments:


Hoornet

Nice!
Can I make one suggestion for a special article? I (and probably many other developers) work as a self employed programmer. And I rarely see an article for organizing and Optimizing Software Development for solopreneurs. Could you maybe write one or sent us on the way of some other web site? I did search quite a bit but nothing really good comes out of my Google :)


Jure Srsen

Great I’ll wait for it!


Peter Jones

Sounds like a great idea. I’ll add it to my to-do list.


Faisal Mehmood

I’ve noticed that the biggest hurdle is inconsistent requirements and too many processes.

The design, and requirements need to be well thought out – not documented in a 500 page RS document that no one will read. Once you remove this and move towards a better approach for this you have fixed quite a lot of problems found in many traditional models.


Post a comment.