Language Type Systems

All programming languages have a type system. Typically, we classify these type systems as either static or dynamic. A shift that’s taking place is to include type inference engines within a programming language that allows the developer to realize the safety benefits of static typing and the flexibility and expressiveness benefits of dynamic typing. I […]

The Project Date – Kill It!

Tom DeMarco recently published an article in IEEE Software suggesting he may have been wrong in stating that metrics are a requirement for successful software development. He questions his timeless statement, “You can’t control what you can’t measure”, realizing that control is not the most important aspect of a software project. But there was a […]

When Bad is Good

A thought on a dreary Friday. There are two types of software projects – those that go well and those that do not. Typically, we think of those projects that go well as successful, and those that go poorly as failed. But it’s not quite that simple. What matters most is the point at which […]

Agile Transitions – BANG!

A while back, I posted a blog summary of David Anderson’s thoughts on enterprise Agile transition initiatives. In general, big process improvement efforts really don’t work all that well. I’ve experienced this in many cases, as well. I touched on it briefly in a blog post where I stated that Large process improvement efforts typically […]