The introduction of catalogs of patterns has been a great advancement to software engineering. These collections of common solutions to common design problems are an excellent way to pass knowledge of the software engineering craft from one practitioner to another. I am happy to have several great texts from this category taking up valuable shelf [...]
Since 2009 is almost officially over here is a list of my favorite software engineering related tools I’ve been using this year. Most of these tools have been around for a while, and I didn’t necessarily just start using them this year. These are all things I just found to be very useful throughout the [...]
I’ve been thinking a lot lately about the process of learning to program. I’m currently teaching an introductory level programming course using C# at ASU. In order to prepare for this course I’ve read quite a few introductory texts using C#, not for myself but in order to find the perfect text for [...]
Test-driven development (TDD) has been seen as an aspect of the Extreme Programming (XP) methodology since the rapid growth of XP mind-share in the early 2000s. This view has begun to change as more developers are trying TDD even without a commitment to XP. Here I’ll talk about just a few of the important things [...]
Much has been written about process improvement in the software industry. The SEI has developed the CMM (now known as CMMI) for about twenty years, yet according to a survey of 2000 government and commercial organizations about 50% are still CMM Level 2 or lower [1]. This is not surprising considering estimates of project failures [...]
I was thinking about my claim that all development will move to the Mac when I realized that there is an obvious exception. The Artful Dodger. Why? In order to avoid responsibility, and reduce efficiency.