Inertia is a terrible thing in developers. There is nothing more depressing to me than walking into a cf shop and finding that they are still using CFStudio 5 with a single development server supporting the entire department. I usually find that this is an outfit that was unable to keep their visionary developers and now have a room full of grey cube drones, pounding away at uninspired code. No one in the department has ever been to Max or CFUnited, no one actually knows where the closest cfug is, few have actually read a blog, and no one actually has a copy of flash.
There is a lot of blame to go around when you find an organization like this. Part of the blame goes to the individual developers. They have been complacent enough to allow their curiosity and hunger for knowledge be driven out of them by the organization. Most of the time, the truly inspired have been frustrated to the point of finding a different position. Or worse; looked down upon by the organization as trouble-makers and malcontents.
A larger part of the blame goes to the lead developers and project managers. They are the ones that let their day-to-day responsibilities crowd out a spirit of innovation and discovery from their teams and departments. While the developers are responsible for the stagnation of themselves, these people are responsible for sucking the life out of groups of 5 or 10 people.
The largest part of the blame has to go to executive management for being out of touch with their core business processes. They are the ones that have failed to realize that by not exploring new technologies, they are ceding competitive advantage to the competition. They are the ones that have failed to recognize that changes in their companies initiatives have gone from sweeping technological breakthroughs to functional tweaks.
So, if you have suffered through this post to this point being insulted along the way, here is your official kick up the arse:
Official Kick Up The Arse
Developers: Download the Flex Beta now. Do it both at home and at work. If you are working in ColdFusion in any capacity today, you will be affected by Flex in some way. Get to know it now so it doesn't trample you when it's forced upon you. Exploring it is great fun. It brings back that "lightbulb" effect when you first get something to work the way it should. You will start to see where your upcoming projects could be made more engaging for the user and more fun to build for you.
While your at it, try downloading cfeclipse. Once you get it configured to the point where you can actually work on a file, uninstall CFStudio 5. If you are still using CFStudio5 a month from now, expect another big kick up the arse. The rest of us will all be pointing at you and laughing.
Project leads/managers: Take a risk. Set aside some time for your developers to look at Flex. Let them come up with a small project that they could build that could be used internally. Something that won't break the bank but that could be made visible to other parts of your organization once it's in place. You know there is always a list of small products your toolsmith wants built that never get paid any attention. Maybe there is something there you could put together.
Your developers will find lots of other uses for the technology as they build. KEEP A LIST! Take credit for spearheading the research activities.
CxOs: If it is important enough for your company to have a development team, then you realize how important it is to use it to make your company more competitive. If your teams spend 100% of their time working on maintenance projects or incremental improvements in existing software, then either 1) your development team is too small, 2) your middle management lacks vision, 3) you're milking your Cash Cows (hey, that's funny), but not building Stars in your quest for short term gains.
It's time to kick your teams out of their rut. Spearhead a labs group. Make sure it has access to domain specialists across the organization. Devote at least an hour a month to stay in touch with the group. Make sure that the person you choose to lead your labs group reports directly to you regarding this part of their job. Provide the Labs manager with the authority to draw resources from the rest of your organization within reason. No one should spend more than 20% of their time on labs projects until you find a project that you decide should move into development.
Ok, that's it for this kick up the arse. Feel free to post here if you want another ;).