An introduction to the benefits of Application Lifecycle Management



Similar documents
What is Application Lifecycle Management? At lower costs Get a 30% return on investment guaranteed and save 15% on development costs

Global Software Change Management for PVCS Version Manager

Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs

IKAN ALM and Collabnet TeamForge

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

HP SAP. Where Development, Test and Operations meet. Application Lifecycle Management

Simplifying development through activity-based change management

Key Benefits of Microsoft Visual Studio Team System

Development Testing for Agile Environments

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

Software Development In the Cloud Cloud management and ALM

Modernizing enterprise application development with integrated change, build and release management.

Orchestrated. Release Management. Gain insight and control, eliminate ineffective handoffs, and automate application deployments

IBM Rational ClearCase, Version 8.0

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University

Maximizing Cross-Platform Application Availability

Agile Development Calls for an Agile Suite Solution

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Successfully managing geographically distributed development

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF

FUJITSU Transformational Application Managed Services

Application Test Management and Quality Assurance

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

TOP 5 REASONS WHY FINANCIAL SERVICES FIRMS SHOULD CONSIDER SDN NOW

Software Development Process

Effective Release Management for HPOM Monitoring

Best Practices for Building Mobile Web

IBM Rational systems and software solutions for the medical device industry

Software Configuration Management (SCM)

Continuous Integration. CSC 440: Software Engineering Slide #1

The role of integrated requirements management in software delivery.

Releasing High Quality Applications More Quickly with vrealize Code Stream

Collaborative DevOps Learn the magic of Continuous Delivery. Saurabh Agarwal Product Engineering, DevOps Solutions

Contents. Introduction... 1

Leveraging Rational Team Concert's build capabilities for Continuous Integration

How Silk Central brings flexibility to agile development

Using a Java Platform as a Service to Speed Development and Deployment Cycles

Open source, commercial software or a coexistence strategy?

Automated Testing Best Practices

Develop enterprise mobile applications with IBM Rational software

DevOps for the Mainframe

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

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

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational

Effectiveness is to create just ONE system, a SINGLE methodology, always ready to work in any country and adapted to your needs.

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

ALM/Quality Center. Software

Address IT costs and streamline operations with IBM service desk and asset management.

Software Configuration Management Best Practices for Continuous Integration

NEOXEN MODUS METHODOLOGY

Agile Software Development Methodologies and Its Quality Assurance

Best Practices in Release and Deployment Management

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

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

Software Continuous Integration & Delivery

How To Develop An Application

Building Value with Continuous Integration

Requirements Management im Kontext von DevOps

IT Operations Management: A Service Delivery Primer

ORACLE PROJECT MANAGEMENT

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

White Paper IT Methodology Overview & Context

Digital Transformation with Intelligent Solutions from Infosys and Pega

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

Improve Quality and Decrease Time to Market with Better Requirements Management

Greater Continuity, Consistency, and Timeliness with Business Process Automation

The Benefits of Deployment Automation

Centralized Secure Vault with Serena Dimensions CM

CS4507 Advanced Software Engineering

A Review of an MVC Framework based Software Development

Manoo Ordeedolchest Chairman ICT Policy Committee Sripatum University Microsoft Software Development Life Cycle Management of Enterprise June 5, 2007

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

serena.com PROCESS CREATES SUCCESS Accelerate it with Serena TeamTrack

CHAPTER 7 Software Configuration Management

Applying ITIL v3 Best Practices

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Chapter 13 BUILDING INFORMATION SYSTEMS. How does building new systems produce organizational change?

INTRODUCING CONTINUOUS DELIVERY IN THE ENTERPRISE

Implementing Continuous Integration Testing Prepared by:

Surveying and evaluating tools for managing processes for software intensive systems

IBM Security Privileged Identity Manager helps prevent insider threats

MOVING TO THE NEXT-GENERATION MEDICAL INFORMATION CALL CENTER

Choosing the Right Project and Portfolio Management Solution

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

HP Application Lifecycle Management

A Capability Maturity Model (CMM)

DevOps: Development Challenges and New Approaches

Requirements-Based Testing: Encourage Collaboration Through Traceability

