20
PoEM 2013 1 Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report Ilia Bider - DSV SU/IbisSoft Athanasios Karapantelakis – Ericsson Research Nirjal Khadka – DSV SU/SE Presentation for PoEM 2013 http://poem2013.rtu.lv/ Riga, Latvia, November, 2013 Proceedings: http://bit.ly/17n1gV5

Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

Embed Size (px)

DESCRIPTION

Use of software tools to support business processes is both a possibility and necessity for both large and small enterprises of today. Given the variety of tools on the market, the question of how to choose the right tools for the process in question or analyze the suitability of the tools already employed arises. The paper presents an experience report of using a high-level business process model for analyzing software tools suitability at a large ICT organization that recently transitioned to scrum-based project methodology of software development. The paper gives overview of the modeling method used, describes the organizational context, presents a model built, and discusses preliminary findings based on the analysis of the model.

Citation preview

Page 1: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 20131

Building a High-Level Process Model for Soliciting Requirements on

Software Tools to Support Software Development: Experience Report

Ilia Bider - DSV SU/IbisSoft Athanasios Karapantelakis – Ericsson Research

Nirjal Khadka – DSV SU/SE

Presentation for PoEM 2013 http://poem2013.rtu.lv/Riga, Latvia, November, 2013

Proceedings: http://bit.ly/17n1gV5

Page 2: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 20132

Goals with presentation

Essentially, old models are wrong, but some of them are useful (George P.E. Box)

• Present an example of the above and at the same time

• Present a new process modeling technique useful for understanding what type of IT-support a particular process need

• Demonstrate how it works on particular example which was used as the first test for the modeling techniques

• Show how modern IT development copes in the global world

Page 3: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 20133

Object of modeling: software development process at a large ICT provider

Who went from

• a traditional phase-based development approach with local software development teams

To

• working in an iterative manner using the Scrum project management methodology and employing geographically distributed teams that have cultural differences and may work in different time zones

Page 4: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 20134

Goal with the project

I. Practical goals

1. Better understanding of current practice2. Find weak points in the process and/or IT-tools employed in

it

II. Research golas

3. Test the modeling technique in practice4. See whether the technique suits the task of analysis of

existing tools rather than the task of choosing the tool

Page 5: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 20135

Goal with modeling technique

• Discover essential properties of a business process without going into too many details

• Enough to derive requirements on capabilities of IT-tools that would provide satisfactory support for people enged in the process.

--------------------------------------------------------------------

• Original indentation – provide guidelines for choosing tools/systems/services

• For this project – analyze already employed tools

Page 6: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 20136

Main notions of modeling technique

1. Step (phase, work package) a unit of work; a model includes a small number of steps5-10

2. Relationships between the steps of different kinds --------------------------------------------------------------------

• Relationships can be presented graphically; easy to understand

or • In the form of octagonal matrixes; these could be

manipulated formally

Page 7: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 20137

Input-output relationships (graphical form)

Page 8: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 20138

Input-output relationships (additional details)

Page 9: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 20139

Input-output relationships in the graphical form

BR: Business (product) requirementsTR: Technical (design) requirementsAR: Assigning requirementsFD-A: Feature A development

FD-B: Feature B developmentIC: Implementation CoordinationRM: Release management (integration)

OutputInput

BR TR AR FD-A FD-B IC RM

BR              

TR *Product req. spec.

           

AR   *Designreq. spec.

         

FD-A     *Feature A req. spec. , Schedule

    Priorities Bug reports, Preliminary integration.

FD-B     *Feature B req. spec., Schedule

Early versions of code

  Priorities Bug reports,Preliminary integration

IC     *Split schema,Schedule

Status info 

Status info 

  Status info

RM     *Split schema,Schedule

*Code and instruct.

*Code and instruct.

Schedule changes 

 

Page 10: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201310

Parallel execution matrix

BR: Business (product) requirementsTR: Technical (design) requirementsAR: Assigning requirementsFD-A: Feature A development

FD-B: Feature B developmentIC: Implementation CoordinationRM: Release management (integration)

  BR TR AR FD-A FD-B IC RM

BR              

TR              

AR   .          

FD-A           x x

FD-B       x   x x

IC       x x   x

RM       x x x  

Page 11: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201311

Parallel dependencies matrix

BR: Business (product) requirementsTR: Technical (design) requirementsAR: Assigning requirementsFD-A: Feature A development

FD-B: Feature B developmentIC: Implementation CoordinationRM: Release management (integration)

Output

Input

BR TR AR FD-A FD-B IC RM

BR              

TR *Product req. spec.

           

AR   *Designreq. spec.

         

FD-A     *Feature A req. spec. , Schedule

    Priorities

Bug reports, Preliminary integration.

FD-B     *Feature B req. spec., Schedule

Early versions of code

  Priorities

Bug reports,Preliminary integration

IC     *Split schema,Schedule

Status info 

Status info 

  Status info

RM     *Split schema,Schedule

*Code and instruct.

*Code and instruct.

Schedule changes 

 

  BR TR AR FD-A FD-B IC RM

BR              

TR              

AR   .          

FD-A           x x

FD-B       x   x x

IC       x x   x

RM       x x x  

  FD-A FD-B IC RMFD-A     x x

FD-B x   x x

IC x x   x

RM x x x  

+

=

Page 12: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201312

Weak dependencies matrix

BR: Business (product) requirementsTR: Technical (design) requirementsAR: Assigning requirementsFD-A: Feature A development

