Many software companies brag about their software development “methodologies”; the methodology being a description of a specialized approach to building software that suggests a superior way to perform work when compared to the competition. It used to be that all development methodologies were just variants of the same “waterfall” approach, namely, the traditional design, development, test, and deploy method for creating a software system. Newer approaches built on this foundation by promoting technical methods of “object orientation” or “rapid application development”. The most recent approaches (really just fads and clever marketing language) include such clever names as “Agile Methods” or “Extreme Programming”. Pick any of one of them, it doesn’t matter, they’re really all the same anyway. They all focus on the technology, the work process, the gathering of requirements, the specification of a design, the process flow, etc.
But there is a huge problem with these methodologies; they focus on the technology and ignore the missing critical element to a successful software project, you, the client.
Technical Methodologies Do Not Guarantee Software Success
Go figure, you, the one who wants the software built, the one paying the bills, the one who got the ball rolling in the first place, are not included in the methodology. Incorporating your changing needs, your new ideas, your need for status and progress and feedback, are never part of these technical methodologies. It’s as if the developer can take your specification, work for 6 months, and deliver the final product, without you. Successful software projects are much more than executing a technical methodology, they are, rather, about solving a problem and dramatically changing your business. While these methodologies might exude technical competence and make the software company look “technical”, they absolutely do not guarantee software success.
Our Client-Based Culture, Mindset, and Way of Doing Business
Typically, the cultures and technical methods of software companies cause them to all swoon over the various technology concepts, languages, database designs, servers, middleware, and user interfaces. They can’t resist telling you about ER diagrams, object models, and data definitions. They stand up and cheer for automated regression testing, unit testing, and system testing. And what development methodology would be complete without bragging about their vision of the headphoned programmers, eating pizza, drinking diet coke, and working late at night. At Decision Design, our “methodology”, indeed our entire corporate culture is different. Of course, we use proven technical methods to build software. We even use a few solid non-traditional methods too. But at Decision Design, what sets us apart from the mass of software “methodologies” is that the client is so firmly embedded into our mindset, our culture, and our entire way of doing business, that our methodology isn’t a technical methodology at all, but rather what we call our “Client Service Methodology”.