Profile cover photo
Profile photo
Daniel Markham
Hacker, Agile Coach, Reader, Hiker, Photographer, Pilot, and father of four
Hacker, Agile Coach, Reader, Hiker, Photographer, Pilot, and father of four


Post has attachment
I have been having a blast lately pivoting off my Info-Ops book, which is about how to organize all of your product/project information.

Pivoting down into the code, I've written half-a-dozen articles on programming in F#. That's been fun because I haven't written a lot of coding advice, although it's a big part of my job as technical coach.

Pivoting "up", I've been writing about program and organization management. Today's topic is 'Org your Org: Who's Right?" about the optimum org structure around a team so that everybody keeps their priorities straight.

Once the foundation is in place, the other stuff becomes a lot easier!

Hope you like it.

Post has attachment
Add a comment...

Post has attachment
I was talking to another coach last night and he was fairly frustrated. He was helping a client that thought of all developers as fungible. The developers were having a heckuva time dropping in and out of various teams and codebases.

That's a fairly common problem, and it causes all sorts of pain and friction. It can destroy a company if left unchecked.

I thought I'd blog a bit about it. Who knows? Maybe somebody will read the blog and change their mind.

Post has attachment
Dang. I have been a blogging fool lately.

For those folks interested in estimation, story points, project management, and the other aspects of how organizations look at Agile teams, I thought I'd try something different. Instead of talking directly about Agile, I'd talk about reports. People think that managing projects consists of a lot of reports, so maybe they'll read the essay if I start that way.

Some good stuff here. Having a good Agile team doesn't mean you don't need to keep people updated on how you're doing.

I'm not going to post a link because this is a little more commercial than I am comfortable with regarding this forum. But something interesting did happen that relates to Agile/XP

Several months back, I was invited up to Illinois to do a "F# Case Study" with Bob Martin and James Grenning. Bob wrote the book on clean code. James wrote the book on TDD in embedded environments. Both have been friends for a while.

The video series finally came out this week, and it's not as good as we had hoped. It was entertaining instead of instructive. And the reason, at least in my mind, was the application of the TDD loop to purely functional programming.

My two TDD guru friends kept wanting to know where things went. They'd write the smallest test possible, then write the code to make the test pass, then start cleaning it up. But with functional code, you're much more concerned with what things do, not where they go.

It sounds like the same thing. In practice it is not. Some functions can modify vectors without introducing cyclomatic complexity to the code -- there are no ZOMBIES. At the end of the week I came to the conclusion watching my friends that you should "Run from the ZOMBIES!". That is, instead of asking about the smallest useful test, you should ask about the smallest non-testable transform you can apply. Only when you run out of those should you go full TDD. And with effective use of the type system, that might be a while.

Is there another TDD loop for pure FP? I believe so. I haven't had a chance to work with a group of coders in this environment yet, so I don't have the data to relate. Still, if it's true, it could be a really cool thing to figure out.

Post has attachment
In an effort to continue drumming up interest in the book and starting good discussions in the agile community, I've written a new essay about the #1 thing that people seem to not be able to get their head around: keeping their backlogs easy. I get more push-back from this than anything else.

(Apologies for the "Top X" title format. It just seemed to naturally fit. I was going to write "You won't believe #4!" but I felt that many may not get the joke. The title, although it uses an overused format, is not meant to be clickbait)

Post has attachment
Upgrading some graphics for the #into_ops book this week. Here's one on analysis. #agile
Add a comment...

More free stuff! Yay!

Do you know the eight kinds of Product Stories? User Stories are just one of them.

I didn't know them until I started writing these books and then just "fell out" of the material. It's one of those deals where if Part A is connected to Part B, and Part B is connected to Part C? Well, dang, looks like Part A is connected to Part C then, right? So none of this is anything I'm inventing, just mashing up a bunch of stuff that's already out there and making clean and logically consistent.

If you're interested in learning about the eight kinds of Product Stories, seeing some examples, and perhaps learning about how they might help you write better User Stories, email me at I'm writing up a white paper to give away to folks somewhere down the road and I'd like to hear whatever comments you have! Plus I promise a cool graphic that you put up in your cube and impress people walking by :)

Add a comment...

Post has attachment
New blog, "The Two Kinds of Technology Thinkers"

I find that whether it's Agile, programming languages, or product development -- pretty much wherever you go -- there are two main types of thought processes at work.

Many times teams get hung up because of over-emphasis on one of these types instead of balancing both of them.

I think it's a different way of looking at team problem-solving. Might start some good discussions. I know that a lot of technical coaches like me tend to focus on the platonic, conceptual side of things. We tend to become enamored with the truth and beauty of these grand concepts.
Wait while more posts are being loaded