White Paper. Code Maintenance Best Practices. 4 Essential Skills for Lean Times

Similar documents
SOLUTION BRIEF RSA ARCHER PUBLIC SECTOR SOLUTIONS

SOA Governance is For Life, Not Just a Strategy

2 Business Processes and Forms with Office SharePoint Server 2007

Trusted by more than 150 CSPs worldwide.

ZE believes that the only way to grow is to act honestly, with integrity, and with the customer s best interests in mind.

In Pursuit of Agility -

Simplify and Secure: Managing User Identities Throughout their Lifecycles

Building a Foundation for Effective Service Delivery and Process Automation

Taking Control of Open Source Software in Your Organization

IBM WebSphere Information Integrator Content Edition Version 8.2

Cognos 8 Business Intelligence. Evi Pohan

IBM WebSphere Service Registry and Repository, Version 6.0

Building next generation consortium services. Part 2: Next generation IT-services why, what, when?

Datasheet. CollabNet TeamForge Version Control

Symantec ediscovery Platform, powered by Clearwell

SERVICE ORIENTED ARCHITECTURE (SOA)

AGILE ITIL SOFTWARE. Data Sheet AGILE ITIL SERVICE DESK AND ITSM JUMP START YOUR SERVICE DESK ITIL CERTIFIED PROCESSES WHOSE ITIL?

Enterprise Services Repository

Build your application better, smarter, faster. Using xrm to Accelerate Application Development

Analyze, Design, and Develop Applications

New and noteworthy in Rational Asset Manager V7.5.1

ENOVIA VPM Central. your world in formation. Product overview. Key benefits

Accelerate Business Success With XRM

Cognizant Digital Media Services: One partner for all your content needs

WUSTL Enterprise Architecture Principles

Oracle BPM Release New Features

Using Java to Control IoT Development Costs

A Journey from Historian to Infrastructure. From asset to process to operational intelligence

ENOVIA Life Sciences Accelerator for New Product Introduction

Reining in Maverick Spend. 3 Ways to Save Costs and Improve Compliance with e-procurement

Transform Procurement with SAP S/4 HANA, SAP Ariba, SAP Fieldglass and SAP MDG An Introduction

ENOVIA V6. Bringing PLM 2.0 to Life

Unified SOA Governance for IBM WebSphere SOA Foundation

DATATRAK Customer Case Study

WORKFLOW AUTOMATION AND PROJECT MANAGEMENT FEATURES

Automate Regulatory Reporting with Oracle Financial Services Data Governance for US Regulatory Reporting

HP Quality Center 10 Overview

DataFrameworks TECHNOLOGY SUMMARY. ClarityNow! Overview

Advanced Enterprise Work and Asset Management for Performance-Driven Utilities

Realizing Business Value through Collaborative Document Development

The Benefits of Managed Print Services

INFOSYS BUSINESS PROCESS MANAGEMENT OFFERINGS

Make smart business decisions when they matter most September IBM Active Content: Linking ECM and BPM to enable the adaptive enterprise

From configuration management database (CMDB) to configuration management system (CMS)

AllSites Energy Management App

Accelerate modernization of enterprise assets using IBM s Rational Asset Analyzer

Oracle s Service-Oriented Architecture Strategy

Xerox DocuShare 7.0 Content Management Platform. Enterprise content management for every organization.

Modernize your grid: Simplify smart metering with an intelligent partner.

An Approach for Assessing SOA Maturity in the Enterprise

Turn Data into Business Value

PERSPECTIVE. MAKING GPP (Global PAYplus) TESTING PREDICTABLE

Implementing ITIL Best Practices

TABLE OF CONTENTS DOCUMENT HISTORY

Business Advisory and Technology Consulting Services for Next-Gen Oil and Gas Stonebridge Consulting, Inc.

Achieve greater efficiency in asset management by managing all your asset types on a single platform.

