White Paper Software Quality Management

Similar documents
Application Outsourcing: The management challenge

Banking Application Modernization and Portfolio Management

Crossing the DevOps Chasm

The 2-Tier Business Intelligence Imperative

Implement a unified approach to service quality management.

Delivering Cost Effective IT Services

Gain control of your applications. Derek Britton, Product Management Dennis Voorhees, Systems Engineer

Service Performance Management: Pragmatic Approach by Jim Lochran

Application Value Assessment

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

Cisco Unified Communications and Collaboration technology is changing the way we go about the business of the University.

WHITE PAPER OCTOBER Unified Monitoring. A Business Perspective

Integrated Stress Testing

Mergers and Acquisitions: The Data Dimension

ROUTES TO VALUE. Business Service Management: How fast can you get there?

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

How To Get A Good Deal On An Application Outsourcing Contract At Anconda.Com

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

Migration Planning and Execution:

SOLUTION WHITE PAPER. Align Change and Incident Management with Business Priorities

Choosing the Right Project and Portfolio Management Solution

The Worksoft Suite. Automated Business Process Discovery & Validation ENSURING THE SUCCESS OF DIGITAL BUSINESS. Worksoft Differentiators

DYNAMIC INFRASTRUCTURE Helping build a smarter planet

Transform Your Bank in Measurable Steps

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

Application Test Management and Quality Assurance

Improving Java Migration Outcomes with Rapid Assessment

Turning Strategic Insight Into Business Impact

Planning a Basel III Credit Risk Initiative

Next-Generation Performance Testing with Service Virtualization and Application Performance Management

VMware Virtualization and Cloud Management Solutions. A Modern Approach to IT Management

From Capability-Based Planning to Competitive Advantage Assembling Your Business Transformation Value Network

Redefining Infrastructure Management for Today s Application Economy

KPMG Advisory. Microsoft Dynamics CRM. Advisory, Design & Delivery Services. A KPMG Service for G-Cloud V. April 2014

agility made possible

Frequently Asked Questions Plus What s New for CA Application Performance Management 9.7

Industry models for insurance. The IBM Insurance Application Architecture: A blueprint for success

IBM Software Cloud service delivery and management

White Paper: AlfaPeople ITSM This whitepaper discusses how ITIL 3.0 can benefit your business.

Master data deployment and management in a global ERP implementation

Simplify and Automate IT

Enabling Data Quality

IT Financial Management and Cost Recovery

Oracle Cloud for Midsize Service Companies. An Oracle Industry Brief

Use service virtualization to remove testing bottlenecks

Navigating Uncertainty: Keys to Success in a Changing Environment

IBM Software IBM Business Process Management Suite. Increase business agility with the IBM Business Process Management Suite

Module 6 Essentials of Enterprise Architecture Tools

Michigan Criminal Justice Information Network (MiCJIN) State of Michigan Department of Information Technology & Michigan State Police

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

How To Improve Your Software

EMA CMDB Assessment Service

IBM Rational: Sustainable automated testing for SAP Ecosystems with Worksoft Certify

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

BMC Control-M Workload Automation

Sonata Managed Application Lifecycle Services

White Paper: Application and network performance alignment to IT best practices

Driving Business Value. A closer look at ERP consolidations and upgrades

Four Clues Your Organization Suffers from Inefficient Integration, ERP Integration Part 1

DATA QUALITY MATURITY

A Simple Guide to Material Master Data Governance. By Keith Boardman, Strategy Principal

Data Governance Implementation

Simplify and Automate IT

IBM Tivoli Netcool network management solutions for enterprise

Accenture & NetSuite

JOURNEY TO A BOUNDARYLESS ENTERPRISE

CONSULTING SERVICES Managed IT services

Functional Validation of SAP Implementation

Analytics Strategy Information Architecture Data Management Analytics Value and Governance Realization

Operational Excellence. Integrity management. Cost management. Profitability management. Knowledge management. Plan & Strategy EAM LIFE CYCLE

PROACTIVE ASSET MANAGEMENT

The Continuous Delivery Tool Chain: So Many Choices!

Issue in Focus: Integrating Cloud PLM. Considerations for Systems Integration in the Cloud

Agile Cloud-Enabled Services (ACES)

