Posts

The Productivity Formula

Productivity is clearly some kind of ratio; it is some kind of N:M relationship, but it's hard to know quite what the N and M are. Of all the poor ways one may define Productivity for software developers, there are some really horrible formulae including "lines of code per developer" and "story points per iteration", measures which really measure all the wrong things and which might send Charles Goodhart into a tizzy. Rather than rant more on those, let's cut to the chase and give the definition that most people really use: (what you did) ---------------------------- (what I wanted) You see, management is really not a data science. It is generally practiced as a semi-educated gut feel, because most managers in software organizations are really programmers risen through the ranks. Maybe 1/3 of them have studied computer science (judging by the popularly quoted folk-statistic that 30% of people work in the area of their college major).  M...

Plate-Emptying

Image
Over at Reddit  there is a discussion about my Stop Per-Person Swimlanes article at Industrial Logic . This surfaced what seems to be a common misunderstanding. Some people think that the board was designed to facilitate public shaming. It's to motivate members in a team to work harder. When your personal progress and responsibilities are put on a clearly visible chart somewhere it's a bit different than a sea of todo's some of which are labeled with your name.  There are a lot of answers, agreeing or disagreeing (mostly disagreeing).  This one stands out: It's different. Whether it's a good thing or a bad thing is EXTREMELY unclear.   My take is that in most corporate environments that is a BAD thing. Why? Because, rather than thinking about the overall health of the code, coder's main concern is getting that ticket closed [emphasis mine - tro] .   Which is a very straight path to the quick codebase degradation.   Meanwhile, your v...

What is "enterprise"

Gathered answers:  A for-profit concern. Involving strangers (you can't know and care about 5000 people individually) Using low-cost "resources" Involving huge budgets Pyramiding Multisite, with considerable offshore work Having a long-entrenched industrial-age culture Using fungible "resources" so staffing can be "re-balanced" easily Having strong central control (seeming necessary when working with strangers?) Having many teams contributing parts which share an architecture Having many interdependent projects, with independent teams Having a strong identity/culture ("unchangeable self" fallacy) Having promises outstanding in the form of multiyear "roadmaps"  Essentially waterfall view of software  Law of 2nd floor -- nobody 2 levels above or below you knows what you really do for a living. Essentially addicted to using brute force (large numbers) to solve problems. Having complicated budgeting processes with...

Dot-Programming your Object Oriented Code

Image
I was once told to "exalt the obvious." There is a power in it, because sometimes we overlook obvious things that are blessings to us and can reshape our world. This, I think, is one such. 'Way back in the 80s and 90s we were trying to get people to practice Object-Oriented Design and Object-Oriented Languages were gaining a bit of ground. Heck, in '86 or so C++ started to be a big deal, because it mixed some OO with our beloved C. Soon we saw semi-OO BASIC and even a version of Object-Oriented COBOL. Wow. We tried to codify principles and practices that helped people to do good design. You probably followed all the great stuff we did at Object Mentor, led by Uncle Bob Martin (who I still appreciate and respect, though we don't see each other very often). We expounded on coupling and cohesion, as well we should, but we lacked the mechanism in our programming environments to help us really seat the idea of OO in the minds of our fellows. Serendipity We...

What To Read

There was an opportunity at a recent open space conference for Mike Rizzi and myself to conduct a short session on "what to read." As expected, there is more here than anyone could hope to digest in a year of hard reading, but I think this might be interesting to the Agile Otter audience, and I hate to waste all the good work Mike did in organizing and fact-checking the titles. Here is Mike's note from the conference proceedings:  In this session, everyone wrote on large index cards titles of books that have inspired them. They were then arranged them on the floor looking for patterns and affinities. We then took turns saying why each book inspired or helped us. The fast paced discussions were fascinating, and I left with even more books to add to my reading pile(s).   -- mike rizzi Enjoy. PHILOSOPHIC BASIS Symposium and Phaedrus - Plato Liftoff: Launching Agile Teams & Projects - Diane Larsen & Ainsley Nies Impro: Improvisation and the Th...

Principles for Large Organizations

I was speaking with my friend Bryan who, like myself, does a lot of work with very large organizations. Many of them are great places and have sincere interest in being wonderful places to work with wonderful people. Sometimes, though, they struggle. In considering the nature of their struggles, I realized that I've collected or formed some observations of dynamics and I've not really vetted them all publically. I'd like to take this moment to think out loud and, with kindness and curiosity and empathy, see if we can develop and refine these observations -- or possibly strike them entirely if they seem utterly false. Please join me via comments or emails (tottinge@gmail.com or tottinge@industriallogic.com) to let me know what you think about these observations, what I'm missing, and what I can do to fill out the set better. Just remember, this is about curiosity and systems -- I'm not here to tear anyone down. Dunbar's Number Researcher Dunbar notic...

How Is The "Year of Living Shamelessly" Going?

Somewhere back in the first quarter of 2015 I decided to declare this my Year of  Living Shamelessly. I decided this means that I will live by all the best guidance I've been given, to the best of my ability. I won't surrender my responsibility for my actions and consequences to "but I was following the recipe" but instead, I will try to practice (in a mindful way) those teachings which I find to be most profound. These teachings come from my protestant upbringing and scriptures, from my early and current mentors, from people I respect and love, from many books on processes and human behavior, from psychological and neuroleadership sources, basically from anyone I've listened to whose teachings have resonated with me in a deep way. I've been pushing forward on these fronts: Empathy One of my key learnings from last year was that considering how you would feel in the other person's shoes is not empathy; it's self-involvement. It led me to judge o...