Who am I?

I’m an Agilist, a former software engineer, a gamer, an improviser, a podcaster emeritus, and a wine lover. Learn more.

Currently Consuming
  • The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
    The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
    by Eric Ries
  • The Talent Code: Greatness Isn't Born. It's Grown. Here's How.
    The Talent Code: Greatness Isn't Born. It's Grown. Here's How.
    by Daniel Coyle
  • Alexander Hamilton
    Alexander Hamilton
    by Ron Chernow

Paul Tevis

Entries in things i've read (31)

Monday
Mar282011

Wolf Hall

Villains make the best protagonists.

In college, I played Sir Thomas More in a production of Robert Bolt’s A Man for All Seasons. So when my friend Josh recommended Wolf Hall, Hillary Mantel’s Booker Prize-winning novel about Thomas Cromwell — the ostensible villain of Bolt’s play — I was intrigued. Then my highly literate friend Karin said on Twitter:

On a whim, have started reading Hilary Mantel’s “Wolf Hall”. Oh my god, guys. It’s BREATHTAKINGLY good.

followed by:

The prose is so delicious I want to eat it. Ravishing.

That sealed the deal for me.

Reviews of the book are easy to find. One or two quality ones will give you an idea of what the book is about. What they don’t give you, however, is a sense of what the book is like. Here’s what stuck out at me. My apologies for the lengthy quotes; my prose alone can not do the book justice.

The narrative voice is distinctive, unusual, and at the same time easy to follow. The book is narrated in the third-person, present tense, as the opening passage demonstrates: [1]

“So now get up.”

Felled, dazed, silent, he has fallen; knocked full length on the cobbles of the yard. His head turns sideways; his eyes are turned toward the gate, as if someone might arrive to help him out. One blow, properly placed, could kill him now.

Blood from the gash on his head — which was his father’s first effort — is trickling across his face. Add to this, his left eye is blinded; but if he squints sideways, with his right eye he can see his father’s boot is unraveling. The twine has sprung clear of the leather, and a hard not of it has caught his eyebrow and opened another cut.

It wouldn’t surprise me if this a modern style, but I haven’t read much modern literature, so it was new to me. What was even more striking, though, is that while Cromwell is the putative viewpoint character, the narrator certainly has a perspective of its own. Consider the following scene between Cromwell and Cardinal Wolsey.

“They couldn’t agree over the dowry you know. The old fox, Ferdinand, her father. He would fox you out of any payment due. But our present Majesty was a boy of ten when he danced at his brother’s wedding, and, in my belief, it was there and then that he set his heart on the bride.”

They sit and think for a bit. It’s sad, they both know it’s sad. The old king freezing her out, keeping in the kingdom and keeping her poor, unwilling to miss the part of the dowry he said was still owing, and equally unable to pay her widow’s portion and let her go. But then it’s interesting too, the extensive diplomatic contacts the little girl picked up during those years, the expertise in playing off one interest against another. When Henry married he was eighteen, guileless. His father was no sooner dead than he claimed Katherine for his own. She was older than he was, and years of anxiety had sobered her and taken something from her looks. But the real woman was less vivid than the vision in his mind; he was greedy for what his older brother had owned. He felt again the little tremor of her hand, and she had rested it on his arm when he was a boy of ten. It was as if she had trusted him, as if — he told his intimates — she had recognized that shee was never meant to be Arthur’s wife, except in name; he body was reserved for him, the second son, upon whom she turned her beautiful blue-gray hers, he compliant smile. She always loved me, the king would say. Seven years or so of diplomacy, if you can call it that, kept me from her side. But now I need fear no one. Rome has dispensed. The papers are in order. The alliances are set in place. I have married a virgin, since my poor brother did not touch her; I have married an alliance, her Spanish relatives; but above all, I have married for love.

And now? Gone. Or as good as gone: half a lifetime waiting to be expunged, erased from the record.

“As, well,” the cardinal says. “What will be the outcome? The king expects his own way, but she, she will be hard to move.”