Put Mobile First: With the IBM Mobile App Development Lifecycle. Ian Robinson Program Director IBM MobileFirst Platform & Analytics 10/07/2013

proalpha ERP CAD Integration ERP for SMEs

SOLUTION BRIEF Application Development. How can you deliver the mobile-to-mainframe apps your business needs on time and within budget?

IBM BPM on zenterprise

White Paper. July ISA-95: A Foundation Model For. Business Intelligence for Manufacturing. Preface

FINANCIAL SERVICES PRACTICE, CEB TOWERGROUP INSURANCE 2014 The Corporate Executive Board Company. All Rights Reserved.

INFORMATION STREAMLINES

Product. Portico Streamline Your Operation With a Highly Integrated and Intuitive Account Processing System

Automated Testing with CA Plex, CA 2E and Worksoft Certify DevOps for CA Plex

Optum Intelligent EDI. Achieve higher first-pass payment rates and help your organization get paid quickly and accurately.

Implementing a Manager of Managers for Effective Fault Management of Public Safety Radio Networks

4/26. Analytics Strategy

The Benefits of a Unified Enterprise Content Management Platform. An Oracle White Paper February 2007

Niagara 4 + JACE our newest products are open 4

The Present and Future of Electronic Resource Management Systems: Public and Staff

IBM Tivoli Endpoint Manager for Lifecycle Management

Microsoft Dynamics 365 for Finance and Operations. Microsoft Dynamics AX. Service description. Version 4 July 2017

CIOReview. Apptricity END-TO-END SUPPLY CHAIN VISIBILITY SUPPLY CHAIN SPECIAL. The Navigator for Enterprise Solutions IN MY OPINION CIO INSIGHTS

What s new in Teamcenter Service Pack

Oracle Enterprise Data Quality Product Roadmap and Statement of Direction. October 2016

Epicor for Distribution

Reduce your open source security risk: strategies, tactics, and tools

MSP Purpose, Value & ROI

Agile Architecture And Design

MSP Guide to Automating Your Business for Profitability

A Standard Framework for SOA Governance

Partnering for Business Value

Aprimo Digital Asset Management

collaborative solutions core product features and benefits Construction Collaboration Software. SaaS.

Elavon Freight Payment

A Modern Intranet Defined

Project and Process Tailoring For Success

Leveraging the benefits of the cloud with transparency and control

The four steps to Service Management Exellence. White Paper.

Actionable Information Instantly Delivered

IT Governance Overview

TREASURY. INTEGRITY SaaS

Enterprise Modeling to Measure, Analyze, and Optimize Your Business Processes

The leading parts and logistics management system.

DevOps: Accelerating Application Delivery. DevOps on IBM i: Barriers, Techniques, and Benefits to the Business

Healthcare Solutions Nuance PowerShare Network. PowerShare. The industry s largest medical imaging network.

Continuous Quality Assurance

Deltek Vision. for Consulting Firms.

Automating the Integration Factory. Nagaraj Sastry HCL

Transcription:

White Paper Code Maintenance Best Practices 4 Essential Skills for Lean Times

Abstract In today s economic environment, every dollar counts. And one of the biggest spends for a company is the development and maintenance of software, where every line of code matters. Code and IP as well as the knowledge behind it, is often an organization s most valuable asset. If companies can capture and harness existing code they can save millions of dollars in time and money and survive in lean times. The key to leveraging existing code is through code and IP discovery. Through code discovery organizations can capitalize on the value of code and IP for both development of new software and maintenance of existing code. By making your code assets and development expertise easily accessible and usable across the organization, companies can identify new ways to maximize these assets. Code discovery streamlines the development of new code and simplifies code maintenance. It is a low cost of ownership approach that solves important problems that are not addressed by Application Lifecycle Management (ALM) or Product Lifecycle Management (PLM) systems. In this paper, we explain four ways an organization can leverage code and IP discovery in order to survive in lean times. These areas are: code reuse, impact analysis, fix sharing, and managing code leverage. Introduction Organizations with 50+ developers and multiple software applications under development and maintenance are vulnerable to development waste. This waste is created when: Significant portions of code are written from scratch, when substantially similar code already exists in the organization and can be readily reused Rogue modifications to standard components cause downstream maintenance headaches Functionally similar code streams must be maintained separately over application lifetimes Difficult lessons learned and vital insights from key developers are not shared or leveraged with other teams or developers Defect and vulnerability fixes are applied on a project by project basis; with little or no collaboration These behaviors result from development practices and ALM / PLM tooling that attempt to optimize the efficiency of individual projects. These development practices and tools limit portfolio level access to valuable code, code changes and metadata that have the potential to bring vital insight and economic leverage into code evolution. Through code discovery, organizations can move beyond siloed projects and increase their visibility and accessibility to code in order to make better decisions. In the following section we discuss the four ways to leverage code discovery. These four areas are grouped in two categories: New Code Development and Code Maintenance. Page 2

