five imperatives for effective application lifecycle...

20
IBM Software Thought Leadership White Paper December 2011 Five imperatives for effective Application Lifecycle Management By Carolyn Pampino, Program Director for Strategic Offerings Focused on IT Software Delivery, IBM

Upload: others

Post on 05-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

IBM Software

Thought Leadership White Paper

December 2011

Five imperatives for effectiveApplication Lifecycle ManagementBy Carolyn Pampino, Program Director for Strategic Offerings Focused onIT Software Delivery, IBM

Page 2: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

2 Five imperatives for effective Application Lifecycle Management

Executive summaryInnovation is the key to announcing the next great softwareproduct, service or offering ahead of your competition. But,where should your organization focus its efforts to achieve inno-vation? And how can you do so when faced with the high costsof owning, integrating and administering distributed softwareand systems development environments?

Organizations can improve the quality of their applications andreduce the time to get them to market while also reducing riskand cost by:

● Integrating software, systems and tools throughout the application lifecycle

● Unifying global development teams, roles and platforms topromote collaboration

● Using better measurement and traceability to optimize results

A comprehensive Application Lifecycle Management (ALM)approach to software development can help your organizationcreate an effective and efficient software delivery system thatovercomes the challenges of isolated development teams andmultiple infrastructures and processes. It can also help yourdevelopment organization attract new talent and share skills and knowledge.

ALM coordinates people, processes and tools in an integratedlifecycle of repeatable and predictable software developmentactivities. For ALM to be effective, it is important to adapt itsprinciples to each unique situation. There are some guidingprinciples that all organizations can follow that can help thempractice more effective software development. After more than

20 years of implementing ALM, IBM professionals have defined five imperatives that can help ensure an effective ALMimplementation.

This paper explains the five imperatives and provides practicaltips for applying them.

Software development today: A dynamically evolving systemFor most software projects these days, 70 percent of the budgetis locked in maintenance, 37 percent of projects go over budgetand 30 percent of project costs are due to rework and poor exe-cution of requirements.1 60 percent of projects fail to meet theintended schedule. And at the same time that developmentteams are trying to determine how to reduce these numbers significantly, they are being asked to get high-quality products tomarket faster and respond better to changing demand—all whilestaying on time and on budget. In addition, business prioritiesare not always aligned with software capabilities that are distributed over multiple tools, repositories and teams.

The reality is that managing the extended software supplychain—including an increasing number of stakeholders—can sti-fle innovative application development, even when agile method-ologies are used. For example, the amount of companies that haveagile projects that need integrating with existing systems is 62 percent.2 Globally distributed development teams made up ofremote employees, outsourced or offshore suppliers and subcon-tractors are dramatically affecting software delivery and agileproject integration.

Page 3: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

3IBM Software

In product development, complexities lie in linking softwarecomponents to their intended systems. Burgeoning require-ments, security needs, islands of developers who struggle withcollaboration possibly because of time zone and geographicaldifferences, and compliance mandates are what are most likelykeeping your IT and product management teams up at night.

In addition, disconnected processes, multiplatforms, open sourceprojects, in-house tools, private vocabulary, formats and stores,ad hoc processes that compromise security and manual administrative tasks can slow down a development project.Documentation, metrics collection, progress reporting, auditpreparation, regression testing, change propagation and morecan affect productivity, mostly at the individual practitioner level.Companies are struggling with questions of how best to inte-grate the development lifecycle, promote collaboration betweenstakeholders and steer their organization toward software innovation that creates better financial results.

Despite these challenges, over the last few years, custom applica-tion development has become more important to businesses.Custom software has become a strategic asset for many organi-zations. Recent studies show that companies are rewarded whenthey invest in the development of innovative software withincreased efficiency and customer interest. In addition, the convergence of physical devices and IT opens up the possibilityfor all types of integrated systems. These systems deliver expo-nential value to consumers and the public. Some examples arethe smart electric grid, traffic management systems, healthcaremanagement systems, Android applications and Google Maps.Successful businesses are those that use software to design,deliver and manage smarter products and services that driveinnovation and competitive differentiation.

