Talking, Thinking, Typing

One cardinal misunderstanding burning teams, tanking projects and killing products since the dawn of software is the assumption that software development can be reduced to the aspect of producing code.

Daniel Fone does a great job of broadening the picture with his triptychon of software development as: Talking, Thinking and Typing.

Software development is talking: Speaking and listening to peers, colleagues and stakeholders. Software development is thinking: Thinking alone by modeling data, testing abstractions, thinking through cases, thinking together by reading other people’s thoughts. Software development is typing: Writing code, but also: Comments, readmes, specifications, code reviews, tickets, mails, …

Overemphasizing one of these aspects or neglecting others is a sure fire way for personal all professional frustration.

Nothing to Hurry About How to Manage by Purpose Instead of Urgency

But, it’s urgent! We are late! We need to hurry – our client expects this. There it is, a stakeholder calls to put “a bit of pressure” on the team, to “go the extra mile” or “work double as fast”. All in order to meet a milestone, add another feature or meet an impossible deadline. And as you crack your whip and shout “Faster!” your team miraculously pulls through – another crisis averted, another deadline meet.