New Code Development New code development is plagued by redundant coding and complex learning curves. Code discovery is an emerging solution that addresses both of these issues with Code Reuse. AREA 1: Code Reuse The goal with code reuse is to leverage existing ideas, problem solving insight and where appropriate, code itself. The value of code reuse is known to most development organizations, but until now there has been no strong consensus on a single solution approach. Best Practices Code Reuse Identify internal projects that incorporate functionality of interest Locate internal developer(s) with expertise using APIs, components or frameworks of interest Locate pertinent requirements documents and defect issues along with related code Maintain a library of recommended reusable components Browse similar projects completed in the past to understand architectural approaches and code evolution issues Business Value Code Reuse Savings of $40 $75 per line of code i Keep focus on new, unique and strategically relevant development Smaller managed code footprint; greater effectiveness of code quality efforts Existing Solutions Code Reuse Solution Asset Management Challenge / Problem with Solution Editorial / maintenance effort Code currency, accuracy, completeness Tracking and measurement Collaboration tools (wikis, portals) Project Search tools (grep, grok, scm) Information consistency and relevance Code currency, accuracy, completeness Developer behavior (workflow) change Tracking and measurement Good for locating known code, not discovery Error prone, time consuming Limited search scope Code Maintenance Three code maintenance practices lead to significant, ongoing development waste: (i) developers assigned to maintenance are less skilled and experienced than the original developers (ii) developers Page 3

assigned to maintenance don t have direct experience with the code they are working on, and (iii) there is usually no visibility into relevant code and code artifacts that would facilitate problem resolution. As a result, development organizations are vulnerable to: Unnecessary code divergence Introducing multiple, different fix streams into to the code base Chronic quality problems in key areas of the code Higher than necessary costs of learning and knowledge transfer Code discovery helps minimize these areas of development waste with the following solutions: impact analysis, fix sharing and managing code leverage. AREA 2: Impact Analysis Maintenance code changes are often made from the narrow context of a particular defect or change request. Planning and implementing code changes without understanding how the code will behave in other situations is a recipe for downstream problems. Understanding the scope of change within a single application is useful, but typically not sufficient. Evaluating the proposed change impact across a portfolio of applications is a required best practice in most organizations. Best Practices Impact Analysis Once a defect is confirmed, assess vulnerability across projects and communicate results Identify other parts of the application that will be affected by the change Identify other applications or services that might be affected by the change Identify other projects where a similar defect or issue was addressed Business Value Impact Analysis Leverage key lessons learned and problems already solved Reduce the defect injection rate Contain code divergence Achieve smaller managed code footprint; greater effectiveness of code quality efforts Existing Solutions Impact Analysis Solution Existing ALM solutions IDE (grep, grok, scm) Challenge / Problem with Solution Works only within the envelope of proprietary tools Analyzes limited set of programming language types Good for locating known, local code only Search scope limited to single project No code discovery from metadata search Does not scale to multi project level Page 4

