Why was I afraid of “agile”?

Believe it or not, my current job (where I’ve been since fall 2011) is my first where being a developer is my primary responsibility. My previous titles have been things like “support technician”, “data analyst”, and “IT manager”. Being able to code was just a bit of added value I could bring to the table (if it was acknowledged at all).

I’ve never been a fantastic coder– but I’m pretty good at taking an idea and turning it into something that works. That’s often been good enough, for the kind of projects I get involved with. I’ve long understood that there is a class of programmers who are better than me. They did things like Test Driven Development, or simply wrote better code, or used better tools. They were agile. I didn’t understand what agile development was all about, so it just became a code word for everything I wasn’t.

That all changed after I went to Scrum training a few months ago. Scrum is a particular way of implementing agile development. It turns out, “agile” (and Scrum) are exceedingly humane. Now, I understand that the defining feature of agile development is humility.

Here is why I say that:

  • There is no presumption of mastery. Instead, you are simply asked to keep learning and improving.
  • Likewise, the entire team is asked to periodically reflect on how they are working, and adjust as necessary.
  • Agile recognizes that nobody on earth (and certainly no committee or working group) is any good at deciding what the requirements really are for a software project. By getting the work-in-progress in front of customers quickly and often, you can react to their feedback, and be more confident that you are in fact building the right thing.

To me, that seems like a really civilized way to work, and erases a decade of agile anxiety.

Every book has a MOOC inside

By MOOC, I mean a Massively Open Online Course, the sort of class offered by organizations like Coursera and edx.

how does a book become a MOOC?

To start, you’ll need the metadata: the name of the book, the author, edition, and year, and (important for what follows), the chapter outline. Since we’re talking about a single book, you could enter this by hand if necessary.

For each chapter, allow students to do four things:

  • Participate in a discussion forum.
  • Submit quiz questions and assignments.
  • Answer quiz questions and do assignments(while also evaluating the relevance and effectiveness of those questions/assignments)
  • Evaluate assignments

Mastery of a chapter is determined by those last two things: Answering some questions, and having your own questions rated as relevant and effective. The course provider could use a system like OpenBadges to certify student achievement.

so, what’s the point?

  • For someone trying to learn the material in a book, being able to discuss it with other readers will aid in understanding, and being able to certify that you’ve mastered a book should make the whole experience more satisfying.
  • For authors and publishers, this is an easy way to make your product more valuable.
  • For course providers (who may work for the publishers), you have an online product that gets better as more people use it.

what might suck?

The first batch of students may have to wait around while a library of questions and assignments is developed, which could lead to abandonment. The way to deal with this is to pre-seed the system with enough questions to allow students to proceed through the course.

Tim Cook and capturing soot

Two things that struck me as related:

How are they connected?

The second item points the way to a future where the waste product of one factory could be the raw material of another. The factory that spews soot and noxious gasses into the air, or dumps chemicals in the water (or holds them indefinitely in barrels and open-air pools), isn’t just “polluting” then– it’s being inefficient. Pouring money down the drain.

In other words, maybe there’s a day coming when environmental stewardship and “maximizing shareholder value” aren’t in conflict.

From blur to blog with ifttt

I understood RSS before I understood blogging. In fact, I think it’s fair to say that my initial understanding of a “weblog” was a place to share the stuff I found in my RSS reader. This was encouraged by the feed reading software I was using at the time: stuff like NetNewsWire and Radio Userland— they both integrated tools for reading feeds and writing blog posts, and made it easy to pick a news item, and use it to start a blog post (The blogging tool in NetNewsWire was eventually spun out into its own product, Marsedit). This was the primordial “retweet”.

These days, I do my feed-reading with Newsblur. Newsblur provides it’s own internal blogging system (“blurblogs”; here’s mine) which is kind of nice– but what I really want is to be able to post to this blog from Newsblur.

Thanks to Newsblur’s newly-minted integration with ifttt (If This, Then That– think of it like email rules for the web), I can!

Screen Shot 2014-03-18 at 7.47.28 AM

The way this works, is that every time I click the “Share” button in Newsblur, a new blog post is created, with the link and my comments. I’m sure I’ll tweak this as I go, but for the moment I’m pretty satisfied.