Not exactly limited viewpoint or unbiased, I’d say.

Beyond the prose style, my enjoyment of the novel was enhanced by my familiarity with the historical events in question. A scene between Dr. Cranmer (future Archbishop of Canterbury) and Princess Mary (future Queen Mary I) has more weight knowing that at some point after the book is over, the latter will condemn the former to burn at the stake. It will admit that some of the details had slipped past me before, like the fact that the Duke of Norfolk, Thomas Howard, was uncle to two of Henry VIII’s wives.2 On the whole, however, the pleasure I took from the book was enhanced by the knowledge I brought.

Most critically, however, Mantel’s portrait of Cromwell is utterly compelling. She makes him real and understandable, much more so than Thomas More. He is presented as the ultimate Renaissance Man, who speaks half a dozen languages, knows the value of nearly any good, and understands that the medieval world of kings and knights is already outmoded — replaced by the merchants of Antwerp and Florence — even if they don’t know it yet.

On Cromwell himself:

It is said he knows by heart the entire New Testament in Latin, and so as a servant of the cardinal is apt — ready with a text if the abbots flounder. His speech is low and rapid, his manner assured; he is at home in courtroom or waterfront, bishop’s palace or inn yard. He can draft a contract, train a falcon, draw a map, stop a street fight, furnish a house and fix a jury. He will quote you a nice point in the old authors, from Plato to Plautus and back again. He knows new poetry, can say it in Italian. He works all hours, first up and last to bed. He makes money and he spends it. He will take a bet on anything.

And on the birth of the modern world, as Cromwell speaks to the Imperial Ambassador, Eustace Chapuys:

The fate of peoples is made like this, two men in small rooms. Forget the coronations, the conclaves of cardinals, the pomp and processions. This is how the world changes: a counter pushed across a table, a pen stroke that alters the force of a phrase, a woman’s sigh as she passes and leaves on the air a trail of orange flower or rose water; her hand pulling close the bed curtain, the discreet sigh of flesh against flesh. The king — lord of generalities — must not learn to labor over detail, led on by his intelligent greed. As his prudent father’s son, he knows all the families of England and what they have. He has registered their holdings in his head, down to the last watercourse and copse. Now the church’s assets are to come under his control, he needs to know their worth. The law of who owns what — the law generally — has accreted a parasitic complexity: it is like a barnacled hull, a roof slimy with moss. But there are lawyers enough, and how much ability does it require, to scrap away as you are directed? Englishmen may be supersitious, they may be afraid of the future, they may not know what England is; but the skills of adding and subtraction are not scarce. Westminster has a thousand scratching pens, bu Henry will need, he thinks, new men, new structures, new thinking. Meanwhile he, Cromwell, puts his comissioners on the road. Valor ecclesiasticus. I will do it in six months, he says. Such an exercise has never been attempted before, it is true, but has already done much that no one else has even dreamed of.

There is more, of course. There is Cromwell as crypto-Protestant, struggling to keep his fellow believers from Thomas More’s rack. There is Cromwell as royal confidante, landing unharmed from Wolsey’s fall, becoming an intimate of Anne Boleyn and eventually of Henry himself. And there is Cromwell the husband and father, grief-stricken at the abrupt deaths of his wife and daughters from the plague. Wolf Hall paints Cromwell even more than More as a man for all seasons.




1 Technically, it’s third-person focused omniscience as the Elements of Fiction Writing: Description reminds me.

2 Anne Boleyn and Catherine Howard.

Monday
Jan242011

Here, Now

At Agile 2010, one of the sessions that spoke most to me was Gil Broza and David Spann’s “The Curious, Present, and Empathetic Coach.” In particular, the notion of being present and being “in” was something that I realized I needed to work on.

Around New Year’s, I read Susan Scott’s Fierce Conversations and I was struck by one of her rules for getting real: Be here, prepared to be nowhere else. A conversation with Gwen revealed that this is something I’m not very good at.

I just finished reading Jon Kabat-Zinn’s Wherever You Go, There You Are, and I was struck by how often I’m not where I am.

 

