A Disciplined Approach To Healthy Software
Experts offer up advice for making life-cycle management work
By Jennifer deJong
June 1, 2007 —
(Page 1 of 6)
Watch out for trouble around handoffs. Apply agile ideas. Run your shop like a business. Dont expect to change everything overnight.
Thats a high-level summary of the advice offered by analysts, consultants and tool makers when asked how best to manage large application development efforts, where dozens of team members work across disparate locations.
Application life-cycle management has never been easy, or automatic, said Upside Research analyst David Kelly. It takes discipline and effort to put a strong ALM process in place, and the drive toward distributed development simply increases the challenge.
To help development managers achieve that discipline, SD Times asked more than 15 experts to weigh in with best practices for seven stages of the application life cycle: requirements, architecture, code, build, test, deploy and maintain.
Some key themes emerged from their responses. First, while each stage of the life cycle focuses on a single activity, it is critical to define each stage in terms of its relationship to the other stages, the experts said. This idea is fundamental to the definition of ALM itself, said Forrester analyst Carey Schwaber. ALM is any best practice that connects those stages. The management of the application life cycle is about making sure the stages are in correspondence, she said.
Dont think of them as separate stages, but focus on the coordination [among them], added CollabNet CEO Bill Portelli. Each stakeholder is involved in every stage, but the nature of their concerns differs, he said.
ALM IS AGILE
ALM isnt about building software in one long sequential cycle, where one stage is completed before the next begins, the experts said. Ideas from agile programming, such as writing software in short stints, are central to ALM best practices, even for development teams that have not adopted officially agile methods such as Extreme Programming or Scrum.
The serial way of working has been shown to be ineffective, noted IBM practice leader for agile development Scott Ambler. A better approach is to do a little of each thing every single day: some analysis, some design, some coding, some testing and so forth, he said.
Share this link: http://sdt.bz/30704
Most Read Latest News Blog Resources
Virtualization: Not just for machines anymore
Network virtualization allows multi-tiered applications to behave as though they were in a physical network
|
|
Alan Turing’s centennial provides a retrospective on his influence
Turing Award winners will gather in June to review his impact on technology
|
|
Achievements and learning: Gamification comes to businesses and schools
Startup takes page from gamers by offering achievement marks to get developers more engaged in their projects
|
|
Magic announces the release of its revolutionary mobile offering for the development of business applications, with new native clients for iOS and Android platforms
Magic announced today the availability of native iOS and Android clients for its mobile enterprise application platform
|
Alan Turing’s centennial provides a retrospective on his influence
Turing Award winners will gather in June to review his impact on technology
|
|
Virtualization: Not just for machines anymore
Network virtualization allows multi-tiered applications to behave as though they were in a physical network
|
|
Achievements and learning: Gamification comes to businesses and schools
Startup takes page from gamers by offering achievement marks to get developers more engaged in their projects
|
|
Google talks tools at AnDevCon III
New 3D debugging tool and recent ADK changes are detailed by Google developers at the third Android Developer Conference
|
Why we leave
Ten reasons good workers leave their jobs, plus a few suggestions for retaining them.
|
|
Creation
To write better software, cultivate your ability to be creative.
|
|
Slick...but who needs it?
compilr.com is a well-designed site and the folks behind it seem to have their heart in the right place. But...who needs it?
|
|
How to be a better software developer
Want to be a better developer? You won't get there by mastering an interesting language or learning a new set of APIs.
|
Ten Advantages of Platform-as-a-Service
Are you looking to accelerate innovation and reduce cost, risk and complexity as you move to the cloud? Hey, who isn't? It’s time to look at...
|
|
Five SCM Best Practices
Two-thirds of all software projects fail, according to the Standish Group’s CHAOS study. Improper usage of software configuration management...
|
|
|
Best Practices for Branching and Merging Patterns
Development teams often create a branching pattern, usually drawn out on a white board or in a Visio document, that is used as a model to...
|
|
The End of Application Redeploys
Imagine that every time you wanted to write, send or receive an email, you needed to restart your computer. How much time would this take, a...
|