Book Series: Increasing Productivity of Software Development, Part 1: Productivity and Performance Measurement - Measurability and Methods - Stefan Luckhaus - E-Book

Book Series: Increasing Productivity of Software Development, Part 1: Productivity and Performance Measurement - Measurability and Methods E-Book

Stefan Luckhaus

0,0

Beschreibung

Book Series Increasing Productivity of Software Development: In software development, productivity is a measure of how much functionality can be developed in a given time and in compliance with specified quality criteria. If an increase in productivity succeeds, this increases the scope of the developed functionality and reduces the required time. Both features are desirable because software is the stuff innovations are made of. IT has changed almost all areas of life thanks to fundamental innovations. Our future will be dominated by virtualization and smart helpers, that is, devices equipped with intelligence. This makes software development a key competence. Today, for companies that develop software, productivity as well as time and quality, are critical success factors. By introducing standards and automation, productivity in software development has been demonstrably increased by a factor of 20. The reutilization of functional and technical components has already enabled measurements of a factor of 100. Such performance differences are only reproducible by measurements and the consistent use of measurement results within a management model designed for continuous optimization. Part 1: Productivity and Performance Measurement - Measurability and Methods This book describes practical experiences with various measurements in software development: advantages and disadvantages of proven and new methods, their automation, the influence of complexity and the steps towards the implementation of regular measurements.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 94

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Stefan Luckhaus

Book Series

Increasing Productivity of Software Development

Part 1

Productivity and Performance Measurement – Measurability and Methods

Internet: www.pass-consulting.com

All rights reserved

© PASS IT-Consulting

Dipl.-Inf. G. Rienecker GmbH & Co. KG, Aschaffenburg, Germany

This work, including all its parts, is protected by copyright.

Any use outside the narrow limits of copyright law is prohibited and punishable without the publisher‘s written permission. This applies in particular to reproductions, translations, microfilming and storage and processing in electronic systems or similar processes.

Editing & Proofreading:

Heidrun Fernau-Rienecker, Anelka Dudaczy

Cover Design & Typesetting:

Antje Schwarzbauer

Cover Graphic & Photos:

Shutterstock Images LLC

Production & Distribution:

PASS IT-Consulting Dipl. Inf. G. Rienecker GmbH & Co. KG

Heidrun Fernau-Rienecker

Print:

tredition

March 2018

ISBN:

Hardcover:

978-3-9819565-6-6

Paperback:

978-3-9819565-8-0

e-Book:

978-3-9819565-7-3

Contents

Contents

Figures

Tables

Preface

Motivation

Future-shaper ICT

The objectives of this book series

About this book

I. Introduction

The key to a global innovation competition

Software drives innovations

II. The Evolution of IT

IT penetrates enterprises

The use of information technology from 1960 to 2015

1960 to 1969

1970 to 1979

1980 to 1989

1990 to 1999

2000 to 2009

2010 bis 2019

What could the future look like?

The importance of productive software development

III. What is Productivity and how can it be measured?

Different aspects of productivity

Productivity of software development

Requirement 1: Process scope is defined consistent

Requirement 2: Final product quality is consistently

Requirement 3: Input is measurable

Requirement 4: Output is measurable

IV. Methods for measuring the Development Output

Requirements on a size metric

Code metrics

Functional size measurement

Function Point Analysis

The COSMIC Method

The Data Interaction Point Method

Comparison of measurement methods

More measuring methods

V. Automation and the Limits of Measurability

Measurements are a cross-sectional task

Approaches for automated measurements

Potential inaccuracies when measuring implemented systems

VI. The Impact of Complexity

The complexity of implemented code

Interactional complexity

Algorithmic complexity

VII. Tips and Hints for a practical Introduction

Definition of objectives

Stage 1: Evaluation and calibration of a measuring method

Stage 2: Launch and collection of empirical values

Stage 3: The practical use of measurements

VIII. Conclusion

Glossary

Bibliography

About the Author

Book Recommendations

Figures

Figure 1

:

Value contributions of IT in enterprises

Figure 2

:

Reference model for enterprises

Figure 3

:

The Kondratjev-Waves

Figure 4

:

Productivity from a business point of view

Figure 5

:

Sample Use Case Diagram

Figure 6

:

Objects to be counted by the Function Point Analysis

Figure 7

:

Weighting matrices for elementary processes

Figure 8

:

Weighting matrices for data structures

Figure 9

:

Objects to be counted by the COSMIC Method

Figure 10

:

Objects to be counted by the Data Interaction Point Method

Figure 11

:

Comparison of size measurements of different systems by FPA, COSMIC and DIP

Figure 12

:

Sample program #1

Figure 13

:

Sample Program #2

Figure 14

:

Management Model for Increasing Productivity of Software Development

Tables

Table 1:

Sample BFCs of a Use Case

Table 2:

Functional Size of Sample Use Case „Search Flight“ measured by FPA

Table 3:

Functional Size of Sample Use Case „Search Flight“ measured by COSMIC

Table 4:

Functional Size of Sample Use Case „Search Flight“ measured by DIP

Table 5:

Comparison of FPA, COSMIC and DIP Method

Table 6:

Objectives, requirements and benefits

Preface

to the Book Series

Increasing Productivity of Software Development

Gerhard Rienecker

Motivation

If you can answer the following questions with a clear “yes”, this book series on productivity of software development cannot provide new ideas. Put down this book and pursue your objectives by means of your own strategies. However, if you cannot say “yes” beyond doubt or if you have a tendency to say “no”, this book series can definitely be a source of inspiration.

Questions:

1) Is your IT shop managed by clear KPIs?

2) Do you know your productivity and quality performance?

3) Do you know the development productivity of your developers?

4) Do you know the maintenance efficiency of your developers?

