Visiting Rome

A week from Saturday, Maggie and I will travel to Rome. So many years of mythology, historic novels and more. This is gonna be amazing!

If you’ve been, add some ideas in the comments. Places we shouldn’t miss. Little memories you have that you’d want us to share.



Scrum (NON)-Alliance??

Feeling somewhat vindicated that the prescriptive "tools over people" approach of the "Scrum Alliance (TM)" and it's training and certification industry was a bust. I've seen "scrum" give (large A) Agile (tm) a bad name too many times.

If someone tries to tell you "just do these things and you're agile"... RUN AWAY!

Scrum Alliance Directors Resign



Should DRY apply to all writing?

Does anyone else have this problem?

When I think to write, be it a post, a tweet, or definitely for a longer essay... I'm plagued by a line of thinking that I carry over from my life in software:

Don't Repeat Yourself (DRY)

Which shows itself in bodies of code, literally trying to eliminate EVERY restatement, simply referring to the "one and only one" place that holds the only block that does that thing.

Or, the question I always when imagining (architecting) systems to be built:

is there an existing library that solves this? Never write your own tool when you can support an existing project.

And that question itself comes from an instinctual reaction to fight against the (NIH) Not Invented Here syndrome. I watch development funds wasted so often when people simply don't look outside their team for existing libraries, packages and such.

and... with all this habit deeply ingrained... I find myself finding other great essays (posts, comments) that already say the thing I had just been thinking to contribute.

A few friends have reminded me that that shouldn't apply to arts and letters in quite the same way. Because voice matters; that the way i say it, the stories i use, add aspects to the already existing writing on someone else's part.

So... at the risk of overspeaking... I'll be writing more. Watch this space. :)



Knowing when a departing developer is a FAILURE of management

So... This is probably an idea worthy of a very long post, and I may flesh it out in the future. But for now, i want to make just this one point.

That "difficult" developer that you never seemed to incorporate into your team.

That developer that was always pointing out areas to improve and make better code.

That developer that didn't mesh well with "others on the team"...

Don't congratulate yourself on their departure. Or worse, on choosing to ask them to leave. Not right away!

Wait... Watch where they land. Look at what they accomplish at that new place, with that new team.

If they thrive and making amazing things... you LOST. You failed to retain a valuable and effective contributor. And you should deeply and seriously question your team, your culture and your organization.

Sure... maybe they just needed that new setting. Maybe it was just "a matter of fit." But no. Don't let yourself off that easily! Use that moment to really consider your culture and why this brilliant mind went elsewhere to make their excellent contribution.



I, Racist

White people have reaped countless benefits from living in this racist society, whether they're racist or not.

"What they are affected by are attacks on their own character. To my [white] aunt, the suggestion that “people in The North are racist” is an attack on her as a racist. She is unable to differentiate her participation within a racist system (upwardly mobile, not racially profiled, able to move to White suburbs, etc.) from an accusation that she, individually, is a racist. Without being able to make that differentiation, White people in general decide to vigorously defend their own personal non-racism, or point out that it doesn’t exist because they don’t see it."

Please, everyone, read "I, Racist", by John Metta. It's important.



Apple is launching search engine to destroy Google | Jason Calacanis | LinkedIn

Definitely read the article. :) My take has always been, watch for what serves USERS. In Every. Single. Case. where you veer away from that, beware; you're going to lose the user eventually. In his article, Jason makes that clear. Google, in serving advertisers more and more often at the expense of users, is poised to lose the search market to Apple. Just as sites with an overabundance of ad and promotional content is losing the content war to simpler presentation more focused one why they came. What do you think?



Mentoring Startups

Some of my greatest joys in my business life started out easily and naturally. Mentoring entrepreneurs.

As a coder I've often found myself answering questions from startup founders. They want to know if their idea is feasible. What it would cost. All these initial worries. But often, the more important issues are about the idea itself, the market's need, and the competitive landscape. And so much more. So, if you're looking for insights about your startup idea, my initial consult has always been available for the cost of a meal. I'd sit and chat and give the best advice I could. From that initial advice has sprung many relationships and a good number of startups.

Here's a GREAT article from some entrepreneurs describing how mentor updates saved their company. Who are you talking to?



Helping Kids Learn Programming

A dear friend popped up earlier and asked me for recommendations about tools to help kids learn programming. I'm most passionate about getting capable adults into software development (more on that in another post), but this is for a youngster closer to 10.

Years ago, I got really excited about Squeak, the (then) latest iteration of Alan Kay's vision for kids and programming. The first one, Smalltalk, is why you have a graphical interface and programmers have Objects to play with. :)

Today I found a few worth sharing.

Tynker looks really cool. Graphical programming, gently introduced with game dynamics and fun. Even the logic of programming can be illustrated for the learner using tiles and drag and drop arrangement, perfect for experimentation. Then, as they're ready, the learner can "reveal" the underlying javascript code that their graphically arranged branches and conditionals was producing. Tynker is free to anyone.

Another is Scratch from MIT's lab. Seems a little more dated, but definitely worth the look.



Prediction, Commitments and Volatility in Agile Teams

This morning I read the @AgilePDX mailing list posts and saw James Shore's response to a question about predictability and agile software development. His article in response pointed to 2008 article he'd written. Brilliant, just brilliant.

Use Risk Management to Make Solid Commitments

Does this apply to YOUR team?

My one caveat to James' thinking would be this... Any team making a guess at the iteration velocity over time needs at least some semblance of consistency. The make up of the team should be predictable (no major turnover issues iteration-to-iteration) and the resulting work output will reflect that. If you look at your team's measured velocity and see more volatility than you account for, a numeric sequence like [10, 12, 4, 15, 20, 6], then you really have nothing to go on. In that instance, even the most conservative projection is pure guesswork. That's my opinion. And it was born out quite correctly recently. :)



Agile Is Dead (Long Live Agility) - PragDave

Such a perfect match to my own conundrum about the discipline of software development practices we so often call Agile.

It's hard, because industry calls on us for names to indicate proficiency. But for me this is a whole set of common sense ways to do better. And I've been at it a very long time.

So when people ask "but are you a Certified Scrum Master?" it's hard to answer. I tend to say things along the lines of "No. BUT! I predate that term and know all about the practices and definitions that make it happen." But that doesn't fit into their box. Even though it means I'll bring more actual agility to the discussion than any one set of practicies, like Scrum.

Let's aim for Agility, and use the Agile Manifesto values and principles as that guideline.