"Traditional software development practices die hard but the light at the end of the tunnel is getting clearer."
Ramsay Millar spends his working days as close as anyone can get to applying emerging trends in software development to real-world challenges. Millar travels the U.S. and Canada facilitating workshops for developers and IT professionals looking for better ways to deliver and evolve business-critical software.
"Currently we are all focusing on closing the gap between business requirements and software delivery by moving away from the dysfunction of code-and-fix legacy thinking," said Millar.
Each week he mentors a different group of workers. Over the course of a year Millar works with hundreds of software-development professionals -- software designers, code engineers, project managers, business analysts, testers, CIO's and enterprise architects. This wide-ranging experience with his clients provides him with insights that vary from traditional dysfunction on one hand to outstanding examples of process and tools efficiency on the other.
All this front-line experience leaves him with an interesting perspective towards the ongoing struggle within corporations and government agencies looking for new solutions for building software. This brings him face to face with a wide range of experiments for applying better practices to the complicated process of delivering software to business stakeholders.
"Software development is a high risk business when we look at the industry record of success," said Millar. "It's really astonishing how commonly we face IT project failure -- CIO Magazine recently reported 'as many as 71 percent of software projects that fail, do so because of poor requirements management, making it the single biggest reason for project failure.' "
After three decades as a software engineer -- and ten years as a software road-warrior and mentor -- Millar currently sees a shift in industry practice as significant as the introduction of object-oriented programming a generation ago -- a shift that is so new it does not yet have a name.
"We're seeing three trends maturing and starting to converge," said Millar. "When you layer all three trends together the cumulative effect is a solution to that high historic failure rate."
The result is a profound change in IT culture and practice. This change improves business agility and creates repeatable software quality along with dramatic reductions in the need to re-work code. This kind of improvement appeals not only to the CIO team but also to the comptroller, who is always looking for ways to increase value-for-money.
Millar said a focus on quality costs far less than wasteful code-and-fix legacy thinking. "The manufacturing industry discovered this years ago," he said. "The excitement today is now more clients realize we can do this with software also!
"Every one of my clients is actively engaged in improving the way they deliver and maintain software," he said. "My clients are tired of traditional IT dysfunction and wasteful re-work practices. "When we can move beyond these issues, the reward for improving the process is a happier customer and an improved business bottom line."
Millar said the three trends of this "quiet transformation" are:
- A wish to close the gap between business requirements and software delivery by applying an agile process and best-of-breed automation to the entire software development life cycle. This gap is closing across the lifecycle -- from process workflows, through rigorous use-case-driven requirements to well formed re-useable services and architecture.
- An increasing acceptance and sophistication of the Unified Modeling Language (UML) standard -- evidence of which is found in the rapid growth of reference models in Model Driven Architecture (MDA), the recent merging of UML and Business Process Modeling Notation (BPMN) by the Object Management Group (OMG), and increasing popularity of next-generation UML tools.
and most significantly:
- A shift towards more collaborative, role-based teamwork and away from the "lone wolf" IT culture of code-and-fix.
Millar said while there is widespread awareness of each of these changes on its own, industry leaders are just beginning to realize what happens when all three trends are combined within a team to produce changes in culture, process, and toolsets.