How to Deliver Measurable Business Value with the Enterprise CMDB

Realizing business flexibility through integrated SOA policy management.

EVERYTHING YOU NEED FOR BRANDING ON MULTIPLE CHANNELS

Transcription:

An introduction to the benefits of Application Lifecycle Management IKAN ALM increases team productivity, improves application quality, lowers the costs and speeds up the time-to-market of the entire application development process

Table of contents Why should you use Application Lifecycle Management?...3 Moving forward with IKAN ALM...3 Multi-vendor approach...4 Process...4 Process phases overview...5 Requirements...5 Issue Tracking...5 Analysis...5 Development...5 Version Control...5 Build...5 Quality Assurance...5 Approval Process...5 Deployment...5 Improving the process...6 Improving quality (CMMI)...6 Improving traceability...6 Tools...7 s...7 How IKAN ALM works...8 s...9 Why use version control?...9 Why implement a continuous integration process?...9 Why have an automated build?...9 Why approval management?... 10 Why have an automated deploy?... 10 Why implement a rollback process?... 10 Why lifecycle management?... 10 s per stakeholder... 11 2 What is Application Lifecycle Management

Why should you use Application Lifecycle Management? Application Lifecycle Management (ALM) offers the capability to integrate, coordinate and manage all the different phases of your application development process, including the definition of requirements, design, development, versioning, build and testing stages, and, finally, the approval-based deployment to test and production. Throughout the ALM process, each step is closely monitored and controlled using integrated approval management, issue tracking and version control. Due to this overall approach, ALM has an enormous impact on the efficiency and costs of your application development process. Moving forward with IKAN ALM IKAN ALM is a cross-platform web-based solution for Application Lifecycle Management. It combines DevOps initiatives (continuous build and continuous integration) and lifecycle management to support the complexity of service-oriented architectures and highly distributed systems. IKAN ALM encompasses all aspects of the Application Lifecycle Management process offering build management, continuous integration, rebuild, manual build, release management, approval processes and deployment management. Within IKAN ALM, you define, implement and enforce software lifecycle processes, appropriate for your organization, including development, test, quality assurance and final production. IKAN ALM is methodology-independent, tool-independent and repository neutral (enabling cross-platform development). IKAN ALM complies with industry standards, such as CMMI, ITIL and PRINCE. It helps your organization to enforce, control, audit, report and facilitate best practices and guidelines for Application Lifecycle Management, and provides benefits which guarantee conformity with audit requirements and improve communications with the different parties across the IT system Higher productivity Lower costs Faster time-to-market Improved Application Quality What is Application Lifecycle Management 3

Multi-vendor approach In the fast-changing world of software development, the demands for smarter and more valuable tools are always on the rise. A single vendor simply cannot offer the many tools needed to cover each phase of the lifecycle. In practice, most of the software development companies use a variety of (best-of-breed) tools produced by different vendors. The challenge is to get all those systems to work together and to fully integrate them within the overall application lifecycle. The main advantage is that users can continue working with their preferred tools and no extra costs are involved for implementing new systems. IKAN believes in the multi-vendor approach and offers a fully compliant ALM 2.0 tool. No matter what development system(s) or platform(s) you are currently using, we have an ALM framework for you. Process Application Lifecycle Management (ALM) is a collection of processes, roles and deliverables, which is controlled and improved with each successive iteration in the software lifecycle. Different methods can be used, such as: The very strict, sequential "waterfall" method, whereby the development process has been predefined as a succession of events from coding over testing to quality control and, finally, release of the application. In this approach, each phase of the project must have been completed before the next phase can start. The spiral model, whereby features of the waterfall method and the prototyping model are combined. The incremental, iterative Agile approach, whereby the project is split up in smaller work cycles, and the process is adapted to the evolving needs of the project. No matter which method you use, IKAN ALM simplifies and improves your development process. Requirements Deployment Issue Tracking Analysis Development Version Control Build Quality Assurance Approval Process 4 What is Application Lifecycle Management

