How to Successfully Achieve Application Lifecycle Management

Similar documents
Testing, What is it Good For? Absolutely Everything!

Global Headquarters: 5 Speen Street Framingham, MA USA P F

WHAT IS APPLICATION LIFECYCLE MANAGEMENT?

Data Masking: A baseline data security measure

When companies purchase an integrated learning

Camber Quality Assurance (QA) Approach

DRUPAL WEBSITE PLATFORM BUYER S GUIDE

Chapter 6. Iteration 0: Preparing for the First Iteration

Is PPM Enough? A white paper from Digité, Inc. om Digite, Inc. Lessons from Discussions and Deliberations with Digité customers and partners

Application Outsourcing: The management challenge

agility made possible

PROJECT SCOPE STATEMENT

Creative Shorts: The business value of Release Management

REDEFINING QUALITY ASSURANCE

Creating the Strategy that Drives Your CRM Initiative. Debbie Schmidt FIS Consulting Services

Applying ITIL v3 Best Practices

BRIDGE. the gaps between IT, cloud service providers, and the business. IT service management for the cloud. Business white paper

Identifying Application Performance Risk

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

Development, Acquisition, Implementation, and Maintenance of Application Systems

Agile for Project and Programme Managers

Best practices in project and portfolio management

Best Practices Statement Project Management. Best Practices for Managing State Information Technology Projects

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

PMP Exam Preparation Answer Key

The Blending of Traditional and Agile Project Management

How To Develop An Application

October 7, Presented to. The PMI Washington DC Chapter. Pedro Agosto. Director of Client Services, XA Systems, LLC.

Foundations for Systems Development

How To Understand The Business Analysis Lifecycle

Operationalizing Application Security & Compliance

Building Software in an Agile Manner

IBM BPM Solutions Addressing the Enterprise Business Process Management

Faster, Easier and Cheaper Software Development: Is It Possible?

5 questions every customer asks about CA Services?

The PMP Application Process

The Agile Maturity Model. Applied to Building and Releasing Software.

The Clinical Trials Office: Understanding Organizational Structure, Functions through a Real-World Lens

An introduction to the benefits of Application Lifecycle Management

Accelerate Application Development through DevOps Automation

Anatomy of an Enterprise Software Delivery Project

What is project management?

Project Services. How do we do it?

HOW TO USE THE DGI DATA GOVERNANCE FRAMEWORK TO CONFIGURE YOUR PROGRAM

Software Development In the Cloud Cloud management and ALM

How To Manage Cloud Management

Continuous IT Compliance: A Stepwise Approach to Effective Assurance BEST PRACTICES WHITE PAPER

Sales Key Performance Indicators

Getting Your Business Back

L Impatto della SOA sulle competenze e l organizzazione ICT di Fornitori e Clienti

SDLC- Key Areas to Audit in IT Projects ISACA Geek Week /21/2013. PwC

Establishing your Automation Development Lifecycle

Infrastructure As Code: Fueling The Fire For Faster Application Delivery

Session-1: Business Enterprise Applications- Overview

Project Management for Implementing the Smart Grid By Power System Engineering, Inc. Abstract PM Methodology Using a Repeatable Project Management

In many development organizations, software developers rely on technical documents to communicate and gain consensus on important development

CDC UNIFIED PROCESS PRACTICES GUIDE

STSG Methodologies and Support Structure

Global Software Change Management for PVCS Version Manager

Tips for adopting a private cloud strategy to overcome IT challenges and realize benefits

LECTURE 1. SYSTEMS DEVELOPMENT

Increase Software Development Productivity:

Accelerating Software Security With HP. Rob Roy Federal CTO HP Software

The key to success: Enterprise social collaboration fuels innovative sales & operations planning

Agile Testing in the Cloud

Software Development Methodologies

Call or Visit us Today sponsors

Nova Software Quality Assurance Process

Legacy Application Modernization

ANSIBLE TOWER IN THE SOFTWARE DEVELOPMENT LIFECYCLE

CHAPTER 3: MANAGING IMPLEMENTATION PROJECTS

SESSION 709 Wednesday, November 4, 9:00am - 10:00am Track: Strategic View

Resource Article Talent Management: Seven Keys to Success