So how should companies address these issues? How do theymeasure the value and risk of a dynamically evolving system?How do they manage software investments and foster collabora-tion between a complex array of partners and suppliers? Andhow do they decide to go forward with their next project orinvestment? The challenges can be frustrating, especially whencompanies see marketplace opportunities they know they couldexploit if only their software and systems teams were ready.

Effective software delivery and processes can help your organiza-tion address these challenges and achieve a sustainable competi-tive advantage. To build and maintain an effective softwaredelivery system, your organization should consider:

● Continuously collecting and analyzing data to find easy andinexpensive ways to build in new functionality and flexibility

● Unifying teams to coordinate development and delivery● Using new deployment models, such as cloud computing, to

improve system utilization and optimize infrastructure● Using a complete and effective ALM solution that can provide

full lifecycle traceability to help manage risk

What is effective ALM?ALM coordinates the flow of people, processes and informationin an iterative cycle of software delivery activities. This coordina-tion is made possible by applying business management capabilities to the lifecycle of application development, such as:

● Planning and change management● Requirements definition management● Architecture management● Software configuration management● Build and deployment management● Quality management

Page 4: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

4 Five imperatives for effective Application Lifecycle Management

The fundamental features of an ALM solution include automa-tion, lifecycle traceability, process definition enactment andreporting.

When implemented effectively and with an open, standards-based, collaborative platform for consistent processes, standardsand measures, ALM:

● Actively engages teams throughout the entire lifecycle to collaborate in the context of their work

● More tightly aligns business and IT through increased collaboration

● Provides a more flexible platform for sharing skills throughoutyour software development projects to improve your knowledge base

● Unifies your software development infrastructure so that itrequires little to no custom integration, which helps lower theoverall costs of software delivery

● Addresses changing project demands with real-time team andwork planning, real-time dashboards that track progress andreports that provide team trends

● Promotes better estimation, better work-item tracking andbetter reporting with a single view of the project

● Helps ensure the final product meets or exceeds customer and quality of service demands with capabilities for improving quality

● Manages application security as an integral part of the softwaredevelopment process—from design, build and testing todeployment and beyond

● Introduces lifecycle traceability to help meet regulatory compliance requirements and to help reduce risks

● Shortens development cycles and helps improve productivitywith reusable practices and continuous process improvement

In short, effective ALM can help your company address yourcurrent business requirements, enhance productivity withautomation and accelerate decision-making. The key word hereis “effective.” ALM is not a one-size-fits-all type of solution;instead, to be effective, ALM should be implemented in a waythat best suits your development environment and your com-pany’s business goals. However, IBM has developed five imperatives for effective ALM that have broad appeal:

● Maximize product value with in-context collaboration.● Accelerate time to delivery with real-time planning.● Improve quality with lifecycle traceability.● Refine predictability with development intelligence.● Reduce costs by practicing continuous improvement.

Maximizing product value with in-contextcollaborationIn-context collaboration, or team collaboration that puts knowledge in the context of your project, can increase the valueof your software in the eyes of stakeholders. When all teammembers can access information as it pertains to their work and teams are able to collaborate on and review software

Page 5: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

5IBM Software

development artifacts, a collective intelligence emerges. Becausestakeholder feedback is part of the process, it is possible to drivea single vision of what the stakeholders value most.

In-context collaboration maximizes product value by:

● Making product information immediately accessible to allteam members as it applies to their work.

● Facilitating team reviews so feedback is incorporated early and often.

● Providing a single source of truth for team members to collaborate effectively around the globe.

With in-context collaboration, teams can conduct reviews,request approvals, preview links and have threaded discussionsdirectly about an artifact or an element inside the artifact.Providing a single source of truth hosted in a shared repositoryenables team members to collaborate whether they are in thesame location or distributed over organizations or time zones.Table 1 shows the actions we recommend you take for in-context collaboration, along with actions to avoid.

Recommended actions Actions to avoid

● Use a system where information is immediately accessible to all team members right ● Avoid relying on emails, chat programs, disconnected

in the context of the work. spreadsheets and “word of mouth” as your ● Integrate all discussions about work items into the plan so your ALM environment collaboration tools.

becomes an essential “single source of truth” for understanding the past, which

speeds up the process of developing product enhancements in the future.● Unify your team by making sure they can share linked data. Hovering a mouse over a

