July 2013 Archives

TACKLE: Be Coherent

July 26, 2013


Expanding on the TACKLE model presented in Unified Theory of Software Development.

Hypothesis: at the beginning of their careers (and perhaps well into them), most software developers think written/verbal language skills are of little importance to their field. To the contrary: as with most science and engineering fields, where language arts and communications classes are seen as secondary at best, the truth is that communication skills are critical to success. Being "coherent" means that one is able to express himself in clear terms, logically and consistently. This ability is essential in both code and "regular" language.

TACKLE: Be Agile

July 13, 2013


Expanding on the TACKLE model presented in Unified Theory of Software Development.

Like many, when I first encountered the term "agile software development," I thought it was an excuse for a cowboy culture: low planning, low documentation, run as fast as you can and assume that each person's brilliance will take care of everything. As it came up in the context of a very large client asking us about our methodology, I thought I should dig into a little more. Integrating Agile Development in the Real World, by Peter Schuh, quickly showed me it is not that simple. Agile development is, in fact, all about fostering a systematic, right-sized, just-in-time development process. For me, being "agile" means embracing change instead of being locked into preconceived notions (requirements). But don't throw everything out the window either.

TACKLE: Be Test-Driven

July 8, 2013


Expanding on the TACKLE model presented in Unified Theory of Software Development.

Executable tests are the best form of requirements documentation. They improve quality through early discovery of bugs and by fostering a more detailed "what-if" analysis: what if we have this input X? What if the user does Y?

Unified Theory of Software Development

July 7, 2013

At long last, we have a Grand Unified Theory demonstrating the essentially quantum nature of general relativity, which … well, strike that. Instead of bosons, fields, and Lie groups, let us discuss software. And let us remove the word "grand" and speak just of "unifying": presenting: a simple theory of programming, unifying behaviors, practices, and tools into a model that is more likely than not to result in successful delivery of desirable software products. This model owes much to many authors, and in all likelihood is in no way unique. Yet its elucidation is worthwhile, insofar as it attempts to pull several important strands into a (semi-) coherent whole, meaningful to the author if no one else.

About this Archive

This page is an archive of entries from July 2013 listed from newest to oldest.

June 2013 is the previous archive.

August 2013 is the next archive.

Find recent content on the main index or look in the archives to find all content.



OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.12