Do Application Developers Need To Change Their Ways?
Controversies and eccentricities notwithstanding, Michael Jackson is a brilliant musical artist and performer. I was acutely aware of this on February 2009 in London after 3 colleagues and I went to see the new West End show, Thriller Live at the Lyric Theater after Forrester's EMEA Enterprise Architecture Forum. If you are in London, go to this show! Go, especially if you have no rhythm because you will probably find it there. The show is a celebration of Michael's breathtaking musical career shown through the performances of very talented singers and dancers. The hits are nonstop.The night flies by leaving you wanting more. Go.
Michael's sad and untimely death on June 25, 2009, reminded me to finish this blog post which I originally started after being inspired by one of the songs in the show, Man In The Mirror.
Do Application Developers Need To Change Their Ways?
In his reflective, 1988 hit song Man In The Mirror, Michael Jackson observes "If you want to make the world a better place/ take a look at yourself and make that change." Michael goes on to declare, "I'm starting with the man in the man in the mirror/ I'm asking him to change his ways." The implication? We should all look in the mirror once in a while to become better. (watch on youtube)
What if application development professionals look in the mirror? What changes would you make to develop better applications?
Here is what I think many application developers would see in the mirror and would change to build better applications:
- Understand the business in your bones. Many developers think they understand the business because they listen to business stakeholders and users. Listening is not enough though because users and the business can not always articulate what they want, what they need, and most importantly, what is right for the business. Truly great applications require a deep understand of the overall business context (not just for the app you happen to be developing). Developers need to continue to listen, but they also need to observe and empathize with business stakeholders and users.
- Be a developer not a coder. Too many developers give in to process and tools.The result: They become mindless coders rather than people who create great applications. Developers should not play second fiddle to business analysts, project managers, or architects. But, developers cannot rise to this if they do not know the business in their bones.
- Use new technologies, but only when they make a difference. Sure, once you use a power nailer you won't want to go back to a hammer. When it comes to application development tools there is always a new "power nailer". Developers need to resist the temptation to jump on new tools and technologies too quickly because this can often be a distraction with developing great applications and trends sometimes die quickly. For example, Ruby on Rails or the latest version of Eclipse is not going to make a difference in creating a great application. Developers need to adopt new tools and technologies, but for the right reasons.
- Become architects again. While frameworks and design patterns can save development time and provide architectural consistency, they can also be constraining. Developers who have become framework zealots or drunk on design patterns see solutions only in these approaches. If a problem doesn't quite fit, they sometimes tweak and tweak and tweak to try and make it work. Developers need to create an application architecture that is appropriate for the applications. The framework or design pattern should be a slave to the application architecture versus the other way around.
Readers: What other changes do you think applications developers need to make to build better applications?
Whatever you may see in the mirror, "make that change."
Thanks,