link should provide information about the artifact at the other end of the link.

● Use online reviews, approvals and threaded discussions to elicit and respond to ● Avoid ignoring stakeholders or assuming you know

stakeholder feedback early and often. what they want.

Table 1: Recommended actions and actions to avoid for in-context collaboration.

Page 6: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

6 Five imperatives for effective Application Lifecycle Management

Figure 1 shows an example of online reviews and approvals.

Accelerating time to delivery with real-time planningOne of the main purposes of planning is to ensure that everyonewill know when the project is complete. The only truly effectiveway that a plan can fulfill that purpose is for it to be integrated

with project execution and kept up to date. Plans that integratewith team execution help teams respond to the unexpected in atimely manner and avoid costly disruptions and delays.Therefore, it is important to plan and track all of the workrelated to a project—in real-time—for all disciplines and teammembers.

Figure 1: Conducting online reviews and approvals elicits stakeholder feedback early and often

Page 7: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

7IBM Software

Real-time planning accelerates time to delivery by:

● Providing a single plan that spans requirements, development,design and test efforts.

● Integrating planning with execution to ensure that the entireteam understands the project status.

● Enabling broader participation in accurate planning.● Providing teams with the real-time data needed to respond to

the unexpected.

Real-time planning is more than just planning. It is a constantlyevolving activity, where collaboration and traceability featureshelp development teams respond to the changing events in aproject. Individual team members can access information aboutprojects such as work in progress, changes that have beenrequested by others and the current build status. Table 2 listsrecommendations for accelerating time to delivery with real-time planning, along with activities to avoid.

Recommended actions Actions to avoid

Choose planning solutions that track the work of the entire team, populate

development and test plans from requirements and link individual requirements,

development work items and test cases.

Use plans that track all tasks for all disciplines in the lifecycle—from multiple per-

spectives. Having plans with multiple views of the same data, such as ranked lists,

work breakdown, roadmap or task board views, ensures that you can assess and

balance the work of all team members to optimize time to delivery.

Use plans that are fully integrated with execution.

Make sure all plans are visible and accessible to everyone on your project team.

To keep plans accurate, make sure you can update the time spent directly on the

task. Team members can see the effect changes have on delivery dates and can

balance the workload to prevent critical paths or bottlenecks for delivery.

To encourage full participation by the team, use plans with information at your

fingertips and a user interface that makes it simple to update plan information in the

context of the work.

Avoid creating an environment where requirements,

designs and development and test plans are

disconnected and managed separately or not at all.

Avoid having plans that are not inside your ALM

environment and are separate from team activities

and assignments.

Avoid relying on manual updates because they can

create errors.

● Practice continuous planning with real-time plans, lifecycle queries and project

dashboards so you can quickly respond to changing events or team changes.

● Avoid creating a plan at the start of a project and then

not using it again.

Table 2: Recommended actions and actions to avoid for integrated planning

Page 8: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

8 Five imperatives for effective Application Lifecycle Management

Figure 2 shows how updating the time spent on a work item keeps plans accurate

Figure 2: Updating the time spent on a task

Page 9: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

9IBM Software

Improving quality with lifecycletraceabilitySoftware development requires the efforts of many team mem-bers who are dependent upon each other’s work and these effortscreate a number of related byproducts, usually referred to asartifacts. Understanding these artifact relationships and how totake advantage of them is essential in practicing effective ALM.Lifecycle traceability helps your team answer the difficult andmore interesting questions about project status by creating asso-ciations between related artifacts, such as requirements, planitems, source code, test assets and builds.

Lifecycle traceability helps improve quality by:

● Establishing meaningful relationships between software artifacts

● Identifying and closing software development gaps for all disciplines

● Providing access to related artifacts so teams can make moreinformed decisions

● Providing a clear view of completeness from requirements torelease

With lifecycle traceability, project managers can ensure thedevelopment team is meeting the needs of the business, that alldisciplines are covered and that there are no gaps in testing. Inaddition, traceability links make it possible to see the complete-ness of planned items based on their relationship to other artifacts. You can identify which plan items have test cases thathave failed or test cases that have not been run. For example, adefect link to the test result, test case, test plan, plan item andrequirement is automatically generated when a tester submits adefect. Knowing which plan items and requirements are affectedby defects helps team leads understand their overall effects onthe project. This and other features of lifecycle traceability helpthe team determine where to focus their efforts to drive towardcompletion.

