. Updated Daily. Editions SDA India   SDA Indonesia
BUSINESS ENTERPRISE SOLUTIONS ARCHITECTURE INFORMATION SECURITY WIRELESS & MOBILITY DATA & STORAGE DEVELOPMENT HARDWARE













Online Articles

 

The Need for Application Lifecycle Management Has Never Been Greater!


By Dilip Mistry

 

The geographically dispersed nature of Asian software development means that collaboration and integration tools are vitally important. This is why where ALM tools come into play—making software easy to use and accessible to a wider pool of people, by reducing the complexity and taking the mystery out of delivering large projects.

 

Overview

 

A September 2005 report by The Butler Group made the point that a cultural divide exists between the business and IT resulting in software development projects that continue to have a poor track record, especially the larger and more complex they become. I agree with The Butler Group’s assertion. I believe the biggest challenge is that IT organisations are siloed internally, with poor hand-offs between developers and inconsistent approaches to core project life cycle phases and roles (architects, project managers, developers and testers, for instance).


The Software Development industry in Asia has the opportunity to create global ALM best practices in terms of predictability and delivering software on-time and on-budget. Asia has the fastest growing developer population in the world, undertaking more large and complex projects for both on-shore and offshore organisations. Whether it be software development teams in the Philippines or India, the geographically dispersed nature of Asian software development means that collaboration and integration tools are vitally important.


This means that cohesive information about development team progress, management and quality remain largely inaccessible to both IT and the business. At a time of increasing cost, competitive pressure and greater complexity for business requirements, most businesses require intuitive, accessible, integrated ALM products. Most companies have highly constrained resources and supplement internal IT with outsourcers which further drives the need for better prioritisation and metrics for measuring IT success.


It is vital for all businesses to be able to react quickly to business and requirements changes. Yet many organisations have minimal change management in place. In highly dynamic markets (such as financial services or telecom) and areas with intense merger and acquisition activity (such as banking or insurance), companies must react rapidly and appropriately or lose revenue and competitive edge.


This is why where Application Life-Cycle Management (ALM) tools come into play—making software easy to use and accessible to a wider pool of people, by reducing the complexity and taking the mystery out of delivering large projects.The Butler Group report makes the point that the need for this highly-integrated ALM development framework has never been greater, including:


  • The low success rate of medium to large software development projects highlights the need for business to adopt an ALM approach to help control projects and ensure business needs are met
  • The scope of ALM embraces all types of applications in the organisation: custom, Commercial Off The Shelf (COTS), integration, outsourced, subscription, legacy, and enhancements
  • Management functionality in ALM aligns with quality processes and thereby helps achieve greater project success rates

Functionality in ALM improves team productivity, ability to deliver applications rapidly, improve quality, reduce risk, and align IT with business needs. Today, ALM has evolved towards higher business level abstractions, making IT visible as a business unit to corporate management, and helping to bridge the cultural gap between business and IT.


However, note that ALM tools can be misused if implemented as a defence mechanism against the difficult issues in software development. Also, lack of adoption results in wasted investment and worse productivity than before its introduction.


Therefore, ALM tools need to be combined with appropriate project management and development methodologies. Industry polarisation around key development platforms, Eclipse and Microsoft Visual Studio.NET, benefits the development community by lowering costs and providing tool interoperability that gives ALM tool investment increased longevity.


Integrated and intuitive ALM is a critical success factor in driving business success through effective software development and implementation. So software developers and designers must start with a thorough understanding of the Application Life-Cycle pain points. This is especially critical in the ‘life cycle’ area of testing and quality, where the greatest opportunity exists to cut costs and drive IT/business responsiveness.

 

Understanding the Phases: Creating Cohesive Life-Cycle Management to Facilitate Development

 

Before considering emerging solutions for integrated, intuitive ALM, let us define and understand the five key life cycle phases:

  • Process and project management
  • Relevant, current business requirements
  • Modelling
  • Testing and quality
  • Software change and configuration management

Each life cycle phase brings benefits individually that are more potent when effectively integrated and coordinated with one another. However, these phases and tools must be associated with ALM processes that map to the culture of the IT organisation and business as well. Best practices that facilitate rigour and adoption of ALM tools and that resonate with existing corporate and IT culture are key to success.


These practices—coupled with strong project management for task scheduling and resource allocation—create a strong basis for effective software development because they provide a framework for appropriate usage and a template for behaviour change. Even with the best technology in the world, organisations will not succeed if they do not use the tools optimally.


Phase 1, Effective process and project management helps drive better communication across groups. For instance, Phase 2: relevant, current business requirements drive project success. Industry research indicates that 70-80% of project failures result directly from poor requirements gathering, management, and analysis. Here, again, process plays a role. Irregular communication between business users and technical staff will lead to requirements that are obsolete before the project begins.


Enabling users to communicate with developers by using familiar business tools and facilitating feedback loops between business and IT are key elements to improving the quality and currency of requirements. Those requirements can then help to drive modelling. For more rigorous requirements needs, supplementary higher-end tools provide traceability and strong management.


Appropriate Phase 3 - modelling enables organisations to create applications that reflect business needs and architectural and system demands. Iterative process approaches enable on-going interaction between business users, designers and those implementing code. In this way, code content is likelier to reflect current business demands.