CYBER SECURITY, A GROWING CIO PRIORITY

Riverbed Performance Management

How To Improve Your Business

Reduce QA Cost by Improving Productivity & Test Optimization

Data Center Knowledge, Vision Control

SOA Testing Services. Enabling Business Agility and Digital Transformation

What is a process? So a good process must:

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

Datacenter Migration Think, Plan, Execute

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

Data Governance Implementation

Five best practices for deploying a successful service-oriented architecture

Beyond the Single View with IBM InfoSphere

Business Data Authority: A data organization for strategic advantage

Lowering business costs: Mitigating risk in the software delivery lifecycle

Why Energy Management Is Driving Adoption of Data Center Infrastructure Management Solutions

Cisco Network Optimization Service

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

DCIM Software and IT Service Management - Perfect Together DCIM: The Physical Heart of ITSM

Transcription:

White Paper What is it and how can it be achieved? Successfully driving business value from software quality management is imperative for many large organizations today. Historically, many Quality Assurance initiatives and processes have been targeted at meeting specific regulatory or compliance obligations rather than supporting IT in meeting business objectives in terms of cost, service and agility. Poor software quality both initial and degraded over time is a key driver of technical debt and reducing this evel of debt is a key goal for most organizations in these challenging economic times. Understanding and managing software applications and their quality in context of the real world business they support requires deep understanding of the complete structure of all components and the way they interconnect to execute end to end business processes to ensure contextual software quality throughout the IT landscape. The EZSource 3 step approach takes a practical view of what needs to be done and what can be achieved from Implementing software quality management.

What is? 77% Application of organizations software agree quality that is a aligning software combination quality of high metrics quality code with the business components delivers and high significant quality interactions value. and interdependencies Only to create 29% a actually functioning do it. whole. Few IT development teams are able to guarantee consistency and quality once code components are assembled into that whole. Over 80% of quality issues are not uncovered until integration test by which point it is often expensive and time consuming to rectify. Managing the quality of business software applications is rapidly moving from the subjective to the objective, as tools that support and automate the process advance become affordable and practical to implement. That said, simply analyzing and assessing individual code components, whilst in itself valuable for improving the quality of development work is not what intrinsically delivers business value in terms of : Cost to serve Operational performance Service delivery Maintainability Added to that, the level of Technical Debt an organization has is also driven in part by software quality, as the accumulated cost of bringing application software up to date is greatly increased by poor quality and high complexity. Driving software quality means appraisal, improvement and management across the entire IT value chain which in real terms is multiple application suites serving end to end business processes. Think of a typical business process; in today s world, it is likely to cross IT boundaries in terms of : Software packages Application languages Technical environments It is also likely to cross boundaries enabled by complex interfacing or integration software layers with complex mapping. For example, in a Banking environment, a client front end written in Java may link to credit processing on a mainframe, written in COBOL which in turn links to a SAP Core Banking package : Page 1

CIO s and IT management teams need to begin a new type of dialogue with the rest of the business about maintaining integrity of critical application assets Gartner: Measure and Manage Your IT Debt. August 2010 Applying consistent quality metrics and managing those across all the different applications, components and environments is a real challenge. Practically speaking, these are required to underpin a shift towards Agile development methodologies, where a focus on compressed delivery timescales and improved quality of the end result needs careful management. Embedding processes and automated, integrated tools throughout the IT organization ensures that quality standards are defined, applied and managed right through the application lifecycle by IT role and provides the right information at the right time in that lifecycle for software quality management to be applied. IT Role Architecture Design Development Test Support Management Focus Areas to apply Architecture standards, Application Architecture, Integration Architecture Technical Platforms, Upgrade Planning, IT Strategy Application Design, Impact Assessment, Coding Standards, Integration, Common Services Design Coding Standards, Code Quality, Integration, Unit Test, Fault Fixing, Enhancements Integration Testing, UAT, Regression Testing Application Maintenance, Fault Analysis/Resolution, Application Performance Monitoring Application Portfolio Management, Change Impact Analysis, Service Management, Program/Project Management Driving software quality right through the lifecycle ensures that : Software quality issues are identified and resolved early Software quality is monitored using key metrics such as complexity and cost Improvements are tracked over time Outsourced delivery is managed to a high level of quality Applications delivered are robust and fit for purpose Maintenance and enhancement becomes faster and cheaper Technical debt is understood and reduced as a result In this way the IT organization can demonstrate tangible business value from the application development and maintenance budget (typically around half of the overall IT budget) In terms of : Reducing risk from application outages, compliance issues, security threats Underpinning the move to Agile development processes Reallocation of valuable resources to application enhancement for business value rather than pure application maintenance and fault fixing Exploiting existing application assets to the maximum Page 2