When you go somewhere, how often are you there? How often are you somewhere else?

Thursday
Jan132011

These Shouldn't Be Secrets

“Management exists to organize purposefully. The whole purpose is to deliver results and build capacity. It’s conceptually easy but operationally difficult.

Apply simple — but not easy — practices consistently. None of the practices described here — one-on-ones, portfolio management, feedback, delegation — is difficult to understand. But the key to successful management is to consistently and reliably perform these practices.

Managers who never apply these practices are poor managers.

Managers who apply these practices intermittently are only average managers.

Great managers consistently and reliably apply all these management practices.”

—Johanna Rothman and Esther Derby, Behind Closed Doors: Secrets of Great Management

It’s tempting to summarize this book by saying, “Every manager should read this.”1 That’s correct, but not complete.

Behind Closed Doors is structurally similar to The One-Minute Manager2 in that it presents the story of a manager and what he does in the first seven weeks in his new job. Interspersed with the narrative are summaries of the principles behind what he’s doing. One result of this organization is that we see good managerial behavior in context, then we’re presented with the ideas behind that behavior. Another is that we see themes - like giving feedback and professional development - unfold over time, because they’re not things that happen only once. While this means that some topics are spread out over the course of the book3, it’s a powerfully accessible way to present the material. The major techniques are also summarized in appendices for easy reference.

As someone who has been managed by many different people4 and who is now managing others, I found dozens of useful tools here, ranging from how to structure one-on-ones to using Gerald Weinberg’s Rule of Three5 to further discussion. The trick, as the authors point out in their epilogue, is not just to understand these techniques, but to apply them consistently and reliably. Which I’m hoping to start with my one-on-ones this afternoon.




1 Along with Managing Humans, of course.

2 And other books, I’m sure, but that’s what comes immediately to mind.

3 Which thwarted my note-taking-by-outlining scheme.

4 To varying degrees of effectiveness.

5 “One alternative is a trap. Two alternatives is a dilemma. Three alternatives provide real choice.” I used this in our backlog grooming session yesterday to great effect. It works!

Saturday
Jan012011

The Team Has The Answers

At Agile 2010, I had the good fortune to take part in several workshops with Lyssa Adkins. Her session on “Using Silent Work Techniques To Get Astonishing Results” helped me connect the improv and Agile parts of my brain. The Thirty-Five technique1 she taught us in a Open Jam paid immediate dividends when I used it in our retrospectives in Switzerland. Her insights in Gil Broza and David Spann’s workshop on “The Curious, Present, and Empathetic Agile Coach” made me aware of the kinds of skills I want to develop. So I was happy that by early December I was able to clear my decks enough to read her book.

Coaching Agile Teams: A Guide for Scrum Masters, Agile Coaches, and Project Managers in Transition has at its core a simple idea: “Take it to the team.” Like all simple and powerful ideas, it’s harder to do, especially when it requires overcoming existing habits and instincts. While I don’t have decades of experience as a command-and-control-style project manager, I still do things that get in the way of the team’s self-organization. Thankfully, the first section of the book deals with exactly this, pointing out that coaching starts with you; in order to master coaching, you first have to master yourself.

The core of the book is part two, which deals with what Lyssa has identified as the six skills sets Agile coaches need to develop in order to be successful: coaching-mentoring, facilitating, teaching, problem solving, conflict navigating, and collaboration conducting. Each of these chapters looks at the Agile coach from a different angle, examining what skills from related disciplines we can borrow to help our teams get more for themselves. Mixed in with this is a healthy dose of Scrum knowledge, ranging from observations on purposes of the Scrum meetings to advice on avoiding confusion about (and conflict between) the Product Owner, Agile Manager, and Agile Coach roles. As such, the chapters on facilitating and teaching make up one of the best resources I’ve seen for Scrum Masters, regardless of whether they consider themselves coaches. My favorite chapter focuses on the coach as “collaboration conductor.”2 The principles for fostering a collaborative environment presented here are clearly the tip of a fascinating iceberg, and the cited references are quickly climbing my “to read” list.3

