Selected Publications

XP Expanded: Distributed Extreme Programming

18 May 2005

Colocation has come to be seen as a necessary precondition for obtaining the majority of the benefits of XP. Without colocation teams expect to struggle, to compromise and to trade off the benefits of XP vs the benefits of distributed development. We have found that you can stay true to the principles and not compromise the practices of XP in a distributed environment. Thus, business can realize both the benefits of distributed and of truly agile development.

IEEE Explore Viewpoint: Fear of Feedback?

30 June 2009

Why are suppliers of software development usually so reluctant to bring in others to provide a second opinion?

97 Things Every Programmer Should Know — two chapters


Read the Humanities

In all but the smallest development project, people work with people. In all but the most abstracted field of research, people write software for people to support them in some goal of theirs. People write software with people for people. It’s a people business. Unfortunately, what is taught to programmers too often equips them very poorly to deal with people they work for and with. Luckily, there is an entire field of study that can help. p142

Write Small Functions Using Examples

We would like to write code that is correct , and have evidence on hand that it is correct. It can help with both issues to think about the “size” of a function. Not in the sense of the amount of code that implements a function— although that is interesting—but rather the size of the mathematical function that our code manifests. p 188

Call, email, or message me today to discuss how I can help you.