Process phases overview Requirements Defining business needs and choosing matching solutions are the key issues for a successful business process. Once those issues are handled, IKAN ALM keeps track of the implemented solutions. Issue Tracking Tracking and managing the issues and bugs that emerge during software engineering is a critically important task. An issue tracking system assists in creating, updating and resolving reported issues. It often also has a knowledge base containing information on customers, solutions to common problems and other data. It is a valuable asset for quality assurance and for programmers to keep track of reported software bugs and issues in their work. Build An important part of any software development process is the creation of reliable builds of the software. A fully automated and reproducible build, including testing, that runs many times a day, allows each developer to integrate his work on a daily basis, thereby reducing integration problems. There are several subcategories within the build process, including continuous build, rebuild, nightly build, forced build. Quality Assurance Too often software engineering uses quality standards that are far below those of other engineering disciplines. However, higher quality software can differentiate one company from others in its sector. Analysis For any software engineering project be it new application development or modification of an existing application quality starts with analyzing the business to ensure that system requirements clearly and accurately reflect business and customer needs. Poor analysis can lead to a wide array of quality problems, including fragility, lack of scalability, and resistance to modification. Development This is the actual coding of a software application. Software developers may choose from a wide variety of software tools to help them build the applications, such as the modern Eclipse platform, the Microsoft s Visual Studio.NET environment or the older C++ and Cobol development tools. Version Control Approval Process Reviews and approvals validate the completeness of a product and maintain consistency among its components. Controls such as electronic approval, document repositories and change-package based code reviews help to ensure that the necessary reviews can be done. Deployment At some point, a software application must be distributed to one or more servers at one or more locations. If the application is to meet or exceed service level agreements, then the IT operations team must assume responsibility for ensuring the quality of the roll-out. In this case deployment tasks and regular activities may be scheduled to start at any time, making it easier to coordinate deployments in advance of deadlines. This boosts development quality and productivity. Version control is an important part of making teambased software engineering work efficiently. Version control practices help people work on the same components in parallel, without interfering with each other s work. What is Application Lifecycle Management 5

Improving the process Each phase in the Application Lifecycle Management process typically attains a specific maturity level of process as shown on the chart. IKAN ALM helps your organization to achieve a higher maturity level. Improving quality (CMMI) The active discipline at each phase of the lifecycle defines and emphasizes quality differently because different project teams need different approaches. Working in a team raises the need for communication and changes the way teams would execute these approaches individually. By implementing controllable, improvable and unequivocal processes to improve the total quality, the team can achieve a higher maturity level within the overall CMMI (Capability Maturity Model Integration) framework. In the long run, it is improved quality that enables software engineering teams to deliver more projects on time, at lower cost, and with more features. By implementing the IKAN ALM solution around best-ofbreed software engineering tools, your organization s processes will evolve from chaotic and ad hoc (CMMI level 1) to continuing improvement/improving processes (CMMI level 5). For more detailed information, visit the Software Engineering Institute's website. Improving traceability It is common to have processes and controls in place for versioning. The classic versioning systems like CVS, IBM Rational Clearcase (UCM and Base), IBM Rational Clearcase LT, Microsoft Visual SourceSafe, Subversion, Serena Version Manager etc. offer extensive possibilities in this field. But when building, deploying and tracking the lifecycle pipeline of your software applications, you lose sight of your code as versioning tools do not cover these areas. IKAN ALM solves these issues by extending automation, control and visibility throughout the whole process, from development, through build and into production. Overal benefits Fewer errors Faster results Less recursive work in QA and testing Predictable and shorter roll-outs More reliable assets in the overall IT infrastructure Improvement in Total Quality Management. 6 What is Application Lifecycle Management