Lifecycle traceability provides the transparency that enableseveryone to make more informed decisions based on businesspriorities. Quality improves because team members have easyaccess to the artifacts that they depend on, and everyone sharesthe same view regardless of their role. Moreover, if you areworking in a regulated environment, traceability helps youdetermine the changes that went into a build and the results of those changes. Table 3 lists recommendations of what you can do to help provide artifact traceability, along with actions to avoid.

Page 10: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

10 Five imperatives for effective Application Lifecycle Management

Table 3: Recommended actions and actions to avoid for lifecycle traceability

Recommended actions Actions to avoid

Use a solution that makes it easy to establish and maintain traceability links with a

simple, unified user interface so no one has to switch to another tool just to link two

artifacts.

Identify a few meaningful questions that you want to be able to answer and create a

linking strategy accordingly. Try one and make sure you become competent at it

before trying the next one.

Use a system that provides queries, reports and views that make it possible to

assess completeness and make fully informed decisions based on artifact

relationships. You should also be able to see the traceability links directly in the plan.

Examples of queries that identify gaps include “plan items without requirements”

and “plan items without test cases.” Queries that help you assess completeness

include “Plan items with failing tests,” “defects blocking test” and “requirements with

open defects.”

Invest in a solution that includes traceability for compliance—traceability that is easy

to maintain and report about.

Avoid solutions with complex user interfaces that

discourage users from linking related artifacts.

Avoid the temptation to overdo traceability links, or

doing traceability for “traceability sake.”

Avoid running reports that quickly become outdated

and traceability solutions that don’t provide insight into

project completeness.

Avoid solutions that do not take compliance and other

regulatory requirements and audits into account.

Integrate your cross-functional teams by choosing a solution with open services for

linking data for the entire lifecycle.

Choose a solution that features open interfaces with open services (OSLC) for

linking data over the lifecycle.

Select a product vendor that understands and supports the ALM integration

challenges.

Invest in tools with a longer-term integration roadmap in mind because they make it

easier to establish links and traceability as your project executes.

Choose a solution that can scale and can support open and flexible integrations so

it can fit your needs over time. Times change; new products emerge and your ALM

solution should move with the times.

Avoid using disconnected project databases, building

your own integration based on proprietary APIs and try-

ing to combine unrelated sets of tools.

Avoid solutions that don’t provide open interfaces for

creating linked data.

Avoid entering links manually after the fact because

some can be easy to forget and the process is difficult

to enforce.

Avoid choosing a single ALM repository with proprietary

integrations.

Page 11: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

11IBM Software

Figure 3: The traceability view in a plan that covers development, requirements and test teams

Figure 3 shows how a built-in traceability view works. In theexample, you can see a traceability view in a release plan withlinks to requirements and test cases and a place for identifyingdefects that are affecting part of the plan. As you can see, anintegrated plan with a built-in traceability view not only revealsobvious gaps but also helps you address them throughout yourproject, in real-time.

Refining predictability with developmentintelligenceAccording to Caper Jones, a software productivity authority,“Measurement of software projects, and especially key indicatorsaffecting quality and risk, are vital to major corporations.”3

Development intelligence helps you establish the metrics neededfor a successful software project. Teams can track their progress, diagnose problems, identify bottlenecks and determinecorrective actions.

Page 12: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

12 Five imperatives for effective Application Lifecycle Management

Development intelligence refines predictability by:

● Applying business intelligence techniques to development● Enabling fact-based decision-making about status, progress,

problems and corrective actions● Steering projects and programs continuously so delivery is

on time

With development intelligence infused in a project, your teams,business users and customers can access a repository and projectdashboards directly. There is little or no need for custom management reports. Ready-to-use dashboard widgets can beapplied to any project and dashboards can easily be customizedto steer team activity. Table 4 lists recommended actions fordevelopment intelligence and actions to avoid.

Recommended actions Actions to avoid

● Identify performance measurements that are appropriate for your ● Avoid trying to apply performance measures from other organizations

