Application Lifecycle Management: Marriage of Business Management with Software Engineering

Similar documents
Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Requirements Management im Kontext von DevOps

enterprise IBM Rational Team Concert 2 Essentials

The 7 Attributes of a Good Software Configuration Management System

Improving IT Agility with Rational Collaborative Lifecycle Management

Realtests.M questions M IBM Rational IT Sales Mastery Test v2

Harnessing the power of software-driven innovation. Martin Nally IBM Rational CTO IBM Fellow and VP

WHAT IS APPLICATION LIFECYCLE MANAGEMENT?

Rational Team Concert. Scrum Project Management Tutorial

How to Ensure IT Compliance Without Compromising Innovation. Nik Teshima, IBM Phil Odence, Black Duck

Establishing your Automation Development Lifecycle

How To Develop An Application

FAQ. CloudOne. Frequently Asked Doors Next Generation Questions. Do what you do best. We ll do the rest.

Tool support for Collaborative Software Quality Management

Tools and Methods to Address Complexity at Scale

Increasing Development Knowledge with EPFC

Agile Development with Jazz and Rational Team Concert

Anatomy of an Enterprise Software Delivery Project

Cognizant Accelerates Enterprise Application Development Cycle-time by 10 Percent

Rational Team Concert. Quick Start Tutorial

Improve Quality and Decrease Time to Market with Better Requirements Management

Leveraging Rational Team Concert's build capabilities for Continuous Integration

ORACLE PROJECT MANAGEMENT

IBM 2010 校 园 蓝 色 加 油 站 之. 商 业 流 程 分 析 与 优 化 - Business Process Management and Optimization. Please input BU name. Hua Cheng chenghua@cn.ibm.

Keywords IS-SDE, software engineering, CALM, ALM, collaborative software development, development tools

The role of integrated requirements management in software delivery.

Software Lifecycle Integration. A Quality Management Discipline

An introduction to the benefits of Application Lifecycle Management

IBM Rational Asset Manager

Driving Your Business Forward with Application Life-cycle Management (ALM)

IBM Rational DOORS Next Generation

ENOVIA Aerospace and Defense Accelerator for Program Management

Develop enterprise mobile applications with IBM Rational software

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Balancing the Outsourcing Equation

Key Benefits of Microsoft Visual Studio Team System

Software Development In the Cloud Cloud management and ALM

IBM Rational Software

Overview. The Knowledge Refinery Provides Multiple Benefits:

Improved SOA Portfolio Management with Enterprise Architecture and webmethods

Requirements Management

Redpaper. IBM Rational Workbench for Systems and Software Engineering. Bruce Powel Douglass Mats Gothe

Introduction to OpenUP (Open Unified Process)

The IBM Cognos family

Introduction to Glossary Business

Luncheon Webinar Series July 29, 2010

IBM Rational ClearCase, Version 8.0

Successful Enterprise Architecture. Aligning Business and IT

The Structure of a Software Development Team

Change & Configuration! Management

Using Git with Rational Team Concert and Rational ClearCase in enterprise environments

Efficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

Managing FDA regulatory compliance with IBM Rational solutions

White Paper. An Introduction to Informatica s Approach to Enterprise Architecture and the Business Transformation Toolkit

Basic Unified Process: A Process for Small and Agile Projects

A Comparison of SOA Methodologies Analysis & Design Phases

Application Test Management and Quality Assurance

Development Testing for Agile Environments

Solutions for Quality Management in a Agile and Mobile World

Framing Requirements for Predictive Analytic Projects with Decision Modeling

Lowering business costs: Mitigating risk in the software delivery lifecycle

Rally Integration with BMC Remedy through Kovair Omnibus Kovair Software, Inc.

Towards Collaborative Requirements Engineering Tool for ERP product customization

Managing your error-prone spreadsheets

CS4507 Advanced Software Engineering

State of Minnesota IT Governance Framework

