Skip to main content

Be Kind

· 4 min read

This is a technical blog, right? Why would I mention this virtue? In Management 3.0, Jurgen Appelo suggests in "Do-It-Yourself Team Values" that the various Agile, Lean, XP, etc. principles are, quite simply, virtues. Teams should pick a small number and focus on them. "Kindness" is not among the 50 virtues he suggests thinking about, but it should not come as a surprise that that my rationale for "kindness" will overlap that of many other virtues, such as "helpfulness," "mindfulness," "tactfulness," and "service." Each of these single words offers a slightly different window into an ineffable world of human goodness, and I choose "kindness" for this theory. First, a minor digression.

Urban Gardening and Agriculture - What Is It?

· 3 min read

Urban gardening and agriculture in public spaces are becoming accepted as potent means for personal transformation, small-scale economic activity, and for larger-scale climate mitigation and adaptation. This week, Dallas Interfaith Power & Light will be touring the East Dallas Promise of Peace community garden at White Rock United Methodist Church — built, of all places, on top of an unused parking lot! Based on the early feedback, we expect this will be the first of many opportunities to tour community gardens in the ambit of sacred spaces. Likewise, this will be the first of several blog posts on the subject.

Hastening the Collapse

· 4 min read

pushing a bicyclist over a cliff

At a Bahá'í retreat on Conversations on the Way: Kindling Hope in a Time of Despair, the conversation following a presentation on the environmental crisis turned to the notion of hastening the collapse of the old world order. There is a thesis out there, amongst some Bahá'ís and in parts of the Christian community, that environmental destruction is a signpost on the way to a better world; it is seen as a crucial element of the retributive calamity that ushers in the promised day of God.

Then it follow, so some say, that we should not try to stem the tide of climate change, of ecosystem degradation, of the loss of biodiversity. Moreover, why should we not actively work to bring about that collapse by purposefully over consuming — so that the day of reckoning, when we must transcend our baser natures in order to survive (or achieve the rapture, in another theology), will arrive that much sooner?

Be Coherent

· 4 min read

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.

Be Agile

· 3 min read
info

Edited June 24, 2024: dead link removed; SF 2025s, light re-editing, new closing paragraph.

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. Since it came up in the context of a very large client asking us about our methodology ("what's a software development methodology?" I asked myself), 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.

Be Test-Driven

· 4 min read

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?

Active Directory and WCF Configuration Woes Resolved

· 6 min read

Configuring a WCF service across security boundaries can be a tricky business, or so I learned recently. Testing went well, but the move to production failed for a WCF client/server scenario, with the client application encountering an error: SOAP security negotiation with '<myEndpointAddress>' for target '<myEndpointAddress>' failed. See inner exception for more details. Inner exception: The Security Support Provider Interface (SSPI) negotiation failed.

From Ruby to Gherkin: Building Automated System Tests, pt 2

· 4 min read

image depicting a ruby and gherkin

Follow-up to Building a Test Script Environment with C# and IronRuby, pt 1, wherein we change emphasis from coding tests in Ruby to writing them in English (Gherkin) with the help of SpecFlow.

After that October post, I managed to construct a full system/regression test suite for a key data-management application, using the combination of Ruby and C# as described. My team has been able to go through several cycles of…

Agile Introverts

· 3 min read

A co-worker overheard the comment that "agile [software development] is not always a good fit for introverts," or something along those lines, while listening to a webinar on agile testing. On the surface, it is hard to deny that claim. Right there in the Agile Manifesto we have two obvious yellow or even red flags:

  • Individuals and interactions, and
  • Customer collaboration

Now jumping over to the Principles, we find two more orange flags:

  • Business people and developers must work together daily throughout the project.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
safnet logo