You are on page 1of 19

Five

Imperatives for Application Lifecycle Management


Many organizations are faced with hastened delivery schedules due to competitive pressures and the need to innovate. Yet software development is difficult, and the software systems that are maintained and delivered by the worlds IT and device development organizations are astoundingly complex. Teams challenged by reduced time to delivery must do so without increasing their budgets or sacrificing quality. Their strategy, instead, must be to improve software development efficiency. A solution to this dilemma is to improve Lifecycle Collaboration with Application Lifecycle Management. Designed for the execution of a software delivery project, Application Lifecycle Management solutions coordinate people, processes, and tools in an iterative cycle of integrated software development activities, including planning and change management, requirements definition and management, architecture management, software configuration management, build and deployment automation, and quality management. In addition to the capabilities, the fundamental features of an ALM solution include traceability across lifecycle artifacts, process definition and enactment, and reporting. The most important benefit of an ALM solution is coordinating the people, processes, information, and tools involved in a project to deliver innovation to your stakeholders. Because there is no one-size fits all solution, we advise our clients to focus on the following imperatives as they implement an ALM approach best suited to their environment and culture: Use Real-time Planning Establish Lifecycle Traceability of related artifacts Enable In-context Collaboration Cultivate Development intelligence Practice Continuous process improvement

Real-time Planning We plan because we want to accomplish a goal and want to know when we are done. The only way to know when the work is complete is to ensure the plans are fully integrated with project execution and always up to date. The following table provides several typical dos and donts related to planning.
Dont Have plans that live outside of ALM environment, that are separate from team activities and assignments. Do Use plans that are fully integrated with execution and manage tasks for the entire team, not just the tasks of developers. Use plans that make it easy to understand the load and easy to see what your team is currently working on with views such as and electronic taskboard. Instantly see the impact of changes to delivery dates. Use Planned time to balance the load across team members. Rely on manual, error-prone updates. Use plans with information at your fingertips, and a user interface that makes it trivial to update plan information in the context of the work. Updating time spent directly from the work item makes easy to keep accurate plans. Use a plan that provides multiple views on the same data such as Ranked Lists, Planned Time, Taskboard, Work breakdown, by Iteration, or Roadmap (traditional) view. Practice continuous planning using lifecycle queries and project dashboards to respond to changing events on the team. Create an environment where requirements, development and test plans are disconnected and managed separately, or not at all. Plan across the entire team by linking and populating development and test plans from requirements. Provide plan transparency, where plans are visible and accessible to everyone.

The following image illustrates how updating time spent directly from the work item in a matter of seconds makes easy to keep accurate plans.

I. Updating the time spent on a work item keeps plans accurate

The following three images show the same Sprint plan using different views. Using different views helps the team balance the work, plan effectively and respond to changes more quickly.

II. A Planned Time view illustrates when team members have more work than the others.

III. An electronic taskboard view can be used across geographic locations by agile teams.

IV. A roadmap illustrates tasks over days and weeks in a more traditional view.

The image below shows a Release Plan in Rational Team Concert containing links to a related Product Backlog, a collection of requirements in Rational Requirements Composer, and a test plan in Rational Quality Manager.

V. Planning includes taking the requirements and test plans into account

The IBM Rational Solution for Collaborative Lifecycle Management offers fully integrated real time planning.

Lifecycle Traceability Traceability isnt simply one of those nice to have capabilities in the software development lifecycle. Traceability helps you understand what everyone else on the team is doing. For example, while the requirements analyst knows very well what requirements she has written, she still needs to know whether a given requirement will be addressed during a specific development iteration and, if so, which one. Or she wants to know if the implementation of that requirement has been tested and with what result. An ALM solution that allows for lifecycle artifact traceability helps teams to answer the hard questions about the status of their project. By linking related artifacts, teams are better equipped to answer questions such as which requirements are affected by defects? and which work items are ready for test?

VI. Important questions answered by an ALM solution