Structural quality of business applications drives more than 50% of application development and maintenance costs in most large organizations. The 3 step approach to embedding Software Quality Management in your organization To successfully institutionalize software quality management processes and tools within an IT organization, there needs to be an easy to understand, consistent approach applied with the same toolset supporting each step providing a single version of the truth about the inventory, structural quality and improvement over time. This should be based on objective analysis of the actual code components rather than subjective assessment of design information which is often out of date or does not provide enough in-depth information to developers to apply quality standards. The lack of detailed inventory and structural information in most organizations leads to IT management teams having limited awareness of how software quality affects costs, resources and service. More than 80% of companies say they collect and report on quality metrics; only 24% of them actually use professional tools to underpin this process. Building on that platform to assess changes in depth in order to make improvements, establish a baseline for changes and actively improve the architectural and structural quality of the entire application landscape gives a higher quality of delivery. Subsequent management of software quality depends on accurate information feeding clearly defined key metrics tracked over time to ensure improvements are (a) being achieved and (b) contributing tangible value to the organization. After more than a decade of tight application maintenance budgets with a subsequent backlog of application maintenance and improvement activity in many organizations, the recognition that improving end to end software quality addresses these challenges effectively means that accurate and accessible information at each stage of the process is more critical than ever, with automated analysis and reporting tools providing the foundation. Page 3

Step 1 Appraise Up to 50% of maintenance effort is spent trying to understand applications rather than adding functionality. In many large organizations there will be a differing view of the application software portfolio depending on who you talk to. This is largely influenced by their perspective; developers look at code components, architects look at the overall landscape/standards, project managers look at costs and resources and most importantly business users look at functionality and the level of service provided. Getting a common baseline about the quality of the entire application software portfolio is at best non-trivial and at worst an IT manager s worst nightmare unless there is : A clearly defined process A commonly agreed set of metrics An integrated suite of tools to automate data collection (and keep it up to date) An easy to use reporting/tracking mechanism Implementing strategic application lifecycle planning and portfolio management is next to impossible without the first stage on the appraisal journey the INVENTORY. This should include : All technical platforms and languages All application components All interdependencies It should be derived from the application source code WHICH IS ACTUALLY DEPLOYED and reflects the true situation rather than from design documentation which may be incomplete and out of date. The second stage, ASSESSMENT is the next level of information, based on the inventory. This is a more in depth analysis of the applications and their components using either industry standard or custom metrics and is the first view of application software quality. Typically, this would include : Complexity (e.g. Function Point, McCabe, Maintainability Index, Heuristic) Quality (e.g. Dead Code, Failed Jobs) Cost (e.g. Development Weekly Cost, Planned vs Actual Cost) This then allows an overall view to be formed of the application software quality and prioritize areas for improvement whether by: Simplification Enhancement Upgrade Modernization Replacement Cloud migration It should also support estimation of change impact in terms of cost, time and resources. Page 4

Step 2 Improve Structural quality issues in applications are often the root cause of outages, defects, poor performance and security violations. Without deep, automated understanding and impact analysis capabilities they can often be almost impossible to detect. Determining how best applications can be improved, both individually and in context of the overall application software portfolio and then applying the improvements in a development context requires discipline, accurate analysis information and automated tools which can handle the complexities of change impact across application platforms, languages and versions. Development teams need a common repository which provides them with a continually updated view of the application code components across development, test and production environments plus role based views according to job function. Using a common toolkit enables developers to consistently conform to : Architectural constraints, especially in large, legacy systems Coding standards Use of common services and interface mechanisms Consistent use of data, including update mechanisms Compliance regulations Being able to assess impact, perform where used type analysis allows developers to focus only on affected components and reduces the risk of structural defects only manifesting themselves at the time of integration test. Technical teams can exchange information and make application software improvement across technical platforms. This provides an accurate basis for integration, risk based regression and user acceptance testing as all the changes can be executed in parallel and packaged for release. Automated updates to code analysis based on changes can also be used to ensure immediate quality and consistency metrics across development, test and production environments. This can be particularly helpful to maintaining quality in an organization where core application maintenance and enhancement activity is outsourced, either to a single or multiple providers. It also enables the IT organization of the application owner to ensure that the outsource provider is : Adhering to architectural standards Adhering to coding standards Committed to improving quality Institutionalizing these tools and techniques helps IT to deliver todays software assets rather than tomorrow s legacy headache. Page 5