organization. or from external sources to your projects.

● Make fact-based decisions by relying on automatically generated live ● Avoid relying on manually collected data, such as asking the team for

dashboards and reports that are based on data coming from team

activity.

status updates or keeping spreadsheets on your hard drive.

● When defining a measurement, start small. Identify a weak spot, ● Avoid trying to define all measurements for a project at the same time.

decide and choose on a practice for improvement and determine how

you will measure the improvement. Use a tool that collects information

about your team’s activity to steer the team toward the improvement

you seek.

Table 4: Recommended actions and actions to avoid for development intelligence

Page 13: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

13IBM Software

Figure 4 shows reports for a development team in a projectdashboard. As work items are updated, the reports reflect theactivity and trends of the team. Team leads monitor the trendsand make corrective action when needed.

Figure 4: A dashboard with reports and metrics to measure improvement

Reducing costs by practicing continuousimprovementContinuous improvement involves not only process improve-ment, but also solution customization to ensure that you are pro-viding the right data to guide a team. Using best practiceslearned from industry experience to help teams succeed, teamsthat practice continuous improvement are involved in ongoingefforts to optimize their performance.

Page 14: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

14 Five imperatives for effective Application Lifecycle Management

Continuous improvement reduces costs by:

● Providing best practices that can be reused to virtually elimi-nate rework and coding errors, which cost time and resources.

● Helping your teams establish a working rhythm that cutsdown on unexpected problems that can become costly.

● Providing visibility of the results of process improvement soteams are encouraged to keep improving.

● Promoting incremental improvement that drives your team tofocus on what can be improved right now.

● Creating shorter development cycles and improving productivity, both of which can have positive effects on thebottom line.

The key to successful continuous improvement is a solution thatsupports incremental improvement as the team works and facilitates breakthrough improvements with automation and byreusing best practices. In addition to being easy to customize forincremental improvement, the solution should provide processspecifications that define work item types, state transitions andthe rules that govern how to use them. These specificationsmake it possible for teams to modify the process to suit theirneeds—even as they are working in the process. Table 5 includesthe actions we recommend for continuous improvement andthose to avoid.

Recommended actions Actions to avoid

Realize that continuous improvement can help your team adopt best practices to

establish a rhythm and reduce unexpected problems.

Promote incremental improvement by continuously customizing plans and

dashboards to drive the team’s focus given the current status of the project.

Use an approach that can improve upon where you are now.

Promote breakthrough improvement by capturing best practices in the form of

process specifications, templates and automation that many teams can reuse

directly in the same tool.

Encourage all team members to participate by choosing a system that makes

continuous improvement easy and something that can be done in a tool that

everyone shares.

Make the results of process improvements visible in dashboards when you define

process improvements.

Understand that there is always room for improvement.

To that end, review improvements continuously and

identify the next set of improvements.

Avoid the temptation of an “all-at-once” approach to

improvement.

Avoid trying to define too much of an entire

process at a time.

Avoid defining a process once and relegating it to a

hard drive, never to be seen again.

Avoid instituting “process police.”

Avoid defining process improvements without end result

visibility.

● Understand that there is always room for improvement. To that end, review

improvements continuously and identify the next set of improvements.

● Avoid the expectation that you must get everything right

the first time.

Table 5: Recommended actions and actions to avoid in continuous improvement

Page 15: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

15IBM Software

Deciding which ALM solution is right for youThe previous sections explain the five imperatives of an effectiveALM solution. But, how do you know which ALM solutionaddresses them? Or, even more important, how does it addressthem in the context of your needs? You can find a solution thatboth addresses the five imperatives and suits your requirementsby asking the right questions, choosing a trusted vendor or both.

Asking the right questionsOne answer is to approach each solution that you are considering with the recommended actions for each of the fiveimperatives in mind. Use the tables in this paper as a guide for

examining each solution, looking at each action and checkingwhether the solution can help you take that action. For example,for real-time planning, ask the vendor how deep into a projectthe planning functionality integrates and ask them to demon-strate how you can make instant changes to the plan. For development intelligence, ask to see dashboards in action andfind out how flexible they are. For continuous improvement,look for a vendor that recognizes that continuous improvementis not something that you do once and forget about, but insteadis something that should be integrated into every part of thedevelopment process. Table 6 shows questions you can ask foreach of the five imperatives.