7 things to ask when upgrading your ERP solution

IKAN ALM and Collabnet TeamForge

White Paper Software Quality Management

Project Start Up. Start-Up Check List. Why a Project Check List? What is a Project Check List? Initial Release 1.0 Date: January 1997

PROJECT MANAGEMENT PLAN Outline VERSION 0.0 STATUS: OUTLINE DATE:

SOLUTION BRIEF: CA IT ASSET MANAGER. How can I reduce IT asset costs to address my organization s budget pressures?

Delivering Corporate IT Projects; Do data quality policies and initiatives help or hinder?

Executive Checklist to Transitioning Processes

DIGGING DEEPER: What Really Matters in Data Integration Evaluations?

Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment

Capacity Management - Is it a Development or Service Management Discipline?

Top five lessons learned from enterprise hybrid cloud projects

Testing & Quality Assurance Capabilities

Crossing the DevOps Chasm

Genesis Energy delivers IT projects faster with standardised processes and CA Clarity PPM.

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

Reports to: Information Technology Leader. Position Applications Developer Team Lead HSF080 HSF062

Agile Development for Application Security Managers

Product Lifecycle Management in the Food and Beverage Industry. An Oracle White Paper Updated February 2008

Risk and Contingency Planning. Today s Topics. Key Terms. A Vital Component of Your ICD-10 Program

WHITE PAPER Improving Your Supply Chain: Collaboration, Agility and Visibility

Business Analysis Capability Assessment

Top 10 Issues to Consider When Evaluating a Multi-Channel Management Platform. Steve Weber President and CEO sweber@nchannel.com

Applying CMMI SM In Information Technology Organizations SEPG 2003

Incorporated in January, QA and QC expertise focused on functional, performance and application security validation

Transcription:

E-Guide How to Successfully Achieve Application Lifecycle Management Application lifecycle management (ALM) seems to have an identity crisis. The constant state of flux around the various tools and components that attempt to help automate ALM practices are what really drive confusion around the term, ALM. This SearchSoftwareQuality.com expert E-guide explores the many different masks that ALM wears and how to make sure your solutions wears the right one for your organization. Read this E-Guide to help you achieve successful application lifecycle management. Sponsored By:

E-Guide How to Successfully Achieve Application Lifecycle Management Table of Contents Understanding application lifecycle management's complex identity Eleven steps to kickoff application lifecycle management Resources from ASG Sponsored By: Page 2 of 10

Understanding application lifecycle management's complex identity By Mike Jones Application lifecycle management (ALM) seems to have an identity crisis, or, at the very least, appears to take a cue from a "Scooby Doo" villain. Once a common definition begins to gain acceptance, the technology pulls off its mask and shows itself to be something completely different. Even if you've spent your lifetime in the application development space, it's still easy to be confused by such a nebulous and (sometimes) schizophrenic term. What really drives the confusion around the term ALM is the constant state of flux around the various tools and components that attempt to help automate ALM practices. I believe the key here is to keep the ultimate goal of ALM in focus: to improve application development and maintenance projects, making these projects more predictable and transparent to benefit the development team and the business as a whole. Agreeing on the end goal of ALM is an important step but only marginally helps us define the term. To keep digging for a solid definition, let's examine the tools and technologies that are often classified as "ALM." According to various industry analysts and software vendors, at any given time, the following classes of tools are categorized as ALM tools including: Requirements analysis & management tools Modeling and design tools Project management tools Configuration management tools Build management tools Software testing Release management tools Issue management tools The above list provides a good hint into the complexity of really managing the application lifecycle, especially if you're trying to define ALM and implement some kind of solution for your business. For most, buying all of the tools above is simply not reasonable. For others, Sponsored By: Page 3 of 10

