Technology, Market and People: What makes for a successful project?
April 20th, 2006
Most software practitioners I’ve met think the choice of technologies (programming languages, tools, libraries, etc.) has the largest influence on a project’s success. I actually think it is a minor influence and I think the project’s alignment with market demands is the single largest determinant of success.
While there are those who would explicitly claim the significance of technology, when asked directly developers may cite another factor. However, I make my claim regarding this “conventional wisdom” based on behavior; in most any project I’ve been involved in, a tremendous amount of time and energy is dedicated to selection of programming languages, technical evaluations, and debates about architecture and patterns.
By contrast, it seems the topic that gets the least attention is a very simple question: Are we solving the right problem? It amazes me how often, because of lack of interest or a strong sense of faith, developers do not question why they are building the application they spent countless hours working on.
From a separation of roles and responsibilities perspective, it seems appropriate that developers should not concern themselves with such a question; it is the job of the product manager. However, I’ve seen the most successful teams consist of a cross functional group, where each member took an active interest and responsibility for the project’s outcome. (Anyone been involved in a technical success, but it was a business failure?)
Agile software development can help a lot; the emphasis on communication, feedback and iterative development encourages the identification of real user need. It is amazing how much clarity can be achieved when developers and users sit together in the same room or you demo an application every two weeks. Alternatively, I find that traditional, specialized and compartmentalized development models, where information is “handed over the wall” or communicated with documents instead of conversation encourage a very myopic view by developers. Even if you wanted to better understand the business goals, pressures and motivations for the project, there may not been anyone accessible to ask.
Though I make a living being a proponent of agile development, giving too much significance to the process is just as misguided as emphasizing the technology. Agile development can be an effective means at understanding market needs, but it is not an end unto itself.
If I were to quantify my idea, in terms of percent influence on success, alignment with market needs accounts for 65%-75%, process, practices and team dynamics for about 20%-25% and technology for only 5%-10%. Similarly, I think the time and effort spent evaluating issues or devising tactics should be proportional to their importance. Simply put, I’d rather spend three weeks training a development team about user’s daily activities than three weeks evaluating the choice of Java vs. Ruby or SOAP vs. REST.
I’ve seen numerous examples where the development group had horrible practices or made many poor technical choices; it was amazing they ever got anything done. Yet, their products were great successes and wins for their organization. I’ve also seen cases where the architecture was beautiful and most any developer would awe at its magnificence, but it was flatly rejected by their user base. Unfortunately, I’ve even been involved in a case that was a marvel of agile adoption(well, at least the engineering practices): thousands of tests running in seconds, pair programming, and elaborate continuous builds: but it didn’t do much for the company’s bottom line.
Ultimately, you can’t win if you cross the wrong finish line.
Entry Filed under: Software Development, Teams, Strategy

8 Comments Add your own
1. Jason Yip | April 20th, 2006 at 9:02 am
I think that if the project doesn’t do much for the company’s bottom line, it shouldn’t be considered a “marvel of agile adoption”. Or if it is still considered a “marvel”, then Agile adoption is not anything worth worrying about.
2. Laptop Computer WebLog &r&hellip | July 27th, 2007 at 4:29 pm
[…] Agile Ramblings ยป Technology, Market and People: What makes for a … … with such a question; it is the job of the product manager. … Agile software development can help a lot; the emphasis on … activities than three weeks evaluating the choice of Java vs. http://www.christiansepulveda.com/agileblog/archives/50 […]
3. Adron | August 23rd, 2007 at 9:51 pm
I get so used to just assuming that things would align with the market or this and that would match. It’s one of my largest weaknesses that I need to work on.
With that said, I absolutely agree with your order of influences on a project to succeed or fail.
4. Muscle And Fitness&hellip | September 30th, 2007 at 3:31 am
Muscle And Fitness
I couldn’t understand some parts of this article, but it sounds interesting
5. Business Ideas Forum&hellip | October 6th, 2007 at 3:10 pm
Business Ideas Forum
I couldn’t understand some parts of this article, but it sounds interesting
6. Desktop and Laptop Comput&hellip | October 12th, 2007 at 4:55 pm
Desktop and Laptop Computers
I couldn’t understand some parts of this article, but it sounds interesting
7. Sports Illustrated&hellip | November 6th, 2007 at 3:49 am
Sports Illustrated
I couldn’t understand some parts of this article, but it sounds interesting
8. Emphasis On Effective Com&hellip | February 18th, 2008 at 7:25 am
SIM Free Phones : Cost-Effective Means of Communication
In the digital mobile world, mobile phones have uncountably become one of the inevitable gadgets for communications. Additionally, the device with multimedia and productivity tools gives a meaningful solutions for today’s personal as well as professio…
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed