Often on consulting projects need to quickly perform an efforts estimation for consulting services in the implementation of BPM development tasks. In this blog I want to show my approach for the efforts estimation for the implementation of BPM development tasks (bpm processes, services, applications, configuration tasks) for projects where you plan to use the SAP BPM functionality.
To estimate the efforts for the implementation of BPM functionality we need detail on the following key requirements:
List of requirements
Requirement | Comments |
General requirements | |
Number of bpm-processes (system-centric, human-centric) | Number of all bpm-processes which included in the scope of project. |
Number of additional custom BPM related utilities (applications/services) | Applications/services that are used to run processes (via BPM API, web-service), display process data reports, UWL customization, etc. |
Process specific requirements | |
Process type | System-centric/human-centric |
Number of steps in bpm-process (workflow) | |
Number of human activities | only for human-centric processes |
Complexity of UI for human activities | To determine the complexity level of the user interface you can use the special table in paragraph 3. |
Number of standard or already developed web-services/BAPI for automated activities in bpm-process | Services on BPM Java Application server side and all backend systems. |
Number of web-services/bapi that need to be developed or extended for automatic activities of bpm-process | Services on all sides (BPM Java Application server, any backend system). |
Number of backend systems used in process | Using for estimate efforts of system configure tasks. |
To develop bpm-processes uses the following project roles:
Roles in the development of BPM processes
Role | Responsibility area |
Workflow developer |
|
UI developer |
|
Web service/BAPI developer |
|
Efforts estimation is performed in several estimation steps:
Calculation of efforts estimation based on following details about BPM project:
The general scheme of calculation is as follows:
In calculating efforts estimation of BPM-project necessary to consider the possible installation / configuration of application servers: development, testing and production server.
If the project implementation is carried out for the first time, you should consider the setting of the following components:
The resulting table for efforts estimation of each Java application server as follows:
Table 1. Efforts estimation of installation/configuration tasks for BPM environment
№ | Task type | Optional | Efforts estimation (w.days) |
1.1 | Installation of BPM components | optional | 2 |
1.2 | BPM components configuration | optional | 2 |
1.3 | Security configuration | optional | 1 |
1.4 | BPM-BW connectivity | optional | 1 |
1.5 | Connecting to a federated network | optional | 1 |
1.6 | Development environment configuration (NWDI) | optional | 1 |
1.7 | Transport system configuration | optional | 1 |
1.8 | Install/configuration of buffer data storage | optional | 2 |
Efforts estimation of BPM process development includes the following steps:
All objects (workflow, applications and services) must be classified for the correct estimation. In the proposed approach for efforts estimation the following classification is used:
WORKFLOW, UI AND SERVICES CLASSIFICATION BY COMPLEXITY LEVEL | |||
Complexity level | Workflow complexity level description | UI complexity level description | Service (WS/BAPI) complexity level description |
Low | Number of used steps in workflow: 1 - 3 | Number of new fields for development: 1–20 | |
Medium | Number of used steps in workflow: 4 – 6 | Number of new fields for development: 20–40 | |
High | Number of used steps in workflow: 6 – 10 | Number of new fields for development: 40–60 |
Workflow development included the following tasks:
We using table№2 «Workflow development», to estimate efforts for documentation development, design workflow and testing (tasks№1,2,5).
Table 2. Efforts estimation of workflow development
2 - WORKFLOW DEVELOPMENT | |||||
№ | Workflow complexity level | Doc. dev (w. days) | Workflow design (w. days) | Testing | Total |
2.1 | Low | 1 | 0,5 | 0,5 | 2 |
2.2 | Medium | 2 | 1 | 1 | 4 |
2.3 | High | 3 | 1,5 | 2 | 6,5 |
Next step is estimation of assigning and configuration UI and system steps in the process workflow, based on table№3 «Connection and configuration human and automated activities».
Table 3. Efforts estimation of connecting task for human activities and services for automated activities
3 – CONNECTION CONFIGURATION OF HUMAN AND AUTOMATED ACTIVITIES | |||
№ | Complexity of process step (UI/Service) | Add and config. of one sys. Step (w. days) | Add and config. of one user step (w. days) |
3.1 | Low | 0,06 | 0,06 |
3.2 | Medium | 0,12 | 0,12 |
3.3 | High | 0,18 | 0,18 |
The second part is efforts estimation of development applications with user interface.
All applications used for bpm project are divided into two following groups:
We can use table №4 for estimation of applications development.
Table 4. Efforts estimation of application development for Human activities
4 – UI DEVELOPMENT FOR HUMAN ACTIVITIES (Classification by complexity level) | |||||
№ | Complexity level | Doc. dev (w. days) | UI dvelopment (w.days) | Testing | Total |
4.1 | Low | 0,5 | 0,5 | 0,5 | 1,5 |
4.2 | Medium | 1 | 2 | 1 | 4 |
4.3 | High | 2 | 4 | 1,5 | 7,5 |
Often UI applications using services (WS/BAPI) for access to data in backend-systems (CRUD operations from UI applications). Therefore, we need to estimate service development tasks and we using table№ 5 for this estimation.
Table 5. Efforts estimation for service development
5 – SERVICE (WS/BAPI) DEVELOPMENT | ||||||
№ | Service (ws/bapi) type |
| Development/ investigation (w. days) | Testing | Total | |
5.1 | Low | Standard/ existed | 0,5 | 0,5 | 1 | 2 |
5.2 | New service | 0,5 | 1 | 1 | 2,5 | |
5.3 | Medium | Standard/ existed | 1 | 1,5 | 1 | 3,5 |
5.4 | New service | 1 | 2 | 1 | 4 | |
5.5 | High | Standard/ existed | 2 | 2 | 2 | 6 |
5.6 | New service | 2 | 2,5 | 2 | 6,5 |
We can also use this table for efforts estimation of Java development which using in mapping configuration tasks.
Next step is to estimate efforts for connection (new or existed) and configuration of services into application.
Table 6. Efforts estimation of connecting services in applications with UI or automated activity
6 – CONNECTING AND CONFIGURING OF SERVICES | ||||||
№ | Complexity level |
| Connecting and configuring one service (w. days) | Testing | Total | Note |
6.1 | Low | 0,25 | 0,125 | 0,125 | 0,5 | Configuring for 1-20 fields |
6.2 | Medium | 0,5 | 0,5 | 0,5 | 1,5 | Configuring for 20-40 fields |
6.3 | High | 1 | 1 | 1 | 3 | Configuring for 40-60 fields |
Also we can use Table 6 for efforts estimation of Notification, Reporting and Mapping steps configuration.
Now, if we have a description of human activity or some portal application for users, we can estimate efforts for development of this application using table №4,5,6. You can see example of efforts estimation for application development with high level complexity of UI and used two services. One of this services is new, then we need to estimate efforts for development and connection. Another one service is already existed and no changes for this service need for our application.
Example of Efforts estimation of UI development task for human activity
Task type | Complexity level | Efforts estimation | Reference table |
UI development | High | 7,5 | 4.3 |
Existed service connecting | Low | 0,5 | 6.1 |
New service development | Low | 2,5 | 5.1 |
New service connecting | Low | 0,5 | 6.1 |
Total | 11 |
Using tables №2,3,4,5,6 we can estimate efforts for each BPM process development task.
Efforts estimation of BPM process development task
EFFORTS ESTIMATION FOR PROCESS DEVELOPMENT TASKS | |||||
Development task | Complexity level | Efforts estimation | Table reference | ||
Development of BPM Process <Process name> | |||||
Design and configuring of workflow | Low/Med./High | x | 2.1 | ||
Development of human activity №1 | |||||
UI development | Low/Med./High | x | 4.1 | ||
Existing service connecting 1 | Low/Med./High | x | 6.1 | ||
… | Low/Med./High | x | 6.1 | ||
Existing service connecting n | Low/Med./High | x | 6.1 | ||
New service development 1 | Low/Med./High | x | 5.1 | ||
… | Low/Med./High | x | 5.1 | ||
New service development n | Low/Med./High | x | 5.1 | ||
New service connecting 1 | Low/Med./High | x | 3.1 | ||
… | Low/Med./High | x | 3.1 | ||
New service connecting n | Low/Med./High | x | 3.1 | ||
Connecting task to hum. activity | Low/Med./High | x | 3.1 | ||
Development of automated activity №1-n | |||||
New/existed service development | Low/Med./High | x | 5.2 | ||
Connecting service to automated activity | Low/Med./High | x | 3.1 | ||
Total | x |
Example of efforts estimation of BPM process development task
Development task | Complexity level | Efforts estimation | Table reference | ||
Development of BPM Process 1 | |||||
Design and configuring of workflow | Low | 2 | 2.1 | ||
Human activity №1 | |||||
UI development | Low | 1,5 | 4.1 | ||
Existing service connecting 1 | Low | 0,5 | 6.1 | ||
Connecting task to hum. activity | Low | 0,06 | 3.1 | ||
Human activity №2 | |||||
UI development |
| 4 | 4.2 | ||
Existing service connecting 1 |
| 1,5 | 6.2 | ||
Existing service connecting 2 | High | 3 | 6.3 | ||
Connecting task to hum. activity |
| 0,12 | 3.2 | ||
Automated activity №1 | |||||
New service development 1 | Low | 2,5 | 5.2 | ||
Connecting service to automated activity | Low | 0,06 | 3.1 | ||
Total | 15 |
Often there is a need to develop additional applications and services for BPM project based on special requirements from customer side. These applications can perform the following functions:
You can also use table №3,4,5 for efforts estimation of additional application of BPM project.
Example of Efforts estimation of UI development task for human activity
Task type | Complexity level | Efforts estimation | Reference table |
UI development | Low | 1,5 | 4.3 |
Existed service connecting | Low | 0,5 | 6.1 |
Existed service connecting |
| 1,5 | 6.2 |
Total | 10,75 |
The resulting table includes the estimation of all basic BPM development tasks.
EFFORTS ESTIMATION FOR BPM PROJECT TASKS | |||||
Development task | Complexity level | Efforts estimation | Table reference | ||
Install/configuration BPM environment | |||||
Installation of BPM components (optional) | - | x | 1.1 | ||
BPM components configuration (optional) | - | x | 1.2 | ||
Security configuration (optional) | - | x | 1.3 | ||
BPM-BW connectivity (optional) | - | x | 1.4 | ||
Connecting to a federated network (optional) | - | x | 1.5 | ||
Development environment configuration (NWDI) | - | x | 1.6 | ||
Transport system configuration (optional) | - | x | 1.7 | ||
Install/configuration of buffer data storage (optional) | - | x | 1.8 | ||
Development of BPM Process №1 <Process name> | |||||
Design and configuring of workflow | Low/Med./High | x | 2.x | ||
Development of human activity №1-n | |||||
UI development | Low/Med./High | x | 4.x | ||
Existing service connecting 1 | Low/Med./High | x | 5.x | ||
… | Low/Med./High | x | 5.x | ||
Existing service connecting n | Low/Med./High | x | 5.x | ||
New service development 1 | Low/Med./High | x | 6.x | ||
… | Low/Med./High | x | 6.x | ||
New service development n | Low/Med./High | x | 6.x | ||
New service connecting 1 | Low/Med./High | x | 3.x | ||
… | Low/Med./High | x | 3.x | ||
New service connecting n | Low/Med./High | x | 3.x | ||
Connecting task to hum. activity | Low/Med./High | x | 3.x | ||
Development of automated activity №1-n | |||||
New/existed service development | Low/Med./High | x | 4.x | ||
Connecting service to automated activity | Low/Med./High | x | 2.x | ||
Development of BPM Process №n <Process name> | |||||
Design and configuring of workflow | Low/Med./High | x | 2.x | ||
Development of human activity №1-n | |||||
UI development | Low/Med./High | x | 4.x | ||
Existing service connecting 1 | Low/Med./High | x | 5.x | ||
… | Low/Med./High | x | 5.x | ||
Existing service connecting n | Low/Med./High | x | 5.x | ||
New service development 1 | Low/Med./High | x | 6.x | ||
… | Low/Med./High | x | 6.x | ||
New service development n | Low/Med./High | x | 6.x | ||
New service connecting 1 | Low/Med./High | x | 3.x | ||
… | Low/Med./High | x | 3.x | ||
New service connecting n | Low/Med./High | x | 3.x | ||
Connecting task to hum. activity | Low/Med./High | x | 3.x | ||
Development of automated activity №1-n | |||||
New/existed service development | Low/Med./High | x | 4.x | ||
Connecting service to automated activity | Low/Med./High | x | 2.x | ||
Additional development | |||||
Additional application №1 | |||||
UI development | Low/Med./High | x | 4.x | ||
Existing service connecting 1 | Low/Med./High | x | 5.x | ||
… | Low/Med./High | x | 5.x | ||
Existing service connecting n | Low/Med./High | x | 5.x | ||
New service development 1 | Low/Med./High | x | 6.x | ||
… | Low/Med./High | x | 6.x | ||
New service development n | Low/Med./High | x | 6.x | ||
New service connecting 1 | Low/Med./High | x | 3.x | ||
… | Low/Med./High | x | 3.x | ||
New service connecting n | Low/Med./High | x | 3.x | ||
Additional application №n | |||||
New/existed service development | Low/Med./High | x | 4.x | ||
Connecting service to automated activity | Low/Med./High | x | 2.x | ||
Total | x |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
10 | |
10 | |
9 | |
8 | |
7 | |
6 | |
5 | |
5 | |
5 |