Step 3 Manage Actively monitoring and managing quality improvements over time is a critical process for IT managers to reduce application rework, improve time to market and accurately predict performance. Managing application software quality no longer has to be dependent on IT managers having in depth technical understanding of application code components. It also reduces reliance on out of date or incomplete design documentation and removes the worst case scenario that entire application knowledge is lost due to staff turnover. Using automated reporting and dashboard tools, based on the single repository of analysis results generated during the Assess and Improve steps, automatically updated as the quality improvements are made to the underlying code allows IT managers at all levels to gain insight into how these improvements are delivering tangible business value. Combining and correlating key application software metrics around quality and complexity with configurable IT business metrics such as : Cost; Resource; Time to implement; Performance; Service delivery can make all the difference in terms of understanding not only today s situation but also whether the IT organization is improving over time. This drives : Investment prioritization for new application projects and programs Higher levels of project certainty on timescale, cost and resources Freeing up of IT budget from maintenance to business enhancement Better dialogue between business and IT on the value delivered Of course, management of application software quality is an ongoing process and needs to be maintained. More than 80% of organizations who operate a mature management process supported by robust, dedicated tools for application software quality management clearly demonstrate value to their business organization. Page 6

Recommendations High quality software is more than just high quality code. Using automated tools and technology to support appraisal, improvement and subsequently manage software quality can reduce application development and maintenance costs by up to 50%. Whatever the cause of poor application software quality in an organization, it is clear that the cost of fixing it is immense. Quality weaknesses stem from 2 primary sources : Violation or lack of good architectural and coding standards, resulting in structural flaws Legacy code issues carried over from release to release, resulting in applications that do not integrate correctly with new applications or have defects not previously exposed With hindsight, many past mistakes and expedient decisions would not be repeated by implementing a robust process and supporting toolkit enables us to fix past mistakes and take care that they do not recur. Using our 3 step approach, we recommend that you take action now to improve your software quality management and get on the road to significant reductions in both Technical Debt and future development and maintenance costs. 1. Appraise your application software portfolio a. Establish your baseline b. Set your priorities for improvement c. Set your improvement targets and define your metrics d. Plan your improvements and honestly assess the cost 2. Improve the quality of your application software a. Simplify and modernize where you can b. Transform where you can t or where better solutions are available 3. Manage your software quality continuously a. Track/monitor your improvements over time b. Adjust and adapt your metrics to business needs c. Look at your entire application software portfolio, not just point code Page 7

Using EZSource to underpin Software Quality Management has delivered savings in excess of 30% to our customers on application maintenance and development activities. About EZSource Established in 2003 and now with more than 50 customers worldwide, EZSource is a market leader in application understanding and measurement; we address both the mainframe, distributed and SAP/ERP worlds with our EZSource suite of products. We have achieved a proven track record of value delivery with high profile clients such as CA, Maybank, 7-11 and Fujitsu plus proven partnership potential with large software and services providers such as CA, SAP, Serena, IBM, and CSC. Our 3 step approach to has been designed to be automated and supported by our EZSource product suite. About the author Bev Brookes is VP Marketing & Services for EZSource. Prior to joining the company in 2010, Bev was an IT Advisory Partner with KPMG in London and with Deloitte in Zurich With over 25 years in the IT industry, assisting customers with major, business driven IT transformation programs and working with global CIO s on IT strategy and applications portfolio management, she has a proven track record of delivering business value from IT. Contact her at bbrookes@ezsource.com or visit our website www.ezsource.com Page 8