Announcing the Community-Agile project July 9, 2008
Posted by Ian Clatworthy in Collaboration, Open Source, Software Engineering.5 comments
I’m pleased to announce a new project that aims to extend Agile software development with successful practices used in the Open Source community. The goal is to create and support a process framework that teams and communities, both open source and commercial, can download and customize to meet their needs.
To start the ball rolling, I’m pleased to announce the Manifesto for Community-Agile Software Guidance. Anyone can sign this – simply go to the page and add a comment indicating that you agree! More importantly, a paper explaining the values, principles and practices is available in numerous formats including html and pdf. (I was planning to present this paper at OSCON 2008 but unfortunately can’t travel at this time.)
To get involved, visit https://launchpad.net/~community-agile and join the team!
Why Distributed Version Control Matters October 11, 2007
Posted by Ian Clatworthy in Bazaar, Collaboration, Management, Open Source, Software Engineering.17 comments
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).
I.T. Professional Development July 6, 2007
Posted by Ian Clatworthy in Software Engineering.add a comment
So much to read, so little time.
Software technologies – operating systems, applications, programming languages – rapidly evolve, so I find the Web a better choice than buying book after book on something with such a short half life. As Grady Booch says though in his interesting look 50 years into the future (warning: 12.6 MB), software engineering fundamentals never go out of style. The fundamentals are the values, principles and best practices of what we do: Requirements, Architecture, Design, Construction and so on. I keep a list of what I believe are the best books in each of these areas. I hope you find it useful reading as much for what I’ve left out as included. 🙂 I welcome input on evolving this list as we learn more as a profession on the numerous challenges of software development, operations and support.
M.E.T.A. Career Development June 15, 2007
Posted by Ian Clatworthy in Management, Software Engineering.4 comments
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?