Transparency about Costs and Risks in Software Development

24
Transparency about Risks and Costs in Software Development by Business Intelligence & Visual Analytics How to Boost Development Productivity Dr. Johannes Bohnet [email protected] BITKOM Software Summit September 24 th , 2013 Frankfurt, Germany

description

 

Transcript of Transparency about Costs and Risks in Software Development

Page 1: Transparency about Costs and Risks in Software Development

Transparency about Risks and Costs in Software Development

by Business Intelligence & Visual Analytics How to Boost Development Productivity

Dr. Johannes Bohnet [email protected]

BITKOM Software Summit

September 24th, 2013

Frankfurt, Germany

Page 2: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

• Software Diagnostics is based on multiple years of R&D at the Hasso-Plattner-Institute for IT-Systems Engineering (HPI).

• Research cooperation with HPI: Access and integration of cutting edge technologies into the products of Software Diagnostics.

• Target Group: Large Organizations and Medium Companies with a significant volume of in-house software development as well as external development (outsourcing).

9/24/2013 2

Software Diagnostics The Software Intelligence Company

Page 3: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform 9/24/2013 3

Challenge: Software Development is like Constructing a Megacity …without seeing the shape and quality of buildings and infrastructure.

…without seeing the construction workers and their activities.

Software Development is critical to all Industries: • Banking & finance, automotive, communications, transportation,

healthcare, utilities, manufacturing, …

However, Productivity of Developers is astonishingly low: Microsoft Research 2006

34%

66% Visible Functionalities

(productive time)

Complexity Fighting

& Bug Fixing

(non-productive time)

Page 4: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform 9/24/2013 4

Productivity How to measure? How to increase?

Page 5: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform 9/24/2013 5

Productivity How to measure? How to increase?

The Software Diagnostics Approach

Measure: How easy is it for developers to work in the existing code?

Page 6: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

• Significant amount of source code exists

• Architecture optimized on initial requirements

• A trade-off is implemented

• Fragile requirements encapsulated in a single code unit

• Never-ever-changing requirements scattered over many code units

9/24/2013 6

Why Code Decays? After having finished the first release…

Page 7: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Code Complexity • Developers and time are scarce resources

• Only focus on functionality (visible to customer/business)

• No time for cleanups

• Code becomes more and more complex

Architecture Appropriateness • The world (business, technology, …) turns

• “Never-ever-changing” requirements become fragile

• Adapting such requirements means coding in scattered functionality

9/24/2013 7

Why Code Decays? What over time happens…

Page 8: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform 9/24/2013 8

Why Code Decays? The Communication Dilemma

The dev team/management

“feels” the need for

complexity reduction and

architecture reshaping.

BUT: How to convince the

customer/business to pay for

this invest?

Page 9: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform 9/24/2013 9

Productivity How to measure? How to increase?

The Software Diagnostics Approach: • Identify and Eliminate Productivity Pain Points

• Transform Non-Productive Development Time into Productive Time

• Boost Overall Productivity

34%

66%

Visible Functionalities

(productive time)

Complexity Fighting

& Bug Fixing

(non-productive time) Microsoft Research 2006

Page 10: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Identifying and Visualizing Productivity Loss Need-for-Action is where People are Overwhelmed by Complexity

9/24/2013 10

Maybe Need-for-Action

Complex Code

Need-for-Action

Complex Code…

…being modified by Developers

Urgent Need-for-Action

Complex Code…

…being modified by Developers and

…not being secured by tests

+

+ +

Page 11: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Software Maps provide a communication platform for all stakeholders. Objective Information via Visual Analytics.

Data Mining & Problem Detection: Complexity risks, unhealthy process patterns, security risks, testing risks, effort hotspots, …

Business Intelligence for Software Development Transparency about Productivity Losses and Future Risks for All Stakeholders

Software Analysis Data: The knowledge base containing every detail about the development status and its history.

9/24/2013 11

CIO Architect Quality

Manager

Project

Manager Developer Dev

Team

Development

Manager

Gathering objective information about the software from the development infrastructure.

Page 12: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Software Maps – A Striking Visualization of Need-for-Action Identifying Need-for-Action in Development of “JBoss” (Red Hat Inc.)

Software System Example: JBoss (Red Hat Inc.); 800.000 LoC Java; >100 developers

9/24/2013 12

Team Toronto Team Bangalore Team Prague Team Potsdam

Module

Code

Unit

Application

Time Line

Development Activity

Page 13: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Productivity Pain Points Map High Risks and Costs because of Development Hotspots in Complex Code

Color: Number of Changes | Height: Complexity | Ground Area: Lines-of-Code