the problem lies in taking one or more tools from each category and trying to make them work together. So what technologies should you consider in helping define your ALM solution? It's not so much about picking specific products for your ALM implementation, but rather finding the right process and framework. To get started I recommend you begin defining the key process and organizational constraints across the entire application lifecycle in your company-- don't just focus on a specific stage of the cycle. So now with the end goal of ALM in mind and your application lifecycle processes understood, you can take the next step and begin to look at the underlying tools and technology that should support it. But just what is it? First, let's consider the current definition of ALM -- let's look at the description offered up by TechTarget: "ALM is a set of disciplines that together govern the process of turning business ideas into software." My take? This definition works fine as long as we are not short sighted on how broad the definition needs to be. We cannot forget the operational and measurement aspects of the application development process. Thus here is my tweak on the definition above and what I like to call ALM 2010: "ALM 2010 is the set of disciplines, processes and tools which impact application delivery, application operations and end user teams in the effort to successfully deliver and maintain application software." So, with this definition I would like to highlight three key needs of ALM 2010 that should not be overlooked. In addition, for any modern enterprise, it's more than just implementing a static ALM process and set of supporting tools. You need to be prepared for your ALM approach to evolve and understand what internal (not just technology) processes will be affected as your application landscape evolves faster than it has before. With this in mind, I propose your ALM 2010 approach must encompass the following: Sponsored By: Page 4 of 10

Seamless cross team collaboration, which includes requirements, issues, code changes and continuous integration A 'build to change' philosophy Fully integrated testing and performance management capabilities For ALM to live up to its hype in 2010 (and potentially beyond), each of these needs must be successfully addressed. So what does each entail? Seamless cross team collaboration: I propose that you need to invest in the processes and supporting tools to make sure you are able to drive application delivery and maintenance using a diverse set of team members. The modern shop must coordinate distributed development resources in such a way that change impact is minimized and code management is simplified. You will need to easily collect feedback from quality assurance and end user team members spread across different locations, and the feedback must be collected as close to the conception point as possible and automated to eliminate ambiguity. Operational team members must have their processes addressed and be included in the ALM definition for you to be successful. Last but not least, each of these team members needs to have transparent access to information regarding application status to avoid confusion and breakdown of the processes. "Build to change" philosophy: A 'build to change' philosophy requires you to adopt some form of agile development process. I recommend you do this for both new development and maintenance activities. By adopting an agile approach you will be forced to look into streamlining key aspects of your development tools and how to eliminating the risk associated with rapid change. This will more than likely impact everything from your IDE t o your build and configuration management tools not to mention how you capture requirements and feedback. Fully integrated testing and performance management capabilities: I call this out specifically as testing and performance management are often overloo ked in many ALM situations. If you are going to adopt a 'build to change' philosophy as part of your ALM 2010 approach these items must be seamlessly integrated into your process and platform. If not, you will miss quality objectives by not having the time to adequately test and monitor for performance issues. Sponsored By: Page 5 of 10

ALM 2010 is no longer just about bringing a business idea through to a software application- - it's so much more than that. ALM 2010 has to deal with more shareholders having input in the development process, the need to build and change rapidly and the tools to make this happen while reducing risk and increasing transparency. Is my ALM 2010 definition off the mark? Perhaps-- but I propose you use it as a starting point to provide your specific ALM definition with the greatest flexibility. With this simple yet broad ALM 2010 definition, it can really wear whatever mask you would like. Need more collaboration? Add in the proper tools and policies to your solution. Want tighter process management? Make the appropriate tweaks. ALM wears many masks-- make sure your solution wears the right one for your organization. Sponsored By: Page 6 of 10

Eleven steps to kickoff application lifecycle management By John Scarpino, D. Sc. Application lifecycle management (ALM) is not to be confused with the software development lifecycle (SDLC). While ALM is embedded within the SDLC, it is actually a more detailed interface that dictates how application development is conducted. In today's world, we can manage our application development in several different ways. Each company, manager and depart ment has its own method of supervising what they do and how they conform with company standards when developing an application. For example, a compa ny that develops software using a waterfall SDLC is quite different than a company that develops software using an agile SDLC. Software tools are now coming out with ALM options, but though a tool may have an ALM component, each company will use it differently. The methods through which a software development company uses (or doesn't use) ALM is indicative of how well its end product will meet criteria for being successful. ALM processes should be defined and agreed upon by all internal and external stakeho lders involved during and after application development. A single person or role can not take the place of a multifaceted process. Sometimes projects fall into the reins of a project manager who dictates process based on his or her view of what process should be-- though he or she is more concerned with scope, time and cost. The impact of process and ALM (how well the requirements meet the expectations of the customers) is the quality assurance depart ment's responsibility. Below are 11 steps that can help you achieve successful application lifecycle management. 1. Define the roles that should be part of the ALM. Define who is responsible for each role in information technology, software technology, quality assurance, software testing, the lines of business, and on the customer's side. Sponsored By: Page 7 of 10