The final section looks at the coaching trajectory, helping to assess where along it you are. Included are six first-person accounts of how current agile coaches got to where they are now, starting from very different places.4 The most useful chapter for me dealt with diagnosing common coaching failure modes and pointing out what success can look like. Agile coaching, like Agile itself, is a journey rather than a destination. Coaching Agile Teams is an excellent map of the terrain.




1 Which I recently discovered is a Thiagi invention.

2 Which should surprise no one who knows me.

3 Notably Artful Making, Teamwork Is An Individual Skill, Radical Collaboration, and Collaboration Explained.

4 One of them started from a place very much like my current situation, which certainly piqued my interest.

Wednesday
Oct272010

Un-Legacying Your Code, One Step At A Time

Michael Feathers' Working Effectively With Legacy Code starts out with the most useful definition of "legacy code" I've ever seen.

To me, legacy code is simply code without tests. I've gotten some grief for this definition. What do tests have to do with whether code is bad? To me, the answer is straightforward, and it is a point that I elaborate throughout the book: Code without tests is bad code. It doesn't matter how well-written it is; it doesn't matter how pretty or object-oriented or well-encapsulate it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don't know if our code is getting better or worse.

As someone who finds himself working without a lot of code that doesn't have tests, this resonates strongly with me.

So, how do we "work effectively" with code like this? By getting it under test. In particularly, by crafting unit tests that (1) run fast1 and (2) help us localize problems. Michael identifies two things we really need in order to write these tests. First, we need separation between modules. Most legacy code bases are hard to write units test for because of snarled dependencies. I've struggled through trying to instantiate a class in a test framework only to end up with half of the application in my test, so I understand the complexities involved. I've also dealt with code that we can't test in a framework because of undesired side effects from running it. Second, we need to be able to sense certain values that our code computes so that we know it did the right thing. Both of these are accomplished by what he calls a "seam":

A seam is a place where you can alter the behavior in your program without editing in that place.2

To exploit this notion of separating and sensing with seams, the book presents a set of dependency breaking techniques3 that can be done fairly safely to bring legacy code under test. The majority of the book is structured with familiar problems as chapter titles.

  • I Don't Have Much Time and I Have To Change It
  • I Can't Get This Class Into a Test Harness
  • I Need to Make a Change. What Methods Should I Test?
  • I Don't Understand the Code Well Enough to Change It
  • How Do I Know I'm Not Breaking Anything?

With only a few minor exceptions, each chapter spoke directly to a problem I've personally encountered in one or more of the code bases I've worked on. Each gave me a specific set of techniques to apply to the problem in such a way that I could see how they would work. I've started to do just that in current project.

The last section of the book is a catalog of the simple but powerful dependency-breaking techniques introduced throughout. Of the two dozen presented, there are handful that form the core and that are used repeatedly throughout, while the rest are used only in particular, less-common situations. What struck me most is how much these techniques are about getting back to core design principles. Classes should have one responsibility. Methods should be short and do one thing. When you find code that violates these principles, you can use the refactorings in this book to introduce new methods and classes to break them up. Yes, it can take a long time to get to that idllyic land where everything is simple, clean, and under test. But a journey of a thousand miles begins with a single step, and if you take just one step a day every day, you'll get there sooner than you think.4




1 And by fast, he means that each test runs in 1/100th of a second. This means usually (1) no hitting the database, (2) no communicating over the network, (3) no touching the filesystem, and (4) no editing special configuration files to run it. Tests that do these things aren't bad, they just aren't unit tests.

2 While much of the book deals with object-oriented programs, because object seams are one of the easiest types to work with, in languages like C we have link seams and preprocessor seams as well.

3 At Agile 2010, I overheard Martin Fowler describe these as "blind refactorings," because you have to make what you hope are behavior-invariant changes without the benefit of tests.

4 And much sooner than if you never take a step.5

5 And even sooner if you don't take steps backward. Stop writing legacy code.