Real-time planning

Can this solution help us:

Lifecycle traceability

In-context collaboration

Development intelligence

Continuous improvement

With this solution,can we:

Can this solution provide us with:

Can this solution helpus to:

Can this solutionenable us to:

Plan for the entire team,

including developers,

architects, business analysts

and testers?

Plan for waterfall, iterative

and agile environments?

Integrate planning with

execution?

Instantly see the impact of a

change in project scope or

resources?

Automate status reporting?

Create traceability links

with a simple user

interface?

Identify and fix trace-

ability gaps in context

of an integrated plan?

Use traceability rela-

tionships to make fully

informed decisions?

Use open specifica-

tions to Integrate with

third party tools?

Test all of the

requirements?

Identify all the defects

that were resolved in

this release?

Monitor all the

requirements we are

implementing?

Identify all the

bottlenecks?

Identify the changes

we need to test?

Access to the “single

source of the truth”

with linked artifacts?

What we need to grasp

the “who, what, when

and why” of team

activities?

Capabilities to bring

new team members up

to speed quickly?

The ability to overcome

the barriers of multiple

time zones when work-

ing with outsourced

and distributed team

members?

Minimize overhead

because our environ-

ment captures the right

project metrics?

Advise all stakeholders

at the right level of

detail?

Stay focused with team

members reporting at

all levels (individual,

team and project)?

Use real-time dash-

boards and reports at

all levels (individual,

team and project)?

Provide customization

and templates that all

team members can

use?

Take advantage of

process enactment,

automation and reuse

for breakthrough

improvement?

Access process

templates for traditional

and agile workflows?

Change process “on

the fly” as part of a

continuous feedback

loop?

Determine how strict or

lax the “rules of the

road” should be?

Modify process

enforcement over the

life of a project to

encourage early-stage

experimentation and

later-stage stability?

Table 6: Questions you can ask

Page 16: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

16 Five imperatives for effective Application Lifecycle Management

Choosing a trusted vendor: IBMNo one has to go it alone with an ALM solution. You can putdesigning and implementing ALM with the five imperatives intothe hands of a vendor who has been at the forefront of ALMpractices: IBM. Based on work with hundreds of customers onthousands of projects, along with IBM’s own experiences withALM, IBM has created the IBM® Rational® solution forCollaborative Lifecycle Management to address the five impera-tives for effective ALM. This solution combines IBM RationalRequirements Composer, Rational Team Concert™ andRational Quality Manager solutions in an integrated develop-ment platform that provides processes and capabilities that canhelp improve the productivity of your software developmentteam. Such processes and capabilities include automation, collaboration and a single view for all involved in the project.

IBM Rational solution for Collaborative Lifecycle Managementcan help your organization integrate, collaborate and innovate toconsistently deliver high quality applications on time. Its foundation is the IBM Jazz™ platform, an open, standards-basedplatform that helps development teams working in differentcountries and organizations using different systems and following different disciplines to collaborate more efficiently.

To help with implementation and adoption, an IBM Fast Trackpackaged services offering guides you through the completesolution in five days, you can determine the capabilities to adoptand receive a detailed deployment plan. There are also work-shops and planning sessions to help your organization thatinclude information about how to maintain the solution.

In addition to the Fast Track offering, there is anIBM agility@scale turnkey process-driven service offering for theRational solution for Collaboration Lifecycle Management. This agility@scale offering is designed to help organizationsembrace agile approaches and address scaling factors, includingteam size, global distribution, enterprise standards, technical anddomain complexity.

Getting started with ALM from IBMAn incremental approach to ALM is often the most effective.Consider identifying your most critical needs and customizingyour solution so that it meets those needs first. For example, ifyour priority is to support or move to an agile developmentmethodology so you can be more responsive to market pressureswith shorter project turnaround and more predictable deliveries,a solution that includes Rational Team Concert is an excellentoption. Rational Team Concert provides the capabilities that canhelp you achieve integrated planning, issue tracking, workflow,team collaboration and reporting. You can enact and supportagile practices with IBM service offerings that were designed toensure a successful implementation of Rational Team Concert.