Traceability helps the each team member understand what the rest of the team is doing and how it impacts the overall workload. If you are working in a regulatory compliance environment, traceability helps you answer auditors questions such as What changes went into this build, what tests where run and with what result?

Below are typical dos and donts associated with traceability:


Dont Work in disconnected project repositories, or cobble together a disparate set of tools. Do Seek products built with open interfaces supported by vendors who understand the ALM integration challenges. Invest in tools with a longer-term integration roadmap in mind. Integrated tools make it easy to establish links as the project executes. See image of linked Defect 76 below. Choose a solution with open services (OSLC) for linking data across the lifecycle. Invest in a loosely coupled, integrated ALM solution that is built to scale and support open and flexible integrations Development trends change, new products emerge. A single ALM repository will not scale to fit your needs over time.Do you really want to face that data migration challenge? Your ALM solution needs to be flexible enough to move with the times. Identify a few meaningful questions or set one goal and institute a just enough approach for linking related artifacts. For example, link source code changes to work items, identify the work items delivered in a build, link work items to test cases, so you know what is ready for testing. Try one and get good at it before doing more. Leverage a system that shows the traceability links directly on the plan, or that uses queries that identify gaps, such as Plan items without requirements and Plan items without test cases, and Defects blocking test. Invest in an ALM solution that makes traceability easy to do, maintain and report against.

Enter links manually after the fact, its easy to forget, hard to enforce.

Build your own integration based on proprietary APIs. Choose a one-size-fits-no-one solution.

Do traceability for traceability sake.

Rely on reports that go stale after youve created them.

Ignore, hide from or hope to pass regulatory audits

The image below shows a traceability view in a release plan containing links to requirements and test cases. It also has a column to identify defects affecting the plan items. This demonstrates an integrated plan with traceability reporting. Rather than relying on stale and occasionally run traceability reports, using an integrated plan with a built-in traceability view, the gaps are obvious and easy to address through out the project.

VII. A release plan with coverage across the development, requirements and test teams

When traceability links are established, the IBM Rational Collaborative Lifecycle Management solution leverages these links to automatically create traceability links on defects found during test execution by testers. The image below shows a defect with traceability links. The traceability links to the test result, test case, test plan, plan-item and requirement, are automatically generated when a defect is submitted from a test execution.

VIII. Lifecycle links automatically created on a defect illustrate the impacted test cases, plan items and requirements

In-context Collaboration Collaboration isnt just about being friendly and collegial with each other. Collaboration contributes to higher quality and improved value to the stakeholders, which means, collaboration is a key to innovation. Collaboration features within an ALM solution can improve a teams ability to connect with each other, to respond to changing events, and to improve project predictability. Collaboration tools can also help teams focus on what matters. Teams should seek every opportunity to automate manual, non-creative tasks. A good ALM solution enables build and test automation, but automation can also apply to status reporting and information access. Project and personal dashboards play an important role in bringing automated information to the team by providing transparency into their work and access to real-time data with team reports and queries. A well-designed user interface automates access to information, by bringing information to the user instead of forcing a manual context switch to

access another application. This form of automation naturally leads to better collaboration.
Dont Create an environment of silod teams and disconnected data that is hard to access by other members of the team. Do Track all tasks across the disciplines across the life cycle. Unified teams share linked data. Use lifecycle queries to answer more meaningful questions such as Which requirements are affected by defects? Hovering a mouse over link provides information about the artifact at the other end of the link. Collaboration is also about knowing what is going on without having to ask, team activites/events and changes are easily accessible and visible to every one Dashboards and lifecycle queries provide real-time status of the teams progress. Mini, personal dashboards are always accessible through out the user interface. All discussions in work items integrated on the plan. ALM environment becomes an essential archeological tool for understanding the past, speeding later enhancements New team members can easily understand the context of activities by looking at the discussion on work items. New team members can leverage link previews and instant access to information to immediately immerse in the team activity.

Manually collect status reports

Rely on email discussions. Important discussions are lost to email and chat archives-project records are missing the real reason for decisions

