Transparency about Costs and Risks in Software Development
Upcoming SlideShare
Loading in...5
×
 

Transparency about Costs and Risks in Software Development

on

  • 825 views

 

Statistics

Views

Total Views
825
Views on SlideShare
315
Embed Views
510

Actions

Likes
0
Downloads
6
Comments
0

4 Embeds 510

http://blog.softwarediagnostics.com 438
http://www.softwarediagnostics.com 70
https://twitter.com 1
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Transparency about Costs and Risks in Software Development Transparency about Costs and Risks in Software Development Presentation Transcript

  • Transparency about Risks and Costs in Software Development by Business Intelligence & Visual Analytics How to Boost Development Productivity Dr. Johannes Bohnet Johannes.bohnet@softwarediagnostics.com BITKOM Software Summit September 24th, 2013 Frankfurt, Germany
  • Software Diagnostics The Software Intelligence Company • 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). www.softwarediagnostics.com | Transparency Platform 9/24/2013 2
  • 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% Visible Functionalities (productive time) www.softwarediagnostics.com | Transparency Platform 66% Complexity Fighting & Bug Fixing (non-productive time) 9/24/2013 3
  • Productivity How to measure? How to increase? www.softwarediagnostics.com | Transparency Platform 9/24/2013 4
  • Productivity How to measure? How to increase? The Software Diagnostics Approach Measure: How easy is it for developers to work in the existing code? www.softwarediagnostics.com | Transparency Platform 9/24/2013 5
  • Why Code Decays? After having finished the first release… • 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 www.softwarediagnostics.com | Transparency Platform 9/24/2013 6
  • Why Code Decays? What over time happens… 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 www.softwarediagnostics.com | Transparency Platform 9/24/2013 7
  • 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? www.softwarediagnostics.com | Transparency Platform 9/24/2013 8
  • Productivity How to measure? How to increase? Visible Functionalities (productive time) 34% 66% The Software Diagnostics Approach: Complexity Fighting & Bug Fixing (non-productive time) Microsoft Research 2006 • Identify and Eliminate Productivity Pain Points • Transform Non-Productive Development Time into Productive Time • Boost Overall Productivity www.softwarediagnostics.com | Transparency Platform 9/24/2013 9
  • Identifying and Visualizing Productivity Loss Need-for-Action is where People are Overwhelmed by Complexity 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 www.softwarediagnostics.com | Transparency Platform + + 9/24/2013 10
  • Business Intelligence for Software Development Transparency about Productivity Losses and Future Risks for All Stakeholders CIO Quality Project Development Manager Architect Manager Manager Dev Developer Team 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, … Software Analysis Data: The knowledge base containing every detail about the development status and its history. Gathering objective information about the software from the development infrastructure. www.softwarediagnostics.com | Transparency Platform 9/24/2013 11
  • Software Maps – A Striking Visualization of Need-for-Action Identifying Need-for-Action in Development of “JBoss” (Red Hat Inc.) Code Unit Time Line Development Activity Team Toronto Team Bangalore Team Prague Team Potsdam Application Module Software System Example: JBoss (Red Hat Inc.); 800.000 LoC Java; >100 developers www.softwarediagnostics.com | Transparency Platform 9/24/2013 12
  • Productivity Pain Points Map High Risks and Costs because of Development Hotspots in Complex Code Complex & Often Changed  High risk of introducing bugs  Cost producer due to cautious development Color: Number of Changes | Height: Complexity | Ground Area: Lines-of-Code www.softwarediagnostics.com | Transparency Platform 9/24/2013 13
  • Testing Risk Analysis Is Complex Code Secured by Tests? Complex & Not Tested (grey)  High risk of introducing bugs Test the code unit or reduce complexity Color: Code Coverage by Tests (grey = not a single test!) | Height: Complexity | Ground Area: Lines-of-Code www.softwarediagnostics.com | Transparency Platform 9/24/2013 14
  • Transparency about Risks and Coding Activities Advantages for many Roles in Software Development • • • • • • • CIO Development Management Project Manager Quality Manager … … Developer www.softwarediagnostics.com | Transparency Platform 9/24/2013 15
  • Complexity Map High Risks and Costs when under Development Complex  High risk of introducing bugs  Cost producer when under development Color: Number of Changes | Height: Complexity | Ground Area: Lines-of-Code www.softwarediagnostics.com | Transparency Platform 9/24/2013 16
  • Challenges in Software Development Challenges for Project Managers CIO Development Manager Architect Quality Manager Project Manager Developer Project Manager I need to see coding risks in advance during planning to avoid bad surprises in the course of the development iteration.” Dev Team www.softwarediagnostics.com | Transparency Platform 9/24/2013 17
  • Monitoring Complexity Seeing Problems while being created – Acting proactively instead of reacting when it is too late Early warning system for long-term costs:  Dramatic increase of complexity!  Force teams to cleanup code before continuing. Complexity Increase during Coding Activity in Calendar Week 42 www.softwarediagnostics.com | Transparency Platform 9/24/2013 18
  • Efficient Steering of Distributed Teams (Outsourcing) Monitoring the Quality Delivered by External Vendors? Do external developers deliver high code quality? www.softwarediagnostics.com | Transparency Platform 9/24/2013 19
  • Challenges in Software Development Challenges for Development Managers CIO Development Manager Architect Quality Manager Project Manager Developer 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. Dev Team www.softwarediagnostics.com | Transparency Platform 9/23/2013 20
  • Focusing Tests on Complex Code with Recent Modifications Increasing Test Effectiveness – Finding More Bugs with Less Testing Effort Focus regression testing on… complex modules with the most changes. Color: Number of Developers | Height: Number of Changes | Ground Area: Lines-of-Code www.softwarediagnostics.com | Transparency Platform 9/24/2013 21
  • Challenges in Software Development Challenges for Quality Managers CIO Development Manager Architect Quality Manager Project Manager Developer Quality Manager “I need to see complexity and development hotspots to focus testing activity and disarm the biggest risks first.” Dev Team www.softwarediagnostics.com | Transparency Platform 9/23/2013 22
  • Challenges in Software Development Challenges for Developers CIO Development Manager Architect Quality Manager Project Manager Developer Developer “I need a way to show how knotted this spaghetti code is to argue for time for cleanups and refactorings.” Dev Team www.softwarediagnostics.com | Transparency Platform 9/23/2013 23
  • 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. 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 mail@softwarediagnostics.com