If your priority it so improve customer satisfaction by developingwhat your customers really want on time, then you could startyour ALM journey with Rational Requirements Composer orRational Quality Manager, which can help you achieve inte-grated requirements definition, quality management, planningand change management. IBM service offerings for bothRational Requirements Composer and Rational QualityManager are available to help smooth your installation andimplementation.

Page 17: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

17IBM Software

Extending your ALM environmentAfter you have begun to practice effective ALM, you can extendthe environment to other aspects of software development. If themajority of the software developed in your organization is drivenby design and architecture, for example, you can extend yourALM environment with the Rational solution for CollaborativeDesign Management. With this solution, you can use the Jazzplatform and collaborate during design, including the processesof defining requirements, coding and testing.

If your organization would like to improve the efficiency andaccuracy of cross-domain tasks, the IBM Rational solution forCollaborative Development and Operations can help. One of themost common agile strategies for consistently delivering work-ing software is automation. Agile teams often make use of auto-mated testing to validate the functionality of releases that wereassembled using automated build technologies. The repeatabilityand consistency can eliminate much of the human error associ-ated with manual validation.

Deployment automation is another option. Automated deploy-ment encourages a development team to consider deployment aspart of the development process. IBM has implemented technology in IBM Rational Software Architect that can helpdevelopers define and automate the tasks for provisioning thecontent described in a deployment topology. IBM automationengines, such as Rational BuildForge® or Rational AutomationFramework for WebSphere®, can deploy an application or service to a target platform using modeled deployment information found in IBM Rational Software Architect.Automated deployment also reduces the chance of human errorand it can simplify disaster recovery if a major problem arises.

After deployment, customer feedback can be instrumental incontinuous improvement, one of the main principles of agiledevelopment. Often, IT operation teams are the recipients ofthis feedback and it does not always make it back to develop-ment, usually because there is no tool for sharing this informa-tion in place. To make it possible for development to receivecustomer feedback, IBM Tivoli® Service Request Manager, anIT operations ticketing system, can be integrated with RationalTeam Concert. IT operations staff can directly enter defect andenhancement requests directly into the software developmenttracking system so that the development team can review it andadd it to their work planning. As work progresses, the integratedsolution can notify the customer of the status.

The security to innovate with confidenceIn some organizations, not much consideration is given to secu-rity until the end of the process and that can cause unexpectedrework and delays. When application security is part of theapplication lifecycle from the start, teams can test applications as they build them to determine if there are any security vulnera-bilities. IBM has a comprehensive vision for building securityinto the software development lifecycle that includes a single,cohesive approach to security analysis and reporting.IBM Rational AppScan® provides security testing that teams canuse early in the development lifecycle to support agile deliveryand joint collaboration between the IT security team and developers. This integrated approach helps you achieve regulatory compliance, secure the modernization of existing systems and protect data. It offers vulnerability management ofcloud applications and can integrate security into the entiredevelopment lifecycle with interfaces to Rational Team Concertand Rational Quality Manager.

Page 18: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

18 Five imperatives for effective Application Lifecycle Management

ALM in the cloudWhen development, test and operations each deploy the sameapplication at different times in the software delivery lifecycle todifferent environments, the results are usually not optimal.There is little shared understanding of deployment, automationor reuse of previous successful cycles between these differentgroups and the processes are often manual, time-consuming andprone to error. In addition, physical test infrastructure is oftencostly to acquire, configure, manage and maintain, and it is likelyto be underutilized between tests.

Nowadays, when software delivery dates can make or breakcompetitive advantage, you need to be able to deploy your finished product quickly. The IBM deployment planning andautomation solution is designed to help you speed softwaredelivery while making the best use of your infrastructure investments by providing a cloud-based infrastructure for thequick development and testing of new software.

Your organization can also use this solution to plan your applica-tion deployment using discovered resources, standard configura-tion templates or both to reduce time and errors and improvecommunication of deployment requirements and the subsequentautomation of provisioning tasks. The Rational AutomationFramework is an integral part of this solution, providing applica-tion deployment automation to cloud infrastructures by meansof integration with IBM Workload Deployer and IBM ServiceDelivery Manager.