9/24/2013 13

Complex & Often Changed High risk of introducing bugs

Cost producer due to cautious development

Page 14: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Testing Risk Analysis Is Complex Code Secured by Tests?

Color: Code Coverage by Tests (grey = not a single test!) | Height: Complexity | Ground Area: Lines-of-Code

9/24/2013 14

Complex & Not Tested (grey) High risk of introducing bugs

Test the code unit or reduce complexity

Page 15: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

• CIO

• Development Management

• Project Manager

• Quality Manager

• …

• …

• Developer

9/24/2013 15

Transparency about Risks and Coding Activities Advantages for many Roles in Software Development

Page 16: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Complexity Map High Risks and Costs when under Development

Color: Number of Changes | Height: Complexity | Ground Area: Lines-of-Code

9/24/2013 16

Complex High risk of introducing bugs

Cost producer when under development

Page 17: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform 9/24/2013 17

Challenges in Software Development Challenges for Project Managers

Architect

Quality Manager

Project Manager

Developer

Dev Team

Development

Manager

CIO

Project

Manager I need to see coding risks in

advance during planning to

avoid bad surprises in the

course of the development

iteration.”

Page 18: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Monitoring Complexity Seeing Problems while being created – Acting proactively instead of reacting when it is too late

9/24/2013 18

Complexity Increase during Coding Activity in Calendar Week 42

Early warning system for long-term costs: Dramatic increase of complexity!

Force teams to cleanup code before continuing.

Page 19: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Efficient Steering of Distributed Teams (Outsourcing) Monitoring the Quality Delivered by External Vendors?

9/24/2013 19

Do external developers deliver

high code quality?

Page 20: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform 9/23/2013 20

Challenges in Software Development Challenges for Development Managers

Architect

Quality Manager

Project Manager

Developer

Dev Team

Development

Manager

CIO

Development

Manager „I need a way to monitor* team

activities and delivery-quality

of my distributed teams and

external contractors.“ * All regulations concerning the German

“Datenschutzgesetz”, in particular BDSG §4, are

considered and by no means violated.

Page 21: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform

Focusing Tests on Complex Code with Recent Modifications Increasing Test Effectiveness – Finding More Bugs with Less Testing Effort

9/24/2013 21

Color: Number of Developers | Height: Number of Changes | Ground Area: Lines-of-Code

Focus regression testing on…

complex modules with the

most changes.

Page 22: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform 9/23/2013 22

Challenges in Software Development Challenges for Quality Managers

Architect

Quality Manager

Project Manager

Developer

Dev Team

Development

Manager

CIO

Quality

Manager “I need to see complexity and

development hotspots to focus

testing activity and disarm the

biggest risks first.”

Page 23: Transparency about Costs and Risks in Software Development

www.softwarediagnostics.com | Transparency Platform 9/23/2013 23

Challenges in Software Development Challenges for Developers

Architect

Quality Manager

Project Manager

Developer

Dev Team

Development

Manager

CIO

Developer “I need a way to show how

knotted this spaghetti code is

to argue for time for cleanups

and refactorings.”

Page 24: Transparency about Costs and Risks in Software Development

Software Diagnostics, Software Diagnostics logo, Transparency Platform, Flight Recorder and TraceXplorer ABAP are trademarks or registered trademarks of Software Diagnostics GmbH, Germany and other countries. All other company and product names are the property of their respective owners. © 2012 Software Diagnostics. All right reserved.

Software Diagnostics GmbH Babelsberg Studios August-Bebel-Str. 26-53 D-14482 Potsdam

Sales Web E-Mail

+ 49 331 - 7062 340 www.softwarediagnostics.com [email protected]

Thank You For Your Attention

About Software Diagnostics

Software Diagnostics offers solutions which provide management and development teams, for the first time, with a comprehensive overview of risks

in their software development projects. On the basis of objective data on the software system, development processes and developer activities,

managers are able to make informed decisions. The solutions of Software Diagnostics evaluate source code, run-time analyses and code repositories

having stored all activities of the development teams. The findings are presented by “software maps” which can be understood at a glance by all

stakeholders involved in the project.

The products offered by the Potsdam based company, a spin-off of the Hasso-Plattner-Institute, include Transparency Platform, with which

businesses can identify risks in their software, Flight Recorder, for the analysis of the root-cause analysis in case of errors, and TraceXplorer ABAP, for

performance optimization of SAP systems. Companies including ABB, Heidelberger Druckmaschinen, Deutsche Post, Adidas or VW trust Software

Diagnostics to enable them to reliably manage their development projects.