Appendix 2-A. Application and System Development Requirements

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Enhance visibility into and control over software projects IBM Rational change and release management software

Better management through process automation.

METRICS DRIVEN CONTINUAL SERVICE IMPROVEMENT USING AGILE CONCEPTS

What is a life cycle model?

TeamCompanion Solution Overview. Visual Studio

Unleash Competitive Advantage through Software Lifecycle Integration

Realizing business flexibility through integrated SOA policy management.

White Paper IT Methodology Overview & Context

Fortune 500 Medical Devices Company Addresses Unique Device Identification

Software change and release management White paper June Extending open source tools for more effective software delivery.

Business Analysis Standardization & Maturity

THE THREE ASPECTS OF SOFTWARE QUALITY: FUNCTIONAL, STRUCTURAL, AND PROCESS

Department of Technology Services

Enterprise Test Management Standards

Rational Quality Manager. Quick Start Tutorial

Business Rules-Based Test Automation: A novel approach for accelerated testing

The overall aim for this project is To improve the way that the University currently manages its research publications data

IBM Cognos 8 Controller Financial consolidation, reporting and analytics drive performance and compliance

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

ORACLE S PRIMAVERA FEATURES PORTFOLIO MANAGEMENT. Delivers value through a strategy-first approach to selecting the optimum set of investments

Managing the Product Value Chain for the Industrial Manufacturing Industry

How do you manage the growing complexity of software development? Is your software development organization as responsive to your business needs as

Transcription:

Application Lifecycle Management: Marriage of Business Management with Software Engineering Lovelesh Chawla, Robert F. Roggio School of Computing University of North Florida Jacksonville, FL Lovelesh.chawla@gmail.com broggio@unf.edu Abstract This paper discusses Application Lifecycle Management (ALM), its evolution, and its characteristics used to manage the lifecycle of an application through Governance, Development and Maintenance. The paper addresses IBM s tool for Collaborative Lifecycle management (CLM) and its relationship to ALM. Lastly, we cover key tools of CLM: Rational Team Concert (RTC), Rational Requirements Composer (RRC), and Rational Quality Manager (RQM). Keywords CLM; lifecycle; management; rational; application I. EVOLUTION OF ALM Application lifecycle management (ALM) is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management according to Wikipedia. [1] The origins of ALM stem back to many well-known pioneers and related technology originating arguably in the late 70s that include luminaries such as Ed Yourdon, Tom DeMarco, Ken Orr, Constantine, Dijkstra and more, who in various ways discussed methods to build software applications that were functionally complete and correct or--as we say it today. [2] Some focused on moving structured programming concepts into structured design models. These believed maintaining the design that is properly structured will result in program that will automatically be structured, regardless of the language used. On the other hand others felt that a structured design did not guarantee that the application produced would meet the needs of the organization or users. Still others argued as to the approach. Should designs be process driven or data driven? Should the designs be programming language independent? Should the focus be on developing tools that generate programs based on design specifications? Should the design be driven from output requirements? The list went on and on. All of these left their mark on the way systems are conceived, designed and developed [2]. A variety of methodologies arose include the Warnier-Orr methodology, which was built around identifying output requirements and the decomposition of those into data and program structures needed to identify the inputs and information required. Ed Yourdan concentrated on a more process-oriented approach through the use of Data Flow Diagrams (DFDs), which remained very popular for many years in capturing data flow. Software Engineering (CASE) tools arose out of the various structured methodologies and philosophies with arguable ability to support traceability. Perhaps the lone survivor is the Uniform Modeling Language (UML), which has become a widely accepted modeling notation. The evolution from structured programming to structured design to application lifecycle management is to synchronize technology solutions organizational and stakeholder needs. These need to be tightly woven into business process improvement methods and frameworks [2]. II. BUSINESS MANAGEMENT ASPECTS OF ALM An application s lifecycle may be viewed as beginning with an idea, which is ultimately realized in an application. Once developed, deployment and application maintenance occur over the remainder of the application s lifecycle until the application no longer provides significant business value. The software is then typically either redesigned, replaced or retired as illustrated in Figures 1 and 2. Figure 1. Three Areas of ALM

