measuring the functional size of mobile apps with cosmic fp

32
Measure the functional size of a mobile app Harold van Heeringen & Edwin van Gorp

Upload: harold-van-heeringen

Post on 25-Jun-2015

247 views

Category:

Business


0 download

DESCRIPTION

This presentation shows the way the functional size measurement method COSMIC can be used to measure the functional size of mobile apps.

TRANSCRIPT

Page 1: Measuring the functional size of mobile apps with COSMIC FP

Measure the functional

size of a mobile app

Harold van Heeringen & Edwin van

Gorp

Page 2: Measuring the functional size of mobile apps with COSMIC FP

|

Measure the functional

size of a mobile app

Using the COSMIC functional size measurement

methodHarold van HeeringenSenior consultant software metrics

Department Sizing, Estimating & Control

Sogeti Nederland B.V.

[email protected]

@haroldveendam Rotterdam, October 6th, 2014

2IWSM-Mensura 2014

Page 3: Measuring the functional size of mobile apps with COSMIC FP

|

Overview

Reasons for this paper/presentation; Mobile apps – why are they different?; Why measure apps using COSMIC?; Short COSMIC overview; The proposed approximate method; Conclusions.

IWSM-Mensura 2014 3

Page 4: Measuring the functional size of mobile apps with COSMIC FP

|

Beware!

This is a technical paper/presentation! Knowledge of the COSMIC method is required!

IWSM-Mensura 2014 4

Page 5: Measuring the functional size of mobile apps with COSMIC FP

|

Reasons for this paper/presentation

5IWSM-Mensura 2014

Page 6: Measuring the functional size of mobile apps with COSMIC FP

|

Why?

IT industry is changing – new types of applications and ways to interact with software arise, for example: Cloud computing; Google glass; Mobile apps.

Software sizing, estimation and benchmarking challenges: Fixed price/fixed date app development.

Need for methods and guidelines to apply standards to sizing, estimating and benchmarking. IWSM-Mensura 2014 6

Page 7: Measuring the functional size of mobile apps with COSMIC FP

|

Mobile apps

Do I really have to introduce these?

IWSM-Mensura 2014 7

Page 8: Measuring the functional size of mobile apps with COSMIC FP

|

Some characteristics

Downloaded on a mobile device, like phone or tablet;

Connects to the internet (Wi-Fi/cellular); Many different application types; Touch screen; Use of GPS: content and functionality change,

depending on location; Use of motion sensor: motion of device can

result in different display; Content updates automatically; Functionality may be updated periodically.

IWSM-Mensura 2014 8

Page 9: Measuring the functional size of mobile apps with COSMIC FP

|

Mobile apps – why are they different?

More ways of user interaction: Changing position of device: toggling; Voice input, e.g. Siri;

Reaction to real-time events: Reach a certain location: message ‘flasher’;

Unclear where data is stored: On device/on backend/in cloud;

Functionality to handle disruptions: E.g. an incoming call;

Specific non-functional requirements: Security, performance, data traffic, battery use.

IWSM-Mensura 2014 9

Page 10: Measuring the functional size of mobile apps with COSMIC FP

|

Why measure apps using COSMIC?

Measuring mobile apps with the IFPUG method has already been published (the IFPUG guide to IT and software measurement).

Using COSMIC may produce even better results: More accurate measurement due to ratio scale; Concepts of layers and peer components fits

mobile app architectures; Lack of knowledge of the data model is no show

stopper for COSMIC.

Objective: create an approximate method to accurately size mobile apps using COSMIC.

IWSM-Mensura 2014 10

Page 11: Measuring the functional size of mobile apps with COSMIC FP

|

Short COSMIC overview

11IWSM-Mensura 2014

Page 12: Measuring the functional size of mobile apps with COSMIC FP

|

Entries functional process

12IWSM-Mensura 2014

Triggeringevent

is sensed by

TriggeringEntry

Boundary

Functionaluser

Functionalprocess

Triggeringevent

is sensed by

TriggeringEntry

Boundary

Functionaluser

Functionalprocess

Page 13: Measuring the functional size of mobile apps with COSMIC FP

|

Functional processes and data movements

13IWSM-Mensura 2014

Functional UserRequirements

Data movement Data manipulation

Sub-processes

Software

Functionalprocesses

Functional UserRequirements

Data movement Data manipulation

Sub-processes

Software

Functionalprocesses

Page 14: Measuring the functional size of mobile apps with COSMIC FP

|

COSMIC overview

14IWSM-Mensura 2014

Users Functional process Data

W

X R

E

Page 15: Measuring the functional size of mobile apps with COSMIC FP

|

The proposed approximate method

15IWSM-Mensura 2014

Page 16: Measuring the functional size of mobile apps with COSMIC FP

|

Basic assumptions

A mobile app is an application layer, developed on top of one ore more data layers: The physical location of the data layer is

irrelevant; Logically, no persistent data is stored in the

application layer: No Reads/Writes are measured, only

Entries/eXits; The app can use certain process data that is

spontaneously present: E.g. date + time and GPS location;

Mobile apps are considered business applications: One eXit for all (error) messages; (Error) messages come from data layer: 1 Entry.

IWSM-Mensura 2014 16