5) Do you know the processing performance of your applications?

Well, you are still reading. I did not expect anything else. For more than 30 years I am an IT consultant, in business for many well-known companies and I must say that most of the IT organizations do not have answers to these questions. There are many initiatives and approaches, but most of them remain rudimentary. Continuous IT management strategies, which can answer the questions above clearly and consistently, are extremely scarce. I would appreciate your feedback.

Future-shaper ICT

Since the invention of the first freely programmable computer in 1941 by Konrad Zuse, the information and communication technologies (ICTs) derived from it write one success story after another. ICT penetrates our lives more and more. It shapes and organizes business functions and processes and pursues the continuous IT-zation of businesses (real-time enterprises or internet companies). It makes many products smart (you can find more than 100 processors with a lot of software in a new car today). In the past, the omnipotence of ICT has led to revolutionary changes of products such as cameras, music players and media, mobile phones, and so on. More and more it contributes to the individual lifestyle, be it game consoles or movie creation, and it even revolutionizes entire industries. ICT has initiated the 5th Kondratiev wave [Korotayev/Tsirel 2010] – an economic cycle focusing on information as an economic asset and replacing the industrial society by the information society.

This economic asset is different from the goods of the industrial society. Information is intangible, has no natural scientific basis (physics, chemistry, and so on), cannot be explained by basic models, is not divisible, but it increases in social value if imparted (distributed). The significance of this asset will continue to increase along with the importance of ICT. I will not justify this statement, but I refer to some books presenting multiple evidence to this: The Digital Enterprise [Streibich 2014], The New Digital Age [Cohen/Schmidt 2013], Vision 2030 [Meister 2012], die 3. Industrielle Revolution [Rifkin 2011], Wem gehört die Zukunft? [Lanier 2014] or even our last book Quality, that´s IT [Rienecker et al 2011].

For the management of this economic asset 3 technologies are required: hardware technologies (CPU + memory), communication technologies and software technologies. Regarding software technologies we must differentiate between basic software (operating systems, middleware and database technologies) and application software. While for hardware and communication technologies the development of productivity follows Moore’s law [Moore 1998], there is no reliable method for measuring the productivity development of software technologies. Particularly in the area of application software – where everybody can take notice of the values created by ICT, neither generally accepted methods nor practical procedures are available to measure performance or determine productivity increases. However, because ICT and particularly application software ever more advance to a future-shaper, the discrepancy between importance and controllability leads to an unsatisfactory situation. This is the motivation for this book series. Please let me reflect briefly on our objectives.

The objectives of this book series

This book series targets the following objectives of organizations developing software:

• quality improvement,

• increase in productivity,

• improvement of the IT management model,

• improvement of performance measurement in the area of development, maintenance and production, and

• measuring performance on the basis of KPIs.

To achieve this objective we want to spend sufficient time and effort on every topic – in addition to the basic methods, concepts and strategies – to thereby enhance its transparency.

Currently we plan books on the following topics:

• Productivity and Performance Measurement, Measurability and Methods

• Cost Estimation and KPI-based Improvement

• Self-assessment and Optimization

• Quality Management

• KPA Application Specification

• KPA Application Architectures

• KPA System Architectures

• KPA Systems Operation

• KPA Development Architecture

• KPA Project Management

• KPA Human Resources Management

• Factories – from Manufacture to Software Production

About this book

After a digression on the history of IT and an outlook on the possible future development this book initially describes the methodical basis of performance measurement. It compares the advantages and drawbacks of different measuring methods as well as the limits of measurability.

After a comparison of different methods which are available on the market we introduce our own method, the Data Interaction Point method, which has been developed by us 7 years ago and is the basis of our own management model.

According to our principle to only consult on topics where sufficient experience has been gained in-house, we can tell the inside story. Today, we use this methodology ourselves to manage more than 10 different application environments with more than 500 customers and over 250.000 users.

I. Introduction

The way to the global innovation competition

Since the beginning of the 1960s IT has changed our life continuously. Today, all areas of our life are more or less penetrated by IT. Many areas largely hinge on it. Banks, for example, would no longer be operable without it. Some enterprises are built on business models which even have been enabled by IT such as mobile phone service providers, virtual marketplaces, online auction houses, electronic pay services, and so on. Significant advancements have been made to integrate partners along the value chain, automate processes and virtualize products. This is reflected in the real-time trading of financial products when, for example, a loan requested in the internet will be paid off within seconds after a rule engine has calculated an appropriate rating. Due to IT, the industrial mass production today is capable of a high level of individual configuration. This becomes apparent when looking at the variant-richness of cars represented by configuration tools in the internet. At the same time an alternative to industrial production emerges: The consumer produces simple products himself by downloading a construction plan and using his 3D printer. The following chapter will describe this “evolution of IT” in detail.

Via the internet, enterprises can enter global markets, but the price to be paid is the loss of customer loyalty, a consequence of total transparency: as consumers can compare product specifications and performance data, prices, the online presentation of a shop, ratings by other customers, and so on. Thus, they buy per mouse click wherever it appeals to them most at this particular moment.

In consequence, more and more industries are faced with a global innovation and time-based competition. The time-based competition enables customers to notice any changes of the competitors’ offerings immediately and therefore vendors, who want to remain competitive, are in a tight spot. The impact of the innovation competition is that vendors can stand out from run-of-the-mill only by innovations: innovative ideas requiring IT solutions with increasing complexity and created in less and less implementation time. Given this gap, only enterprises who can put their new, complex and yet attractive IT solutions on the market (to the internet) quickly and reliably, can be successful. Those who roughly estimate the effort of their IT projects and therefore are not able to plan reliably, who permanently postpone their delivery milestones or, driven by deadlines, accept quality deficiencies, will not succeed.

Software drives innovations