characteristics of spreadsheets developed with the … · characteristics of spreadsheets developed...

32
Characteristics of Spreadsheets Developed with the SSMI Methodology EuSpRIG 17th Annual Conference, 2016—London, UK Paul Mireault Founder, SSMI International Honorary Professor, HEC Montréal [email protected]

Upload: hathuy

Post on 21-Apr-2018

225 views

Category:

Documents


2 download

TRANSCRIPT

Characteristics of Spreadsheets Developed with the SSMI Methodology

EuSpRIG 17th Annual Conference, 2016—London, UK

Paul Mireault Founder, SSMI International Honorary Professor, HEC Montréal [email protected]

Presentation Plan

�2

‣ Introduction: Teaching Excel

‣ SSMI Methodology

‣ Characteristics

‣ Use of worksheets

‣ Names, and Far and Local References

‣ Complexity (or Simplicity?)

‣ Copying

‣ Transitive References (absence of)

‣ Auditing

Excel Courses

‣ Like teaching a dictionary.

‣ Teach a function, show an example

‣ Usual example: Pivot Table

‣ When you need this,

‣ This is how to do it.

‣ Usual example: VLOOKUP�3

Excel Courses in Business Schools

‣ Teaching Excel is done in isolated silos:

‣ Excel in Finance, Excel in Marketing, Excel in Human Resources, Excel in Accounting, etc.

‣ Usually they are template based:

‣ ROI analysis and Leverage Buy Out in Finance,

‣ Personnel scheduling in HR

‣ Ratio analysis in Accounting

‣ Product Management in Marketing

‣ More focused on the domain than on the Excel expertise and creativity.

�4

Teaching How to Use Excel

‣ You know the old saying:

‣ Give a man a fish and you feed him for one day…

‣ Teach a woman to fish and you feed her for life.

�5

SSMI Methodology

‣ Based on proven Software Engineering, Computer Science and Information Systems principles

‣ Conceptual Model (IS)

‣ Variable Names (CS)

‣ Modules (CS)

‣ 3-tier architecture (SE)

�6

SSMI Methodology

‣ Is a general methodology that can be used in any domain.

‣ Has only one rule: Don’t mix operators.

‣ (It can be broken in special cases)

‣ No color requirements or suggestions. (They belong in the interface.)

‣ Lets developers easily explain their spreadsheet.

‣ Facilitate long-term maintenance and improvement.�7

�8

Physical ModelTime

DiskExcel

manipulations

User Computer

Logical and mechanicalerrors

Typical Process Spreadsheet Analysis, Design and Implementation

Typical Process Spreadsheet Analysis, Design and Implementation

�9Source: Hermans, Felienne (2014): Enron Spreadsheets and Emails. figshare. http://dx.doi.org/10.6084/m9.figshare.1221767

Model or Model?

�10

A spreadsheet is a model of the real world

The Formula Diagram and the Formula List are the Conceptual Model of

the spreadsheet

Model or Model?

�11

Formula List Formula Diagram

In Information Systems, we use a Conceptual Model.

‣ Describes what the user needs, without references to the technology used to implement it.

Structured Spreadsheet Modelling and Implementation

Disk

�12

DiskExcel manipulations

Spread- sheet

file

Developer ComputerDomain

knowledge

Spreadsheet knowledge

Formula Diagram

and Formula List

Same or another

developer

Mechanicalerrors

Conceptual and Logical Models Physical ModelTime

Logical errors

Structured Modelling

Behind-the-Scene Interface

Constants

Calculated

Input

CalculatedVariable Output

Two categories of variables, with sub-categories:

�13

Structured Implementation

14

Characteristics of the SSMI Methodology

‣ Spreadsheet documentation: Formula Diagram and Formula List

‣ Overview of relationships

‣ Facilitates peer review

‣ Facilitates hand-off of the model

�15

Single-Purpose Worksheets

‣ This is the 3-tier Architecture principle.

‣ Separation of Inputs, Calculations and Outputs.

‣ Also, separation of single-value and repeated-value variables.

�16

Names

‣ Every variable is given a Name where it is defined.

‣ Input variables and Parameters are defined in their parameter worksheet (single value or repeated value.)

‣ Calculated variables are defined in their model worksheet (single value or repeated value.)

‣ The cells associated with a name are formatted Bold-Italic. Calculated variables are separated from their defining variables with an upper border (This is the only formatting requirement.)

�17

Far and Local References

‣ All reference formulas use a reference to a named variable, and are considered Far References.

‣ All definition formula use the cells in the top part of their defining block as relative cell coordinates, and are considered Local References.

‣ There is an exception when the formula uses a set of values (like a LOOKUP): in this case we refer to the set of values with a named reference

�18

Names and Absolute/Mixed References

‣ A Name that refers to a single cell is the equivalent of an absolute reference in Excel.

‣ A Name that refers to a row is the equivalent of a mixed-reference in Excel:

‣ the row is Absolute and the column is Relative.

‣ Names that refer to columns are treated similarly.

�19

�20

Which is simpler?

�21

Non-Recommended Modelling

Variable Type Formula or initial value

Daily Rate Parameter $58

Number of Days Input 12

Daily Allowance Parameter 100

Total Distance Input 1452

Distance Cost Parameter $0,36

Rental Cost Result Number of Days * Daily Rate + IF(Total Distance > Number of Days * Daily Allowance, (Total Distance - Number of Days * Daily Allowance) * Distance Cost, 0)

22

Structured Modelling

Variable Type Formula or initial value

Daily Rate Parameter $58

Number of Days Input 12

Daily Allowance Parameter 100

Total Distance Input 1452

Distance Cost Parameter $0,36

Rental Cost Result Daily Cost + Extra Distance Cost

Daily Cost Calculated Number of Days * Daily Rate

Total Allowance Calculated Number of Days * Daily Distance

Extra Distance Calculated IF(Total Distance > Total Allowance; Total Distance – Total Allowance; 0)

Extra Distance Cost Calculated Extra Distance * Distance Cost

23

Can you spot the error?

24

Formula Copying

‣ Partial or incomplete copying is an often cited cause of errors.

‣ Developers tend to copy formulas as they are written.

‣ It interrupts their creative process.

‣ It’s a waste of time

25

�26

Formula Copying

Formula Copying

‣ Does not work when columns contain different constant values (e.g. names of months)

‣ Such constants can be created in the proper parameters sheets and named appropriately.

‣ The full column copying then works well with the named reference to the constants.

27

Transitive Reference (Daisy Chains)

‣ A transitive reference occurs when the developer references a reference of a variable instead of its definition.

‣ While it does not cause an error immediately, it may cause one when the spreadsheet is modified in the future.

‣ It’s tempting, for a developer, to point to a reference that is just above instead of navigating to the variable’s definition (that may be far away.)

28

29

30Non-SSMI SSMI

Auditing

‣ Understanding the model is done with the Formula Diagram and the Formula List.

‣ Verifying the spreadsheet.

‣ Verify that each variable is implemented according to the Formula List.

‣ In the case of a repeated variable, copy the values in a temporary sheet, recopy the first column over the others to the right and see if some values have changed.

31

Q&A

�32�32