Agile

DevX

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

DevX

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

DevX

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

DevX

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

DevX

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

DevX

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

DevX

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

DevX

Exploring Extreme Programming

Before the Agile Manifesto?there was Extreme Programming. I discovered it through the http://c2.com wiki???the first wiki and was instantly impressed. Extreme programming is indeed the extreme. There are values such

DevX

Agile Database Schema Management

Agile methods can accelerate development significantly compared with traditional methods. This is true in particular for programming where fast edit-test-deploy cycles are possible even on a massive scale (look at