Designers themselves have varying roles. For instance, a disconnect between architects and operations will have a negative impact, leading to increased costs for software deployment. These issues should be addressed upfront through greater visibility into deployment and infrastructure challenges via communication between architects, designers and operational staff. Enabling comprehensive design tools that facilitate cross-group and cross-lifecycle visibility are critical in such situations. For developers, facilitating the development process through close coordination between the IDE of choice and life cycle management is also important, including testing and software change and configuration management and version control.


Phase 4 – Testing and Quality will help to find bugs earlier in the life-time of an application. Industry research indicates that software problems found late in the application life-cycle increase costs from 10 to as much as 100 times the cost of finding and fixing the defect during initial unit tests. Therefore, enabling early, frequent testing via iterative unit test support is the first step. This means the quality of code produced for later phases at system and system integration test and beyond with user acceptance and deployment will be of higher quality. Because of the importance of this point, I will expand on the testing phase later in this article.


Phase 5 - Software change, configuration management and version control are key elements in managing code creation effectively. Reporting on IT responsiveness to change request provides a quantitative metric to feed analysis and executive understanding about the effectiveness of IT resources (whether the resources are internal, off-shored and/or outsourced domestically).


Overall, each of these phases individually must be well established. However, the coordination of these phases with effective automated tools that are closely integrated and that are deployed using appropriate process and project management will yield significant benefits to the business. These benefits include adaptive, flexible responses to competitive pressures and decreased costs for code creation, quality and management into the deployment phase. Since the human barriers to ALM evolution tend to be most challenging, facilitating adoption via accessible, intuitive products and resonant processes and project management are vital elements to success.

 

Changing Approaches to ALM

 

Initially, niche Application Life-Cycle products for requirements, modelling, SCM, or testing, were devoid of integration to other life cycle tools (and phases) as well as the integrated development environment (IDE) used by developers to create code. This market has been consolidating since 2000.


Analyst firm IDC expects the ALM market to to reach .69 billion in 2007, with a compound annual growth rate (CAGR) of 7.4% from 2002 through 2007. Larger vendors have purchased smaller best of breed players, leading to the integration of development environments with traditional Application Life-Cycle management tools into integrated suites.


The most recent evolution of these suites to encompass IT portfolio management presages what we expect will be dominant across the market. That said, integration challenges within and across the suite as vendors have acquired disparate point products, high price points, and product complexity have constrained the widespread use of ALM suites.


For example, Team Foundation Server in Microsoft Visual Studio Team System provides an integrated set of tools for software development and collaboration, incorporating process management, work item tracking, source code control, build automation, testing and team controls with centralised reporting. Views into the development work are driven by the roles of those within the development process (architect, developer, and tester). Furtherm all work items are located in a single database to enable closer coordination. Since all the tools are built-in, you need not leave the development environment to update status, provide bug fixes, and such, making the software development process more productive.

 

Leveraging the Role of Testing and Quality Across the Lifecycle to Cut Costs and Drive IT/Business Responsiveness

 

Analyst firm Gartner predicts that by 2009, 50% of large companies will have attempted to converge governance and rigorous processes for IT change management across application development and IT operations. Gartner also expects that development of innovative software to deliver this re-engineering will be critical—with ALM central in this convergence.

As mentioned earlier, it is expensive to fix code at production or pre-production stage. Therefore, it is recommended to introduce testing capabilities in ways that will be more easily adopted by developers and enable an effective transition to quality assurance and quality control professionals (where they exist as part of corporate strategy).


More consistent and frequent iterative unit testing upfront, for instance, results in much better quality code at later development phases (such as system test and system integration testing down the road). This means that testing professionals spend less time running buggy code through its paces, and it is less likely for code defects and inefficiencies to make it through to production.

 

Targeting Professional Testers: Going to the Next Level

 

The benefits of providing testing capabilities that target testing professionals and provide a smooth transition from development include:


  • Better communication across groups
  • Ease of coordination when making the transition with regards to code hand-off and improved quality
  • Visibility into and possible re-use of testing artefacts

Typically, organisations with more mature approaches to testing have separate Quality Assurance (QA) and Quality Control (QC) functions. Best practice companies often establish testing organisations that are separate and entirely distinct from the development organisation. However, they must work closely with one another to transition the code from more iterative, modular code to the “system” that makes up the software entity.

 

Asia Can Deliver ALM Global Best Practice

 

Gartner put it best when they recently said “application development is undergoing a massive sea change… These days, technical expertise is no longer the primary success factor: collaboration, accountability, compliance, portfolio and resources management are becoming key capabilities of the new Application Development Team.”


As I talk with Asian developers about the projects they are undertaking, it is clear that projects continue to get larger and more complex—with key business decision-makers often located in different parts of the world. The Asian software development community has a wonderful opportunity to take ALM collaboration to a new level. Only by using integrated ALM tools that involve key business decision makers and help testing and quality to be tracked and measured—across the developers, testers and architects—can we start to expect SD projects that finally over-perform against expectations.




Dilip Mistry is the newly appointed Lead for Microsoft Developer and Platform Team for Microsoft Asia Pacific. Prior to this role Dilip was Director of Microsoft Venture Capital Relations and Emerging Business start up engagement for Europe Middle East and Africa where he drove Microsoft strategy to engage with high potential technology start ups as well as private and public technology investors.

 
print save email comment

print

save

email

comment

 
 

Search SDA Asia

Free eNewsletter

SDA Asia Magazine Free Download
 
 
 
Copyright @ 2009 SDA Asia Magazine - All Right Reserved Privacy Policy | Terms of Use