Software Quality

August 13, 2011

Agile software processes require agile business processes

Filed under: Practices — David Allen @ 10:41 am
“Agile” is the latest buzzword in business and technology.  Lots of people are talking about how they want to deliver value sooner and adapt to changing conditions. But it is not as easy as it sounds. How do we actually do this?   Software development is a complex activity, and it is constantly changing. And what role does the organizational environment play in the success or failure of agile software delivery?

August 9, 2011

Bring parallel programming to your daily work

Filed under: Parallel Programming — David Allen @ 5:26 am

The latest newsletter from IEEE Computer Society encourages us to bring multi-core programming into the mainstream.

As I pointed out in a recent post, with Microsoft’s Task Parallel Library, this is much easier. Though you still need to learn to think in terms of concurrency and the issues that arise from multiple threads accessing the same state.

If you have not played with these types of tools on your platform of choice, I encourage you to look for opportunities where performance gains are needed and give it a try.

August 6, 2011

Causes of failure in software deployments and solutions

Filed under: Practices — David Allen @ 1:46 pm


Our goal is to deliver useful, high quality software to our customers. Software is not “done” until it is deployed and tested by our customers.  But we encounter many problems during deployment. This post outlines common problems that lead to failure during deployment, along with common solutions.


Our work is not done until the product passes acceptance tests in the production environment or passes those tests in a target environment that is suitably like production so that we can have confidence in both the product and the process used to deploy it.

I have seen MANY projects struggle to deploy software that everyone thought was “done.” It passed tests in the development environment. But all of a sudden, it seems to be a struggle to get it to work in another environment. Here are the reasons I see and their well-known solutions. If you can offer additional advice, please post it for my benefit and the benefit of others. (more…)

Blog at