Lengthy on-ramp for new team members

The image below shows a dashboard mashup with widgets containing information from Rational Team Concert, Requirements Composer, and Quality Manager. The information in the dashboard provides up to date status about the project.


IX. Mashup dashboards provide transparency across the team

The image below shows a mini dashboard that is always accessible from the side of the UI and is dockable on left or right. It serves as a portable mini personal dashboard that goes with a user wherever they go within the ALM solution, and can be shown or hidden at any time.

X. A mini dashboard is accessible through out the user interface

The image below shows a mini dashboard for a user in Rational Team Concert. On this mini dashboard is a widget displaying changes to requirements in Requirements Composer. This is a mini dashboard mash up. Hovering the mouse over the link to the requirement causes a link preview (rich hover) to appear with information about the status of a requirement in Requirements Composer. Users in need of instant information gratification will quickly become addicted to using mini dashboards!

XI. A rich hover on link from the Mini Dashboard

Development Intelligence How do you know if youre improving if you dont create success metrics? At any time in a project do you know if your team is trending toward a successful outcome? Implementing areas for improvement, setting goals, and tracking your progress toward achieving those goals cultivate development intelligence. According to Capers Jones,1 projects with strong measurement practices have much better success rates than those that do not.

Capers Jones, Measurement, Metrics and Industry Leadership, 2009, and Software Engineering Best Practices, McGraw Hill, 2010.

XII. Projects with measurement practices have a better chance of succeeding

For example, the three measurements listed below are practiced by less than a 50% of all organizations in the Capers Jones study: Quality measures: Productivity measures: Complete measures: 45% 30% 15%

Here are our suggested dos and donts regarding measurement practice:
Dont Ignore performance measures. Do Define performance metrics that are appropriate for your organization. Simple metrics such as Build Duration, Build Pass/Fail rate are a simple place to start if you havent already. Identify a weak spot or a current pain point or bottleneck. Choose a practice to implement and determine how you will measure the improvement. Choose a tool that collects and reports on the teams activity using the data from integrated planning (Imperative 1 above), and use that data to track your progress. Start slow and learn from your success and failure. Conduct retrospectives to discover what worked, what didnt work, and how you can

Take a big bang approach to instituting measures and metrics.

Dont expect to get it right the first time.

improve. Try to manually collect data by hounding the team for status reports. Use live dashboards that provide transparency of information and dashboard reports based on data coming from the teams activity. Work with the team to determine the next set of improvements they identify.

The image below shows reports on the development team within a project dashboard. As work items are updated, the reports reflect the activity and trends of the team. Use burn down charts to track the teams trend toward closing out planned work. Alternatively, consider charts that show the trend of Open, In Progress and Closed work items, where the ideal is to see the Open & In Progress trend getting smaller while the Closed trend gets larger.

XIII. A dashboard with reports and metrics to measure improvement

Dashboards and reports are key part of an ALM solution for measuring and responding to a teams progress. Continuous Process Improvement Process is more than a documented set of procedures. We design processes based on best practices gleaned from industry experience as a means to improving a teams collaboration and to help them succeed. Most behavior is habitual. When you define or change a process, you are asking an entire team of people to change their habits and adopt behaviors that at first may be difficult to understand. It can be quite hard to change one habit in one person. Yet, process

changes frequently require new ways of thinking and new modes of behavior for a multitude of people. A well-designed ALM solution allows you to change that process incrementally, improve the team dynamic and continue to refine toward greater efficiencies.
Dont Ignore process altogether or treat it like an unnecessary burden. Do Realize that a well-defined process can help your team establish a rhythm and reduce unexpected problems from rogue behavior. Use dashboards to make area of improvements visible across the teams. For example, if you are struggling to burn down across an iteration, make the iteration burndown across the teams visible an dashboard. Reflect upon the burndown chart in your daily stand ups and the team will naturally begin to make the necessary choices to turn the trend toward the desired outcome. Define a just enough approach to improve upon where you are now. Continue to revisit and improve based on team experiences and agreement on where to improve next. Use a tool that can enact your process definition thus guiding the team toward the desired result at the exact time it is needed. Use tools that make it easy to tweak and adapt the process as the project executes and as the team learns and wants to improve Let the tool govern behavior and refine it over time. Add peer reviews to encourage knowledge sharing and collaboration. Review the effectiveness of the process specification to ensure adequate results as part of your team retrospectives.