Figure 2. A Closer View of ALM [1] A. Governance Governance encompasses all of the decision-making and project management considerations for an application and extends over the entire life cycle. Development is essentially the process of creating an application, while Operations is the effort required to run and maintain the application. Because an application is an enterprise asset, the organization needs to maintain an ongoing understanding of its benefits and costs. Meeting this need, Application Portfolio Management (APM) provides a mechanism to avoid duplicating functionality among different enterprise applications. While thus providing application governance, APM addresses activities such as updates and significant revisions that make business sense. APM also includes business case development and project portfolio management for each of the application revision, as can be observed in the Development line in Figure 3. The only ALM activity extending throughout the entire ALM time span is governance, which may be considered the most important aspect of ALM. Figure 4 Development within ALM [1] Once the development process of the application is complete and the application is fully deployed, development still continues via periodic enhancements and bugs fix (adaptive, perfective, and remedial maintenance). C. Operations Every deployed application must be monitored and managed. The operations line is tightly connected to Development activity (Fig. 5) and is monitored, maintained, and updated throughout its useful lifetime. Similarly, each update to the application must be deployed once it s completed, as the figure indicates. Figure 5 Operations begin shortly before application deployed; continues until application removed from service. [1] Figure 3 Governance Extends over Entire Application Lifecycle [1] B. Development While mapping ALM to the software development process isn t entirely warranted, development certainly is a fundamental part of every application s lifecycle (Fig. 4). Once the business case is approved, and software development starts, development is realized through a series of iterations, where each iteration contains some requirements definition, some design, some development, and some testing and deployment. (The exact activities depend upon the development methodology employed) III. CLM: SOFTWARE ENGINEERING ASPECTS OF ALM A. Lifecycle Management Collaborative Lifecycle Management (CLM) is an integrated Application Lifecycle Management solution by IBM. It provides integrations across Jazz TM -based products to connect the work of analysts with developers and testers. Jazz TM is built on architectural principles that represent a key departure from approaches taken in the past. Together, these approaches allow teams to "surf the collaborative Web" to seamlessly access teams, processes and artifacts [5] CLM links among the products support traceability, web-like

navigation, review, commenting, and status tracking across various project repositories. [4] CLM integrations build on the Jazz Foundation to provide a common approach to artifact linking, dashboards, security, and user interface frameworks. [7] B. Jazz TM Platform First and foremost, it is important to recognize that TM is an integrated development platform emphasizing team collaboration, communication, and software development processes. [5] Built on Eclipse technology and focused on integrating tasks across the software lifecycle to improve the productivity of an entire team, the Jazz TM platform consists of an architecture and a set of application frameworks and toolkits, as shown in the Fig. 6 [5]. C. Project and Team Areas The Jazz TM platform provides basic concepts to create and manage projects as illustrated in Figure 7 in Rational Team Concert (RTC). RTC is a team collaboration tool by IBM that allows a team to manage all aspects of their work such as plans, tasks, builds and reports. Let s look at the following terms from Figure 7 used to describe components within a Project Repository. The Project Area provides definition for the project deliverables such as team structure, process, and schedule. Team Areas refers to the management of team membership, roles assignments, and team artifacts. Work Item Categories, categorize group work items by the various components or functional areas of the project and are associated with a team area. A work item is a mechanism used to keep track of tasks and issues a team needs to address during development. One may view the status and number of work items as an indicator of project health. A CreditCheck Team Area that brings development team together on collaborative development in Rational Team Concert is shown in Figure 8. Some key Team Area properties are highlighted in the figure. For example, the Team Artifacts and Team Central views provide transparency to team health, the team members and their assigned roles, and the iteration structure with the current iteration plan that is selected. [4]. Figure 7 Project and Team Areas in Rational Team Concert [4] Figure 6. Jazz TM Platform [5] The Jazz TM platform also supports simple artifact exchange such as business requirements, use cases and collaboration between developers by using higher value assets, such as complete change sets (that is, a number of modifications that are relevant to each other in one atomic package [8]), as compared to the previous more time consuming exchange of source code files or mail with code snippets. Jazz TM also supports instant messaging to enable everyone to be informed of events appropriate to a team or an individual. Conclusions drawn from actual work items are used to assess overall project health [5]. More terminology is used for agile planning in Rational Team Concert (Fig. 8): Development Line A development line represents an area of activity within a project that typically has its own objectives, deliverables, team, process, and schedule. In a bit more detail, an ongoing project that has both current maintenance underway but is also working on new release development might choose to define the work efforts in two separate development lines because they have different values for objectives, schedule, processes and more. Further, project intervals or phases defined within a development line may be associated with a hierarchy of iterations [9]

