jump to navigation

Why Distributed Version Control Matters October 11, 2007

Posted by Ian Clatworthy in Bazaar, Collaboration, Management, Open Source, Software Engineering.

I’m presenting a paper later this year at OSDC 2007 on why distributed version control matters and how to implement it effectively. A draft can be found online here: Distributed Version Control – Why and How. If anyone has any feedback, please let me know soon so I can improve the final version.

Update: The final version is now uploaded and linked above (and it’s really PDF, not PostScript, this time).

M.E.T.A. Career Development June 15, 2007

Posted by Ian Clatworthy in Management, Software Engineering.

The most important thing every good engineering manager does is find and employ the right people. The second most important thing he or she does is develop them. It sounds so obvious and simple! In reality though, developing the careers of technical people well is one of the biggest challenges every IT company faces. Whether you’re responsible for managing technical people or simply interested in actively driving your own career, it helps a lot to have a good framework. And the name I’m giving mine is M.E.T.A. – Management, Engineering, Technology and Applications.

Have you ever wondered why open source teams often produce software faster than commercial teams? There are numerous reasons but more M.E.T.A. people is part of the answer. Agile methodologies work well for much the same reason: every team member is encouraged to take an interest and role in planning, tuning processes and using technology to deliver value to users. Having people that can see and balance all these aspects is a truly major win. Products get out the door sooner and quality, in terms of fitness for purpose, is often better as well.

Why is this so? As explained previously, software engineering is ultimately a communications challenge. As a consequence, a bunch of multi-skilled people all on similar wavelengths will win every time over a bunch of specialists each focused on just their part of the problem. Collectively, M.E.T.A represents the 4 pillars of software engineering success. It therefore represents the 4 dimensions every engineering manager needs to be thinking about when developing their staff.

So what does the M.E.T.A. model look like in more detail and how do the pillars interact?