FD-B: Feature B developmentIC: Implementation CoordinationRM: Release management (integration)

  FD-A FD-B IC RM

FD-A   Explanations of code behavior

  Explanation of test results/bug reports

FD-B Details on the statusExplanations of test results/bug reports

    Explanations of test results/bug reports

IC Details on the status

Details on the status

  Details on the status

RM Explanations of code behavior

Explanations of code behavior

   

Page 13: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201313

Team relationships

BR: Business (product) requirementsTR: Technical (design) requirementsAR: Assigning requirementsFD-A: Feature A development

FD-B: Feature B developmentIC: Implementation CoordinationRM: Release management (integration)

Output Input

BR TR AR FD-A FD-B IC RM

BR

TR

AR .

FD-A 1 person.

FD-B 1 person.

IC 1 person 1 person

RM

Page 14: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201314

Teams + weak dependencies matrix

BR: Business (product) requirementsTR: Technical (design) requirementsAR: Assigning requirementsFD-A: Feature A development

FD-B: Feature B developmentIC: Implementation CoordinationRM: Release management (integration)

+

=

  FD-A FD-B IC RM

FD-A   Explanations of code behavior

  Explanation of test results/bug reports

FD-B Details on the statusExplanations of test results/bug reports

    Explanations of test results/bug reports

IC Details on the status

Details on the status

  Details on the status

RM Explanations of code behavior

Explanations of code behavior

   

Output Input

FD-A FD-B IC RM

FD-A 1 person.

FD-B 1 person.

IC 1 person 1 person

RM

FD-A FD-B IC RM

FD-A Explanations of code behavior

Explanation of test results/bug reports

FD-B Details on the status Explanations of test results/bug reports

Explanations of test results/bug reports

IC Details on the status Details on the status Details on the status

RM Explanations of code behavior

Explanations of code behavior

Page 15: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201315

Capabilities of IT-tools/systems/services

Information logisticsupport

Intra-stepcollaboration

support

Inter-stepcollaboration

support

Process flow restriction

enforcement

Process flow

support

Participation restriction

enforcement

Page 16: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201316

Matching capabilities and process properties

Information logisticsupport

Intra-stepcollaboration

support

Inter-stepcollaboration

support

Process flow restriction

enforcement

Process flow

support

Participation restriction

enforcement

Input-output

Transitive input-output

Parallel execution TeamsParallel

dependencies

Parallel execution + Teams

Weak dependencies

+ Teams

Weak dependencies

Table 1: Table 2: Table 4: Table 3: Table 9: Table 8: Table 10 : Table 7:

1 . 2. 3 . 4. 5. 6.

Page 17: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201317

Process for choosing BPS tools/systems/services

Identifysteps in business process

Fill in basic

matrices

Buildderivedmatrices

Identifycapabilities

usingmatrices

Chose BPS that provides

identifiedcapabilities

Page 18: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201318

Tool usage in the process  BR TR AR FD-A FD-B IC RM

BR PPM            

TR PPM,GPT

RC,PPM          

AR   RC RC,PPM        

FD-A     RC DE,FT,FS, RP,ST,TM

GPT GPT BR,FS

FD-B     RC FS,BR,GPT

DE,FT,FS, RP,ST,TM

GPT BR,FS

IC     RC GPT GPT RC,PPM

BR,GPT

RM     RC FS, GPT FS,GPT GPT AB,BR,ST,TM

Specialized toolsAB - Automated Build, continuous integration tool for building snapshots of code BR – Bug Tracker, an in-house developed bug reporting toolDE - Development Environment for authoring code.FT – Tool for function and unit test - automated test framework (in-house developed).FS – Secure file server, for feature teams to deliver code to RM for integration or to other feature teams in case of inter-dependencies.

PPM - Product and Portfolio

Management tool for project management.RC - Requirements Composer for defining and following up the requirements.ST - automated System Testing tool for regression testing (part of acceptance testing)TM - Test Management Tool for documenting test cases ST - Scrum Tool for backlog management.RP - Version control system, for collaborative code development in feature teams

General Purpose Tools (GPT) CT - Communication Tool for email, instant messaging, and meetings.DS – Document Store, a database for storing documents or links to documents.ICMS - Internal Content Management System for broadcasting information of general interest, e.g. project milestone results, info from other process cases, etc.Office - Spreadsheet and Word Processing.SN – An internal social network with technical forums for idea exchange

Page 19: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201319

Problem identified

Information logisticsupport

Intra-stepcollaboration

support

Inter-stepcollaboration

support

Process flow restriction

enforcement

Process flow

support

Participation restriction

enforcement

Input-output

Transitive input-output

Parallel execution TeamsParallel

dependencies

Parallel execution + Teams

Weak dependencies

+ Teams

Weak dependencies

Table 1: Table 2: Table 4: Table 3: Table 9: Table 8: Table 10 : Table 7:

1 . 2. 3 . 4. 5. 6.

FD-A FD-B IC RM

FD-A Explanations of code behavior

Explanation of test results/bug reports

FD-B Details on the status Explanations of test results/bug reports

Explanations of test results/bug reports

IC Details on the status Details on the status Details on the status

RM Explanations of code behavior

Explanations of code behavior

Page 20: Building a High-Level Process Model for Soliciting Requirements on Software Tools to Support Software Development: Experience Report

PoEM 201320

Thank you for your attention!

Main ContactIlia Bider, SU/IbisSoft

Email: ilia@{ibissoft|dsv.su}.se