An Agile Dependencies Chart

I’m offering up this diagram as “the world of Agile Software Development according to Craig.” Let me know what you think.

One of the principles of Agile development is known as “Simple, Emergent Design.” And one of the ways to know if you have achieved a simple design is if the entire system can be diagrammed on a single sheet of paper — no matter how involved and feature-filled the system becomes — by applying the proper level of abstraction. (Note: It’s not unreasonable for parts of the diagram to be black boxes representing sub-systems, each of which have their own single-sheet diagram.)

A while ago, I took it as a challenge to try to describe the world of Agile development, itself, using such a single-sheet diagram. Continue reading An Agile Dependencies Chart

Now Reading: “Personal Kanban” by Benson and Barry

Last night, I obtained an autographed copy of Personal Kanban: Mapping Work | Navigating Life by Jim Benson and Tonianne DeMaria Barry. Jim gave an engaging speech in which he described some awesome success stories. The speech was about Kanban, in general, as applied in business settings.  So, now, I’m anxious to read the book to get Jim and Tonianne’s take on how to apply it individually.

When I spoke to Tonianne privately after the event, I told her that I’m a fan of David Allen’s Getting Things Done: The Art of Stress-Free Productivity (“GTD”), and I asked her how their Personal Kanban compares to GTD. She said that PK actually plays nice with, and builds upon, GTD and that GTD is mentioned prominently in the book.  Now, I just need to see if I can remember how to read a book that’s printed on physical paper.

Now Reading: “Continuous Delivery” by Humble and Farley

My local study group has selected our next book: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble and David Farley. This one picks up where a previous book in the series, Continuous Integration: Improving Software Quality and Reducing Risk, leaves off by venturing outside the developer’s realm and tying together other parts of the organization.

I’m expecting this book to become a well-worn, dog-eared resident of my “Software Bibles” bookshelf. (Can you still say “well-worn” and “dog-eared” in the Kindle age?)

Simplifying User Requirements

It’s often said that one of the virtues (and challenges) of an organization adopting an agile methodology is that it will highlight existing dysfunctions. (The challenge being not to shoot the messenger.) One of the dysfunctions that typically, quickly surfaces is how user requirements can get overly complicated. In an environment that relies on written specifications that are “thrown over the wall” it’s the natural tendency of everyone involved to be as thorough as they can be. And who can blame them? In one respect, it’s their job to think of every contingency and bring all of their experience to bear. Working in a vacuum, it’s only natural to want to err on the side of caution.

Unfortunately, this all too often means that a requirement statement will take on a life of its own. As it evolves and gets fleshed out, the original reason or impetus for the requirement becomes clouded. It is barely retained through implication, if at all.

Allow me to illustrate… Continue reading Simplifying User Requirements

Delegation Tip: To Each His Own Aha!

“Change favors the prepared mind – but it can capsize the inept.” – Ronald Gross

Classic management texts say that people confronted with change go through a natural progression: Denial, Resistance, Exploration, and Commitment. Supposedly, employees must pass through all four phases to cope with change.  An oft-quoted statistic says only 12-15% of employees respond positively and constructively to change, so management needs to conduct special seminars to help others get through it.  All of that always seemed a bit too touchy-feely to me.

I prefer to consider this change curve, first introduced to me by Jeff McKenna.  I find that it gives me a much more useful understanding of the mechanics of change.
Change curve illustration

Any change involves a transition period of loss and chaos before the benefits of the new way begin to take hold.  Eventually, though, Continue reading Delegation Tip: To Each His Own Aha!

Booming While-You-Wait Service

Original Hems StudioHere in Orange County, CA we’ve finally begun to buck urban sprawl with “urban living” apartments —
buildings with rows of shops on the ground floor beneath loft apartments.  I want to tell you about the tailor I found who has set up shop in one of those buildings.  It’s the Original Hems Studio across from the Main Place Mall, and they are remarkable for two things: while-you-wait service and convenient hours — two aspects of business that support each other.

As a customer, I find that these are drastic simplifications over the tailor shop I was using before.  Continue reading Booming While-You-Wait Service

Fullerton Code Camp Next Weekend (1/29 & 1/30)

The schedule for the SoCal Code Camp next weekend (1/29 & 1/30) has been posted: http://www.socalcodecamp.com/schedule.aspx. My talk, Simplicity Appreciation 101, is during the first session on Saturday, so be sure to get there early. It starts at 8:45 in room H 123, which appears to be the designated room for the, “agile & project management track” (quotes are mine).  Building H is the Humanities/Social Sciences Hall, which is to the right as you walk in from the parking lot (lot F).

After me, Llewellyn and Woody give their Agile Introduction talk. Then, Woody keeps going with “10.5 Easy Code Excellence Techniques”, and that’s followed by various talks about project management survival. Note: the schedule is subject to changes up until Thursday (1/27).

This promises to be the best Code Camp yet. I’m looking forward to the fact that I get to give my speech early, so I can then kick back and enjoy the rest of the conference.

a blog by Craig L. Jones, Software Agilist