Team Artifact Iteration quality. RRC also provides improvement in the following key areas: [4] Improved requirements definition, validation, and management of requirements change through the software development life cycle Increased and clearer communication among business stakeholders and IT delivery teams wherever they are located, and Less project rework, faster project execution, and lower-cost delivery Team Members Admin Figure 8. The CreditCheck Area in Rational Team Concert [4] Iteration Iterations are defined within a development line and are used to express the details of an iteration in terms of work items. Projects are organized into a series of development periods referred to as iterations. Work item: A work item is a representation of the tasks and issues that a team needs to address during the development cycle. Work items are essential for iteration planning and indicators of the health of the project. [4] Work items are activities the team must do. D. Rational Team Concert In looking at the prime components of Rational Team Concert, we see the three main components: Rational Requirements Composer, Rational Team Concert, and Rational Quality Manager. Each contributes to an overall transparent environment in support of the Rational solution for Collaborative Lifecycle Management built on Jazz TM to help teams integrate tasks across the software life cycle. [6] According to [10], CLM is an integrated Application Lifecycle Management solution comprising three main products: IBM Rational Requirements Composer, IBM Rational Team Concert, and IBM Rational Quality Manager. Rational Requirement Composer (RRC) Rational Requirement Composer (Figure 9) is a tool used to define, collaborate and manage requirements for any size development effort or project team. Project teams can manage their requirements, write good use cases, improve traceability, strengthen collaboration, reduce project risk, and increase Figure 9. Rational Requirements Composer [4] Team members require a number of techniques in order to gather requirements information. RRC helps in these activities by providing features to capture drawing, storyboard, use cases, glossaries and other models critical to effective requirements capture. These features of RRC are significant helps to analysts for requirements capture. Rational Team Concert (Fig. 10) is a Rational product on the Jazz TM team collaboration platform, first released on 2008. [11] Available in both client versions and a web version, RTC provides the following key capabilities to support collaborative development: Integrates seamlessly the development task across the delivery life cycle for the team Facilitates team collaboration and coordination and helps the team develop applications more effectively and with less risk Supports team collaboration across co-located and globally distributed teams Establishes and maintains traceability and audit trails, and automates bookkeeping so that teams are accountable

