“This is a common pattern in the evolutionary process, [Simon] Wardley said [researcher at the Computer Science Corp]. The more customizable a technology is, the less agility users will have, because IT will spend all day customizing the tools instead of solving the problems. Standards increase efficiency, he said, and current cloud platforms offer extreme customization options. All of this translates to slower velocity, he said; standards come from best practices, and best practices eliminate waste.” BSA warns of governments interfering with the cloud, SD Times, March 2012.
I was always annoyed by the fact that I didn’t take my Microsoft Windows PC and customize it using all the bells and whistles it provided (themes, desktop pictures, screensavers, gadgets, scripting, etc.). I wasn’t getting all the productive benefits of my PC, I felt, because I wasn’t using everything provided. The catch was, I noticed, that everytime I customized what I had, I seemed to eventually lose it. If I were to upgrade my PC or just use another PC, all my customization was stuck on my old PC. Customization didn’t follow me. So, it was just easier to use the “out of box” configuration and work with that.
So I found myself reluctantly agreeing with Simon Wardley above, that using standards (and standard configurations) on software tools generally is the more productive way to go. My gut still tells me that I need to get better use out of my tools by tweaking them to be just want I want them to be, but the specter of losing all that work looms too large for me to do more than the most critical customizations.
Cloud based computing has helped overcome some of this. I love the fact that when I move to any machine (PC, tablet, phone), all I have to do is log into my Google account and I have my whole environment available to me. Of course, I’ve turned over major customization and upgrading to Google, and they have a tendency to add new and retire old features. I’ve simply replaced my own IT department with the Google IT department, and there really isn’t anyone I can talk to directly when things aren’t working. Instead, we talk in forums and exchange problem solving lessons learned with other users who have worked out solutions to common problems. However, the Google “standard” is reasonably efficient and effective and what I gain appears to be a lot more than I lose, so far.
I once spent considerable time programming Visual Basic for Applications (VBA) to exchange data with Microsoft Project (VBA is built into Project as it is other Microsoft products). I would program VBA to send out reminders to project teams (through Outlook e-mail which is also VBA enabled) that tasks should be complete or to request status updates. I would also pull in dependencies and progress from other Microsoft Project plans using VBA programming. This gave me a way to “loosely” couple my plans with other plans (i.e., we did not have hard dependencies between us but their progress or lack of it helped or hindered our progress). This all worked very well, but it was a lot of overhead to maintain and every time something was updated (Outlook, Project, server locations, IT naming conventions, etc.) I had to spend considerable time “fixing up” my mashups so that they would continue to work.
I often say that while I love tools we can often spend too much time wrapped up in the tools and lose track of the purpose of using the tool. This is, in my experience, due to the customization paradox that Simon highlights. However, a good tool with a mature and insightful “paradigm” (or standard) for doing the work we need to do can make a huge difference in our productivity. We do have to learn this new approach, and that is always a challenge, and a lot of approaches can be too stilted and not appropriate to what we need to do. Finding that appropriate tool, by shaking it out on a few pilot projects, can be one of the best things we can do to help ensure successful projects.
As one advertisement in the same SD Times issue said “Everything You Need To Ship Software OnTime. Powerful bug tracking. The best Scrum tool. A beautiful & fast UI.” Now I know that to get the most out of such a toolset, it first should have a good standard approach that I don’t have to customize too much to be immediately productive. If a tool’s power is touted as its “flexibility” and “customizability” then we might want to look closely at the total cost of deploying such a project management tool.
Do your project management tools help you manage your projects with only a minimal amount of customization?