Building Your Company with Agile Methods and Atlas

Agile practices grew out of challenges in software development and have been extended to many related activities such as database design, modeling and product management. Many budding startup companies embraced agile practices. The nimble and feedback-based approach works superbly for a couple of guys burning the midnight oil in a

The Most Often Ignored Agile Practice

Agile practices help you develop software that meets the user needs faster and safer???and that responds quickly to changes in the requirements, environment or technological advances. But, there is one “secret” practice that is not often mentioned in the context of Agile development. This is really an “un-practice”. The idea

Agile Build Environments Require Testing

Building software used to be simple. You worked on one system with one executable. You compiled the executable and if the compilation passed, you could run your executable and play with it. Not anymore–and trying to follow Agile?principles can make it even more complex. Today systems are made of many

Maintaining Productivity with Growth

The traditional view of productivity and how to improve it is completely backwards. Most people think of productivity as a personal attribute of themselves (or their subordinates). X does twice as much as Y, or yesterday I had a really good day and accomplished much more than usual. This is

Building Agility into Your Stack

In Rational Tech Adoption, I discussed how to decide about whether or not to adopt new technologies. But that decision is not context-free. There is always a switching cost. If the switching cost is too high, you might forgo potentially beneficial upgrades whose benefits are less than the switching cost.

Have Courage in Extreme Programming

My favorite Agile methodology, Extreme Programming, has five main values: Simplicity, Communication, Feedback, Respect and Courage. The first four are relatively uncontested???everybody agrees on these four. Courage is different. Courage ostensibly flies in the face of safety, security, stability and risk mitigation. But, this is not what courage is about.

Benefits of Pair Debugging

“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”  — Brian Kernighan (co-inventor of the C programming language). You shouldn’t take it literally of course, but there

Agile Hiring Methods

The ability to hire excellent software developers is a limiting factor. There is a real shortage, and as a result there is serious competition for every qualified candidate. As a manager on the lookout for talented developer I experience it personally. There are two very clear trends here. Candidates who

Exploring Extreme Programming

Before the Agile Manifesto?there was Extreme Programming. I discovered it through the wiki???the first wiki and was instantly impressed. Extreme programming is indeed the extreme. There are values such as communication, simplicity, feedback and courage. Later respect was added. But, courage is what caught my attention. Too often, I