Integrates into Eclipse for developers and provides Web access for external contributors Makes collaborative development more enjoyable [4] Rational Team Concert supports and provides for seamless integration of workflows, for the application lifecycle assets managed by the Jazz TM repository and for assets managed by other repositories not part of the Jazz TM platform. [11] Figure 10. Rational Team Concert [4] It is important to note which ALM domains are supported by RTC. These are shown in Figure 10. Source code management Work items management, including agile iteration planning Build management Team health and collaboration Rational Quality Manager (RQM) Rational Quality Manager (Fig. 8) is one of the three main Rational products on the Jazz TM team collaboration platform. Rational Quality Manager provides the development efforts a test management system rendering the testing in total control of testing efforts. Test planning, construction, and execution can be completed in Rational Quality Manager. Decisions are managed in a database that enables the team to track against the plan. [4] One of the most critical questions the test team needs to answer is: When are we done testing? Teams are better equipped to answer that question by placing an emphasis on the test plan, which enables a team to track their progress against the plan with Rational Quality Manager. A team can do as much or as little as they need. The Rational Quality Manager product provides the following features: Collaborative Web-based quality management solution A central repository for test planning, construction, deployment, and execution The ability to align the test effort with project requirements Quantifiable metrics for project tracking and decision making Keyword-driven manual test authoring and execution [4] Rational Quality Manager can work for both simple testing and very comprehensive testing to the extent that testing can scale to large teams sharing test assets. Most of the work items managed by the system can be assigned to a team member. Unlike some other testing environments, in RQM a test plan can easily be decomposed into different components and delegated to different stakeholders. All activities can be assigned and tracked in order to assess the level of effort in building and executing tests.. This assignment of work in all aspects of the test effort helps the team to ensure that all expected work is completed. It also gives them insight into their progress against the work effort. IV. SUMMARY The authors have shown that ALM joins together both business management and software engineering in a very powerful development environment through IBM s Collaborative Lifecycle Management using Team Concert on the Jazz TM platform. It is our belief that ALM is a significant advancement in the quest for coalescing into a transparent integrated environment the many activities, roles, and artifacts characterizing modern software development in the business enterprise. REFERENCES [1] D. Chappell, What is Application Lifecycle Management? Microsoft Corporation, 2008, http://www.microsoft.com/global/applicationplatform/en/us/renderinga ssets/whitepapers/what%20is%20application%20lifecycle%20manag ement.pdf, downloaded 11/2012. [2] M. Wood, The Evolution of ALM, Projectmanagement.com, 2010, http://www.projectmanagement.com/articles/255472/the-evolution-of- ALM, downloaded 10/2012. [3] IBM Corp., IBM Rational Quality Manager, IBM Software, 2009, http://publib.boulder.ibm.com/infocenter/rqmhelp/v2r0/index.jsp?%20to pic=/com.ibm.help.common.jazz.calm.doc/topics/c_calm_common.html, downloaded 10/2012. [4] M. Göthe, C. Pampina, P. Monson, N. Khurram, K. Patel, B. Smith, N. Yuce, Collaborative Application Lifecycle Management with IBM Rational Products, IBM Redbook, 2008, IBM Corp. 23

[5] Jazz Inc, About Jazz Platform, Jazz, 2012, https://jazz.net/story/about/about-jazz-platform.jsp, downloaded 10/2012 [6] IBM Corp. Collaborative Lifecycle Management, IBM Software, http://www-01.ibm.com/software/rational/alm/collaborate/, 2009, downloaded 11/2012. [7] A.Meneely, L.Williams, L. Hayward, Jazz Basics, Software Engineering, North Carolina State University, 2009, http://realsearchgroup.org/sematerials/tutorials/jazz/jazz_tutorial.html, downloaded 10/2012 [8] A. Buehlmann, ChangeSet, Mecurial, 2010, http://mercurial.selenic.com/wiki/changeset, downloaded 10/2012 [9] IBM Corp., Development Line, IBM Infocenter, 2012, http://pic.dhe.ibm.com/infocenter/rtc/v20m0/index, downloaded 11/2012 [10] C. Babcock, "IBM Preps Team Concert, A Collaborative Development Tool, InformationWeek, 2008, http://www.informationweek.com/ibmpreps-team-concert-a-collaborative-d/206905042, downloaded 11/2012. [11] C. Babcock, IBM Sharpens Rational Tools, InformationWeek, 2009, http://www.informationweek.com/development/tools/ibm-sharpensrational-tools/219401501, downloaded 11/2012 24