Excuses, excuses: The Business Doesn't Know What It Wants

Mike_Gualtieri_ForresterI have grown weary of hearing excuses (for 20 years)  from application development professionals about why they are challenged when it comes to developing and delivering applications that meet the expectations of the business. Excuses such as:

  • The business doesn't know what it wants.
  • The requirements keep changing.


Application development professionals are not served by these lame excuses because no one gets what they want or need. The business is left lacking and application development professionals deserve their reputation. If you have no excuses, then I salute you. If you want to stop the excuses, here's how:

Solution 1: Get Over It

Stop denying reality. The business either doesn't know or can't always articulate what application features they need to make their business more productive, more responsive to customers, and more flexible to market changes. And, they often change their minds because they are just thinking this through themselves and that often results in new needs or missed requirements. This is the nature of the beast. Accept it and stopping beating your head against the wall. It's not good for you.

Solution 2: Understand The Business And Your Users

What's a poor app dev gonna do? You must learn the workings of the business, understand what customers want, what competitors are doing, and what it will take to create a great user experience for users. This will give you a much better context when you speak with the business and you can work together in the requirements, offer new ideas, and head-off many of the gothcha's that come up later. This is your job and you have to start doing it to the nth degree. Keep being strictly a tech-head if you want, but stop the excuses, please. Learn the business.

Solution 3: Build For Change

Things change constantly. You need to choose technologies, architectures, and processes that enable you to respond to change. This requires getting creative and being open to new combinations. For example, maybe an event processing architecture is a more natural way to respond to what is happening in the business than a service oriented architecture. Or, maybe you can build a more better user experience by using Adobe Flex rather than JSF. Building for change is a lot easier when you know the business because it helps you to anticipate future requirements.

Solution 4: Get Passionate About Your Craft!

The industrialization of software development has been an epic fail. Developing software is not like building a car on an assembly line or bottling beer like Laverne and Shirley at the Shotz brewery. Software development is a creative craft more akin to making a movie where talent, creativity, discipline, and passion result in great creations. For years, app dev pros have been told to keep their heads down - that all you need to do is follow the project plan and write your code. Wrong. Lift your head up, find your passion, understand the business and then use your technical creativity to make beautiful applications that users find useful, usable, and desirable.

What's your excuse?

 Mike Gualtieri, Senior Analyst, Forrester Research

Follow me on Twitter.



re: Excuses, excuses: The Business Doesn't Know What It Wants

Mike, I love it when I see that it is not only me who can get very emotional about the subject of IT!!! Thanks for being so open and showing it.My take? The business does know what it wants but IT-professionals and business consultants are UNABLE to give it to them! If you ask business people to describe what they do in the form of rigid processes - which a programmed application is too - then you can never deliver what they need!Yes, the requirements are changing all the time because they change every day. That is the reality of running a business. Therefore the frozen, tested-to-death applications and BPM icebergs will never be good for any business. They are outdated by the time they are delivered and then no one wants to touch them.Part of that problem is technology and CODING stuff for example in FLEX is part of that. Another is the expectation of a 99.9% error free application. Efficiency is about doing what the customer needs but not doing an outdated process perfectly error free with subzero response time. I wrote that on my blog 3-4 years ago!Yes, application development is a form of art, but then CEOs would need to change first and stop seeing IT as the perfect means to fire as many people as possible. Information technology should be the perfect means to empower business users to do what they need to do when they are passionate about customer service quality! Too many C-level execs want to make IT the same kind of cheap, replacable commodity that employees have become.I see more businesses with a mass market domination rather than individiual customer service quality focus. But then I am still here trying to change the world and thus I don't use that as an excuse.

re: Excuses, excuses: The Business Doesn't Know What It Wants

For sure, lots of business people are not knwing what they want. Because for them, making a business case is easy. What is more complex is to do the job with tiny budget and poor infrastructure.I have to admit that the quality of the dev team is in general linked to the business quality. It is a long chain.When in 4 years, you have 5 business owners for the same product, then you have an issue.I want to say it again, and it's not an excuse. Not all business knows where to go, what to do and how much an application can cost. Of course, if they do not likebthe dev team they can go out and use SaaS.In general they pay far more for less, but they will accept some rigidity. If the application is done internally, nothing is the same.So business people, no excuse for you, you will get for IT what you deserve.

re: Excuses, excuses: The Business Doesn't Know What It Wants

The problem is not the business users but the world itself. Change is constant and the business users can't change that even if they want to. And this applies to the core logic within their systems just as it does to their UI. Several years ago I wrote a piece called "Business Rules Cafe" or how IT can learn to stop worrying and love change. Check it out at http://www.ebizq.net/topics/web20/features/6387.html and see how rules can make it possible to love change....JT

re: Excuses, excuses: The Business Doesn't Know What It Wants

Excellent points Mike! "Get Passionate About Your Craft" -- this also means learn. Especially when you combine it with "Build for Change". Older technologies just don't cut it. Learn something new. In particular, learn something like BPMN-based process modeling (with BPEL execution) so that you can go back to your users and say "is this what you meant?". Then when the say no (or later when they change their mind) you can change it.BTW, to JT, I agree that rules can also be used to allow for change, but I find that large rule systems are much more difficult for end users to understand than business processes.

re: Excuses, excuses: The Business Doesn't Know What It Wants

This article makes some very valid points. However, I am shocked that Agile is not mentioned. This is the problem that Agile Software Development was born to solve!

re: Excuses, excuses: The Business Doesn't Know What It Wants

Great article! I’ve used many of the methods you mention and they are great!And this problem is not only for business user but also for the world itself.Thanks for the nice information sharing with us.Keep up the good writting.

re: Excuses, excuses: The Business Doesn't Know What It Wants

An illustration to your post: http://mainthing.ru/item/226/