Welcome Guest!
Create Account | Login
Locator+ Code:

Search:
FTPOnline Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

Click here to receive your FREE subscription to Visual Studio Magazine

email article
printer friendly
more resources

Microsoft Commits to ALM
You might be focused on code today, but get ready for the coming shift to application lifecycle management. The tools are evolving already and will affect your job.
by Don Kiely

Enterprise Application Lifecycle Management 2003

Microsoft's lifecycle tool development has been a long time coming, but that should be no surprise. Software development has long been a seat-of-the-pants activity, following the idiosyncrasies of developers who were focused on the coding itself. The developers made up processes on an ad hoc basis as they went along. Tool vendors followed suit by focusing on coding tools. Development of tools and techniques for managing the overall process has been far more random.

ADVERTISEMENT

However, as organizations struggle with reduced budgets and increased demands for quality applications, many IT teams are starting to take a holistic approach to managing the process—without squashing innovation. This has given rise to application lifecycle management (ALM), which marshals the tools and techniques used to develop software from first conception of an idea to deployment and lifetime maintenance.

Microsoft typifies this evolution. It has nudged its way into the enterprise application tools space over the last several years, taking two approaches to providing lifecycle management tools. It's providing its own tools for much of the application lifecycle, centered on the Visual Studio .NET suite of development languages. It helps provide what's missing by including hooks throughout VS.NET to let third-party and custom tools integrate with the development environment. Microsoft also works closely with third-party vendors to help implement both competitive and complementary ALM tools.

Application lifecycle management is one of those terms that takes the software industry by storm every few years (remember the Year of the LAN?). Suddenly every big vendor is rolling out a framework to explain how its products provide a complete ALM solution. But it all boils down to the logical steps any software-producing organization must take to conceive, create, and deploy robust, capable applications (see the sidebar, "Set Goals for Managing the Application Lifecycle").

ALM still leaves wiggle room for the needs of particular organizations. Every organization seems to define the software lifecycle a little differently, using different terms, but ALM generally consists of about six groups of tasks: architecture, development, testing, deployment, maintenance, and management (see Figure 1).

None of this mandates the process used to implement all these tasks. The industry has seen sophisticated attempts at defining useful processes, such as the Rational Unified Process from IBM's Rational unit. However, each organization must adopt its processes to fit its own personality and the kinds of applications it develops.

ALM begins with architecture: This comprises everything that goes into conceiving and designing the application, including developing requirements and defining the infrastructure necessary to run it upon deployment. This planning stage typically produces complex, detailed system documentation used during later stages, including data, component, and business process modeling. You can subdivide architecture into various other groups, such as planning, analysis, and design. New philosophies such as Extreme and Agile Programming are causing organizations to rethink this heavy, up-front design step, but have yet to make much headway into most organizations.

Back to top













Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTPOnline Home