Page 17: Measuring the functional size of mobile apps with COSMIC FP

|

Measurement strategy

Equal to ‘standard’ COSMIC measurements, identify: Purpose, e.g. estimate realisation phase; Scope, e.g. a set of functional requirements; Functional users, e.g. the end users that

download the app from the app store; Level of granularity, e.g. functional process level.

Keep basic assumptions in mind when doing so.

IWSM-Mensura 2014 17

Page 18: Measuring the functional size of mobile apps with COSMIC FP

|

Mapping phase

Equal to ‘standard’ COSMIC measurements, identify: Functional processes; Objects of interest; Data groups.

Keep basic assumptions in mind when doing so.

IWSM-Mensura 2014 18

Page 19: Measuring the functional size of mobile apps with COSMIC FP

|

Measurement phase: approximate method

Two steps:1. Indentify the type of functional process;2. Quantify the parameters involved.

IWSM-Mensura 2014 19

Page 20: Measuring the functional size of mobile apps with COSMIC FP

|

Functional process types

Looking at the primary intent of a functional process:1. View functionality;2. Data manipulation (add, change, delete);3. Enquiry (before update);4. User supporting functionality, e.g. list box,

selection screen, pop-up function);5. Special functionality:

• Dynamically generated menus;• Log in/log out functionality;• Help functionality;• Invoking external functionality.

IWSM-Mensura 2014 20

Page 21: Measuring the functional size of mobile apps with COSMIC FP

|

View functionality

21IWSM-Mensura 2014

Page 22: Measuring the functional size of mobile apps with COSMIC FP

|

View functionality

Basic view functional process: 6 CFP; 1 OOI/1 data group:

For each additional OOI/data group:

For each calculated/derived data group: 1 eXit.

IWSM-Mensura 2014 22

E Start entryX Question for information to the data layerE Receiving dataE Receiving application error messagesX Show dataX Show application error messages

E Receiving dataX Show data

Page 23: Measuring the functional size of mobile apps with COSMIC FP

|

Data Layer

View functional process

IWSM-Mensura 2014 23

E

X

E

X

6 CFP

Application layer

XE

OOI / data group

Messages

Page 24: Measuring the functional size of mobile apps with COSMIC FP

|

Measurement phase: approximate method

For each functional process with primary intent to present data to at least one of the functional users:

4 CFP+ (2 CFP * number of data groups derived from the data layer) + (1 CFP * number of data groups with calculated and/or determined data)

IWSM-Mensura 2014 24

Page 25: Measuring the functional size of mobile apps with COSMIC FP

|

Data manipulation functionality

Basic add/change/delete functional process: 4 CFP:

For each additional OOI/data group manipulated:

For each data group shown to the user:

For each validation for which referential data is needed:

IWSM-Mensura 2014 25

E Start entryX Providing information to the data layerE Receiving application error messagesX Show application error messages

E Entering dataX Providing information to the data layer

X Questions for information to the data layerE Receiving data

X Question for information to the data layerE Receiving dataX Show data

Page 26: Measuring the functional size of mobile apps with COSMIC FP

|

Measurement phase: approximate method

For each functional process with primary intent to manipulate data for at least one of the functional users:

2 CFP+ (2 CFP * number of data groups manipulated) + (3 CFP * number of displayed data groups)+ (2 CFP * number of validations with referential data)

IWSM-Mensura 2014 26

Page 27: Measuring the functional size of mobile apps with COSMIC FP

|

Enquiry / user supporting functionality

Enquiry functionality (before update): Identical to view functionality.

User supporting functionality (non mandatory): Identical to view functionality.

IWSM-Mensura 2014 27

Page 28: Measuring the functional size of mobile apps with COSMIC FP

|

Special functionality - help

One functional process per help functionality type;

Identical to view functionality.

IWSM-Mensura 2014 28

4 occurrences of the same output-type

Page 29: Measuring the functional size of mobile apps with COSMIC FP

|

Special functionality – Login / Logout

Standard log in: 5 CFP.

Log status is process data spontaneously present in all functional processes.

Standard Log out: 2 CFP.

IWSM-Mensura 2014 29

E Start entryX Providing credentials to the data layerE Receiving log statusE Receiving application error messagesX Show application error messages

E Start entryX Show application error messages

Page 30: Measuring the functional size of mobile apps with COSMIC FP

|

Conclusions

This approximate method is intended to be a guideline to apply the COSMIC FSM quickly and correctly when measuring mobile apps;

Based on a few simple steps, the size measurement can be easily generated:1. Indentify the type of functional process;2. Quantifying the parameters involved.

Please read the paper if you are interested in a more detailed explanation of the method.

30IWSM-Mensura 2014

Page 31: Measuring the functional size of mobile apps with COSMIC FP

Thank you for your attention.

Page 32: Measuring the functional size of mobile apps with COSMIC FP

Harold van Heeringen Senior Consultant Software Metrics /Software Cost Engineer

Sogeti Sizing, Estimating & Control (SEC)

@[email protected]

President ISBSG (International Software Benchmarking Standards Group (www.isbsg.org))Board member NESMA (Netherlands Software Metrics Association (www.nesma.org))IAC member COSMIC (www.cosmicon.com)