Business & Management

Cone of Silence

Once upon a time, I worked for a small company that had a tiny office. It was just a big room where all the developers, designers and creatives assembled, plus a couple of small ones where the owner and his secretary spent most of the time on their phone pitching to new clients or trying [...]

Being an effective project manager

Lesson learned: Being an effective project manager is not about doing the work yourself, it is about making sure the right resource is applied to the right problem. (from The gorilla is named Hogarth)

Try Harder

I have found this little gem in PragPub, May 2011: A depressing theme with many of today’s software shops is the need to only make two kinds of hires. The first is a developer. After all, a developer codes, and that makes money! The second hire is an MBA-style manager. This manager is an HR-type [...]

Developer? Manager? You can’t do both jobs at the same time

You can be proficient in both, maybe you are good at one, it’s very hard to be excellent at both – but the whole point is that you cannot fill both roles at the same time. It’s not going to work. One requires focused effort and attention, the other constantly going out and reacting, protecting [...]

The cultural chasm in global software development

In 2004, I went to India for the first time, to lead a software development project for an Italian company. The first, and only time, I had fourteen developers reporting to me. Everything was new, cool and shiny. It felt like the country was moving forward in the development scale right under my own eyes. [...]

Does Google+ splashy start matter at all?

Does Google+ splashy start matter at all?

Google+ launched with much fanfare and huge adoption among the IT literati. The typical user is a male (73%) software developer or engineer (six among the top 10 occupations are different flavors of software development), American (49%) and urban. These are the people who were all wet for Google Wave, who preferred Friendfeed to Facebook. Do [...]

XPUG Marche event on SOLID

Last week, the extreme programming user group in Marche (Italy) held a nice event on SOLID principles. Two speakers explained them in theory and with real world examples, then we spent an hour in a hands-on exercise, refactoring some code to remove code smells due to violations to SOLID principles. XPUG Marche records these events [...]

Bands, Tribes and Cities – growing an open source community

Bands, Tribes and Cities – growing an open source community

Open source communities go through a series of transformations as they grow and evolve. My personal theory is: provided that there is ongoing technical progress, open source projects show steady advances until they outstrip their capacity to communicate, collaborate and coordinate effectively. That is, all goes well until they outgrow their current governance tools. Once that happens, [...]

Closed-world design mindset considered harmful

Many design decisions are heavily influenced by the psychological dispositions of their architects. If you’re hiring a technical lead or are a practicing software architect, there are some particular psychological traits that you should avoid at all costs. Never hire or become a controlling, patriarchal technical lead: it dooms the long-term viability of your projects.

Command, Management and Leadership

Command, Management and Leadership

Businesses face many different situations, that demand different kinds of actions and responses. The right organizational response to each challenge will decide between success and failure. What is the right leadership model in a given context? That’s the tricky and interesting question.