Internally, if you need to deploy an ALM solution quickly, theRational solution for Collaborative Lifecycle Management on IBM SmartCloud Enterprise can help. Because it is a pre-configured, pre-integrated image served from the cloud, noinstallation, configuration or infrastructure maintenance is necessary. Developed to support globally distributed development, IBM SmartCloud Enterprise is an agile infrastructure-as-a service designed to provide rapid access tosecurity-rich, enterprise-class virtual server environments, wellsuited for development and test activities and other dynamicworkloads.

ConclusionThe extended software supply chain—including an increasingnumber of stakeholders—is having an adverse effect on innovative application development. Development teams consistof individuals scattered all over the world, customers want thelatest applications as soon as they can get them and financeorganizations are clamoring about the high costs of softwaredevelopment. Maintenance costs are too high, projects are notdelivered on time and developers spend a significant portion oftheir time on labor-intensive manual administrative tasks.

An incremental and continuous approach to enterprise modern-ization with an open, standards-based, collaborative platformhelps organizations revitalize applications, empower people,unify teams, optimize infrastructures and reduce costs to achievedesired business outcomes.

Page 19: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

19IBM Software

ALM can help address today’s software development issues byintegrating the lifecycle activities of software development,automating time-consuming and repeatable tasks and providingtools that promote real-time collaboration between globally dispersed teams, partners and suppliers. However, because ALMis not a one-size-fits-all solution, it is important for companies toimplement ALM effectively and extend it along a path that bestmeets their unique considerations.

After many years of working with hundreds of customers onthousands of projects, IBM development and consulting teamshave identified five imperatives for effective ALM. These imper-atives—real-time planning, lifecycle traceability, in-context collaboration, development intelligence and continuousimprovement—can help ensure that your company gets the mostout of ALM. IBM professionals have also assembled the industry’s first unified ALM solution, the Rational solution forCollaborative Lifecycle Management, which provides softwareand services that can help your company infuse the five imperatives into your ALM. With this solution, your softwareteam is ready to develop the applications your customers wantmore effectively and at potentially lower cost, all of which helpyou improve competitive advantage.

For more informationTo learn more about the IBM Rational solution forCollaborative Lifecycle Management, please contact yourIBM marketing representative or IBM Business Partner, or visit the following website:ibm.com/software/rational/alm/collaborate/

Additionally, financing solutions from IBM Global Financingcan enable effective cash management, protection from technol-ogy obsolescence, improved total cost of ownership and returnon investment. Also, our Global Asset Recovery Services helpaddress environmental concerns with new, more energy-efficientsolutions. For more information on IBM Global Financing, visit:ibm.com/financing

Page 20: Five imperatives for effective Application Lifecycle ...media.ziffdavisb2bfocus.com/assets/white-paper/five-imperatives... · 2. Five imperatives for effective Application Lifecycle

Please Recycle

© Copyright IBM Corporation 2011

IBM CorporationSoftware GroupRoute 100Somers, NY 10589 U.S.A.

Produced in the United States of AmericaDecember 2011

IBM, the IBM logo, ibm.com, BuildForge, Jazz, Rational, Rational TeamConcert, Tivoli, and WebSphere are trademarks of International BusinessMachines Corporation in the United States, other countries or both. If theseand other IBM trademarked terms are marked on their first occurrence inthis information with a trademark symbol (® or ™), these symbols indicateU.S. registered or common law trademarks owned by IBM at the time thisinformation was published. Such trademarks may also be registered orcommon law trademarks in other countries. A current list of IBM trademarksis available on the web at “Copyright and trademark information” atibm.com/legal/copytrade.shtml

Other company, product or service names may be trademarks or servicemarks of others.

1 BusinessWeek Commentary: “Shifting Work Offshore? Outsourcer Beware”:http://www.businessweek.com/magazine/content/04_02/b3865028.htm

2 DDJ State of the IT Union Survey November 2009, Scott W. Amble,Ambysoft - www.ambysoft.com/scottAmbler.html

3 Caper Jones, “Measurements, Metrics and Industry Leadership,” 23 Apr. 2007, http://www.itmpi.org/assets/base/images/

itmpi/privaterooms/capersjones/MeasuresMetrics2007.pdf

RAW14267-USEN-00