Rants

Creativity

In an industrial society workers perform rote tasks that are interchangeable with others so the faster a worker accomplishes his task the better a worker he is. That being the case, it’s not difficult to understand why so many industrial workers have been replaced by robots. But information workers are different. What we do requires, …

Read More
Bits and Pieces

Turn Pain into Gain

Integration is one of the most painful parts of a traditional software development process. After the system is designed and coded it gets integrated together in a Waterfall process, and this is when the nastiest bugs show their faces. It’s also when we really can’t afford to address fundamental issues. When I was doing Waterfall …

Read More
Bits and Pieces

Time Box to Scope Box

One key characteristic to Agile software development is time boxing. We build software in fixed intervals called time boxes. Time boxes for iterations are usually one to four weeks, with most teams opting for a two-week iteration length. Any fixed time iteration is going to be somewhat artificial. Software development tasks don’t all lend themselves …

Read More
Bits and Pieces

Test Driven Damage?

Understanding the technical practices of software development is not easy for everyone and a lot of otherwise smart people are failing when they try to apply them. Some people even claim that the practices I cover in my book, Beyond Legacy Code: Nine Practices to Extend the Life and Value of Your Software, don’t work. For …

Read More
Rants

People are not Resources

Whenever I hear a recruiter or a manager refer to a software developer as a “resource,” I cringe. People are not resources. Unlike assembly line workers, software developers don’t perform wrote tasks and so therefore they are not interchangeable nor are they scalable. In his book The Mythical Man Month, Frederick P. Brooks, Jr. writes …

Read More