AREA 3: Fix Sharing Once a vulnerability or defect has been remedied, other projects that might benefit from the fix should be notified immediately. Best Practices Fix Sharing Identify other projects that may need the fix Document the fix and unambiguously identify where it should be applied Communicate the fix to individuals who can take remedial action Business Value Fix Sharing Leverage existing solutions Reduce downstream support and development costs Reduce latent defect level Reduce defect aging Contain code divergence Achieve smaller managed code footprint; greater effectiveness of code quality efforts Existing Solutions Fix Sharing Solution Support in existing ALM solutions Broadcast notification (email, etc) Challenge / Problem with Solution Works only within the envelope of proprietary tools Success depends on a highly dependent project organization Not relevant to all > can be easily ignored Reliance on experts doesn t scale Context of problem misunderstood Issue authoring is time consuming, laborious process Page 5

AREA 4: Managing Code Leverage This effort involves refactoring and managing component based changes so that code sharing across projects is enhanced. It also involves monitoring of component level and API level changes to ensure that common code across projects does not diverge into forks which lead to separate lifecycle management requirements. Best Practices Code Leverage Monitor extent of code/component/api sharing across code portfolio; coordinate and communicate changes Identify refactoring or SOA candidates by frequency of use analysis across code portfolio Detect and manage rogue edits to common code / components across portfolio Business Value Code Leverage Reduce downstream support and development costs Improve code maintainability and consistency Contain code divergence Achieve smaller managed code footprint; greater effectiveness of code quality efforts Existing Solutions Code Leverage Solution IDE, ALM find feature Asset management application Challenge / Problem with Solution Good for locating known code, not discovery Multi project search is error prone, time consuming Automated search scope limited to single project Requires extensive, ongoing library management Inability to reliably detect divergence Reliance on vendor specific development tooling Summary An organization s most valuable resource is the code that has already been developed and the IP and knowledge behind that code. Code discovery capabilities help organizations capitalize on the value of this intellectual property in development of new software and maintenance of existing code. This paper highlights the four areas that can improve an organization s insight and discovery into their code. Code reuse, impact analysis, fix sharing and managing code leverage are all areas that can increase the maximization of code assets. With the insight and knowledge of code and IP, organizations are able to lower costs focused on maintenance and devote more of their IT budgets to code development and innovation. Page 6

Krugle Enterprise: Code and IP Discovery at Your Fingertips While there are many ways to attempt to leverage code, many solutions provide only part of the capabilities an organization needs to make the most of their greatest asset. Krugle Enterprise is the only solution that enables an organization to leverage all four ways in a single solution. Krugle Enterprise has been deployed in a range of IT and software development organizations to solve these critical issues. At its core, Krugle Enterprise automatically delivers a comprehensive, searchable library of code, code related documentation and development artifacts (Table 1). It is based on open, extensible technologies and is fully compatible with all common SCM systems. Table 1. Krugle Enterprise gives organizations the insight to discover their code and IP. It includes discovery, monitoring and analysis capabilities at the API, IDE or browser level. Table 2 summarizes the features that help development organizations get the most value from their code IP. Page 7

Krugle Enterprise Solution Area 1: Code Reuse Area 2: Impact Analysis Area 3: Fix Sharing Table 2. Krugle Enterprise Code Discovery Solution. Area 4: Managing Code Leverage Discover code from code features, development process metadata, code artifacts Easily examine & explore nonlocal code Locate similar code through precise or fuzzy queries of code patterns Identify defect injection points Assess defect propagation Organization wide impact analysis, vulnerability assessment Code space support single URL reference to code, documentation and artifacts Easy developer access (browser, IDE) Monitor code duplication, divergence Code related info access Ability to promote selected code in discovery, mark code for reuse By eliminating development waste associated with poor information access, Krugle Enterprise helps organizations focus on strategically significant development development that will move their business forward, even in the most challenging economic conditions. i Estimating Software Costs Bringing Realism to Estimating, Capers Jones, 2007 McGraw Hill, Inc. Page 8