Define process improvements goals without making results of process improvement visible

Go overboard with high ceremony unless absolutely needed for your environment

Define a process and place it on a shelf or a hard drive for no one to ever see again

Define process up front, don't change during the execution Institute process police

Rational Team Concert provides process specifications that you can use to get your teams up and running. These process specifications provide work item types, state transitions, and rules that govern how to use them. In addition, teams can modify the process to suit their needs. A process can be deployed to an entire project, or modified for a team within a project. Processes can even be modified in flight to adapt to the changing conditions on the project. The image below shows the default set of work-item types that are defined by Team Concerts out-of-the-box Scrum process template.

XIV. Work-item types that support Scrum, come out of the box in Rational Team Concert

Tools that support the process and guide team members toward the expected behavior are important elements in an ALM solution.

Choosing an ALM solution for your team


Choose an ALM solution that supports and encourages collaboration regardless of role, organization, or geographic location. The IBM Rational Solution for Collaborative Lifecycle Management meets the five imperatives described above. The solution consists of IBM Rational Team Concert, IBM Rational Quality Manager, and IBM Rational Requirements Composer. Rational Team Concert integrates work item tracking, source control management, continuous builds, iteration planning, and highly configurable process support to adapt to the way you want to work, enabling developers, architects, project managers, and project owners to work together effectively. Multi-platform development such as Java, .NET, and mainframe environments are all supported. Rational Team Concert has built-in integrations with Requirements Composer and Quality Manager, along with many other popular development tools. Learn more on the project Integrations page on Jazz.net. Teams seeking to add rich requirements definition and management use Rational Requirements Composer. Requirements Composer is being extended to provide both requirements definition and management capabilities for fast-paced, market-driven project teams. Requirements Composer has built-in integrations with Team Concert and Quality Manager, along with many other popular tools. Learn more about Requirements Composer Integrations on Jazz.net. Teams seeking to improve their ability to meet quality goals use Rational Quality Manager, which has built-in integrations to Rational Team Concert and Rational Requirements Composer. IBM Rational Quality Manager helps organizations optimize project quality with a single, shared test management hub that provides integrated lifecycle support across virtually any platform and type of testing. It provides a customizable, role-driven solution for test planning, creation, and execution as well as workflow control, tracking, and end-to-end traceability. By using these products together teams can live up to the five ALM Imperatives described in this article. The imperatives are built in, and ready to help you improve your ability to deliver high quality software innovation. Whats great is that you dont have to use all three to reap the reward. The products can be used in any pair, or all together. We welcome you to visit Jazz.net to learn more about Rational Collaborative Lifecycle Management, powered by Jazz.

Carolyn Pampino is the Program Director for Strategic Offerings

focused on IT Software Delivery. She is a member of the ALM leadership team at IBM Rational, working closely with the Jazz team leads to define the Collaborative Lifecycle Management road map and strategy. She contributes blog entries and recorded demonstrations to Jazz.net. Carolyn is a co-author of an eBook, titled "Scaling Agile with Collaborative ALM." She is also co-author of an IBM Redbook titled Collaborative Application Lifecycle Management with Rational products. She was a founding member of the team defining strategies for Rational and Tivoli product integrations, and contributed to Rational's acquisition of Build Forge. Prior to IBM, Carolyn was the Director of Product Management, Development, and Competitive Intelligence at BroadVision, Inc. Carolyn thanks Erich Gamma, Kim Peter, Robyn Gold, and Fariz Saracevic for their contributions to this article, and the entire Jazz Foundation and Collaborative Lifecycle Management teams for creating an incredible solution!