Software development is not engineering
Read a great blog post by Mike Gualtieri at Forrester today:
Too often, the folks that are well versed in deep technical theory are the ones that are running software development shops. What happens? Waterfall, agile, scrum, extreme programming. All are great methodologies for building functional software. They often miss the mark on user experience though.
Design and user experience is critical in the modern software world. Web 2.0 websites, optimized eCommerce sites, iPhone, iPad, even your car’s dashboard — they are all incredibly design sensitive. Yes, they must work and work without glitches — but they are not going to be used if the user can’t figure them out.
A systems-centric approach is often adopted by software development teams, as opposed to a user centric approach. Functional as opposed to creative. How does this happen? The mindset of treating software as a pure engineering discipline, similar to construction is at fault. It’s no longer about just sheer assembly of objects and classes.
Instead of just thinking about software as an engineering discipline, add some artistry to it. A great design experience transcends software. If you’re using scrum, agile, etc… take some time to ensure that you have product design as a cornerstone of your software development lifecycle.