2. Define the goals and objectives of each role. If this step isn't followed through, then the details of each role will not be understood and the question of "what do I do?" will never be clear. This step helps to avoid the "he-said / she said" and fingerpointing. 3. Anticipate a certain amount of internal-process dependency. Outline and illustrate what work and which roles will depend upon your actions and deliverables. If this is not clearly documented, other people working on the project may assume that time is not important, or deliverables can be delayed or covered up if done incorrectly. A proper ALM process ensures that all levels of work are done correctly and follow quality standards. 4. Develop a risk and contingency plan. Every role and each step in the process has the potential to make waves if something goes wrong. Make sure you think about how a missed deadline or objective could be rectified without a major disruption to the overall ALM process. If the risks are not understood from the beginning of the project, then you will be constantly working in "ticking time bomb" environment. Problems affecting time, functionality, quality, outputs, security, performance, schedule and cost can all add to the risk of the end product, the application and the customers. Thus, it is always better to be proactive with a constructive, reusable lifecycle. 5. Prepare a process. It is important that you outline a flowing pathway of communication and documentation. This is where the SDLC comes into play and defines how a company and/or depart ment will operate. 6. Foresee each individual's potential output. Understand the capabilities of each person on your team and set expectations accordingly. 7. Plan plan again and plan some more! If you couldn't already tell, detailed planning is a must for ALM to be successful. Each role must be defined so that when a project is started each role's objectives, dependencies and needs are known. 8. Know how communication affects your clients a nd other external stakeholders. When you interface with a client and that client expects something in return, how will you involve them in the process? Communication between you and your customers is crucial, since the earlier your clients are involved the more they will feel a part of the process; they will be more likely to accept your thoughts and ideas. Sponsored By: Page 8 of 10

9. Set up quality assurance checkpoints to ensure your ALM process is working. This step is usually conducted by a quality analyst, whose job is to ensure that all processes are running like clockwork. (A quality analyst is not to be confused with a software tester whose role should have already been defined in step number one.) When a project is being run by a project manager, they often want to also manage ALM but if this occurs it is difficult to provide good quality assurance since there is little or no opportunity for outside evaluation. Quality checkpoints by a quality analyst help create balance within process. 10. Work toward continual improvement. At the end of the first lifecycle attempt, it is QA's responsibility to delineate what went right and what went wrong in order to correct any bumps in the process. A "lessons learned" document should be prepared and presented to all of the key stakeho lders, internally and externally, and discussion should ensue about how to improve the process for the next attempt. If not, then a process truly does not exist. This tends to happen if one person or team is "running the show" rather then a collective group. 11. Provide governance. After a constructive baseline is set, all process changes must go through a formal procedure to ensure new rules and changes within the company's adoption of the ALM process. This is why step number nine (quality assurance checkpoints) is so important. QA monitors the processes that put into place. Governance then works hand-in-hand with regulatory in-house and external audits for standards and assurance. A successful ALM process is one that is understood by the all of the individuals involved in the project not one of which is invisible, including external stakeholders such as customers. Every company is unique and the same can be said for their processes and technology; but if software development organizations start using the 11 steps outlined above, they will be on their way to better ALM design and a more successful future. About the author: Dr. John Scarpino is director of quality assurance and a university instructor in Pittsburgh. You may contact him at Scarpino@RMU.edu. Sponsored By: Page 9 of 10

Resources from ASG ASG Applications Management Solutions ASG-becubic: for Application Discovery and Understanding About ASG ASG provides a full range of practical software solutions that help IT organizations lower costs, save time, and make proactive decisions that drive business success. Best known for its broad portfolio of best-value, results-driven technologies, ASG partners with 85 percent of the world's largest companies to optimize IT service delivery in both mainframe and distributed environments. Founded in 1986, ASG is a privately held global company based in Naples, Fla., with more than 70 offices worldwide. Sponsored By: Page 10 of 10