Tools Today there are many tools that can be used in software application development. For each discipline, be it requirements management, issue tracking, integrated development environments (IDEs), versioning or testing, there is a wealth of choice. We believe that a sound ALM solution should leave each stakeholder the freedom of choice on what tool he uses, and the ALM solution itself should handle the communication between the different tools. IKAN ALM gives the user that freedom. For example: A developer may use the IDE of his choice, as long as he can commit his code to a versioning system. Development teams can use any methodology, e.g., waterfall, spiral, prototyping, Agile,... Different development teams within an organization are able to use their versioning system of choice. IKAN ALM can communicate with existing issue tracking (or defect tracking) systems. Local, Decentralized or Cloud development environments are fully supported. IKAN ALM is multilingual and adaptable on user level. s The activities of the application lifecycle involve several stakeholders, each of them focusing on different aspects of the overall development process. Implementing IKAN ALM to manage the application lifecycle, provides a series of benefits for each group of stakeholders without compromising the responsibility of the other groups. For example: A developer wants to have early feedback on the code committed in the trunk stream (Continuous Integration) and wants to build the project in his IDE with the correct latest sources and common libraries. A project manager wants to have a clear overview of the project status: is the latest code in the trunk buildable? do the unit tests run successfully? what are the guys of QA testing? which is the current production version? operators prefer an automated deploy process wherein they can control the environment variables. The CIO and CEO of a corporation would like to see an automated and repeatable process with an audit trail. What is Application Lifecycle Management 7

How IKAN ALM works For the following demonstration of how IKAN ALM works, we assume that everything has already been set up (the different possibilities of IKAN ALM and development methodologies are beyond the scope of this document). The only thing a developer needs to do is commit his code to the Version Control Repository. Once committed, IKAN ALM will: Notice the changes in the VCR Retrieve the code from the VCR and build the application Tag the code in the VCR and update the Issue Tracking System Deploy the application to a predefined level (e.g., Test level) Notify all involved stakeholders Wait for user approval to deploy the application to the next level (e.g., level) 8 What is Application Lifecycle Management

s Every step in the ALM process solves different problems for different stakeholders. Here are some common answers. Why use version control? Keep track of the changes. Safe storage of all historic data. Easy to revert to an earlier version. No loss of data. Why implement a continuous integration process? Concentrate on developing software. Get early feedback on committed code. Get early feedback on code quality. Find weak spots. Get high-quality production code. Fewer errors. Repeatable process. Faster and shorter release cycle. Why have an automated build? No loss of valuable time trying to build manually. Allow to do more builds Give rapid feedback. Everything is coordinated by a script. Prevent mistakes. What is Application Lifecycle Management 9

Why approval management? Improve communication across the project team. Control the evolution in the different stages of the lifecycle. Build in audit moments. Control deployment to the production servers. Traceability. Who authorized? Why have an automated deploy? Guarantee that production will receive the quality code that he created. Speed up the process and help reduce errors. No manual intervention reduces risk. Increase the release cycle frequency and productivity. Why implement a rollback process? More time to fix defects. Can always revert to the latest good release. Reduce the risk of service outage. Ensure return to exact prior state. Quickly resolve errors in production. Why lifecycle management? Easily build code for the test or production level. Have a clear view of the development process and status. Automate production deployment. Reduce the amount of rework needed. Easily answer the questions: Who? When? Why and What occurred? 10 What is Application Lifecycle Management

s per stakeholder Development Testing Build and Release management CFO (Chief Financial Officer) CEO (Chief Executive Officer) External (shareholders, government, auditors) No more repetitive or unwanted costs. Cutting costs by reusing components. No changes in working environment, no need to learn new skills. 15% more productivity. Strong communication between Development and Testing. Complete separation of duties. No more risky deploy mistakes. 25 % more productivity in the build and release phases. Increased productivity. Controllable and enforceable rules for test and approval. Cost-cutting. Overall reporting on IT level. Complete project insight. Full compliance of the whole project. Included traceability of actions. Overall reporting on business level. Control over IT ownership costs. High CMMI level and control over budget and performance. Full compliance to regulators. Stronger and more flexible organization. Complete and traceable compliance. What is Application Lifecycle Management 11

Copyright 2015 IKAN Development N.V. The IKAN Development and IKAN ALM logos and names and all other IKAN product or service names are trademarks of IKAN Development N.V. All other trademarks are property of their respective owners. No part of this document may be reproduced or transmitted in any form or by any means, electronically or mechanically, for any purpose, without the express written permission of IKAN Development N.V. IKAN Development N.V. Schaliënhoevedreef 20 A 2800 Mechelen Tel. +32 (0)15 44 50 40 info@ikan.be www.ikan.be