After preliminary analysis of requirement, we understand the scope of the project. Once scope is finalized we go for effort estimation. By finalizing scope we identify, source and target, number of interfaces, design pattern and complexity of the interfaces. For integration projects, efforts are calculated on the basis of these parameters.
We spend time on following artifacts/tasks as per SDLC .
- Analysis
- Functional Specification
- Detail Design Document
- Coding and unit testing
- Test case preparation
- QA deployment preparation
- User acceptance testing support
- Production deployment support
- Hypercare
- Closure activities/Transition to support team.
Here is the sample effort catalogue templates you can use for Effort/Cost calculation for integration projects.
Design Pattern | Type | Scenario | Analysis | FS | DD | Code | ITS | SIT | QA | UAT | Prd | Total Effort(PD) |
Synchronous Process | Simple | One Source one Destination, simple Lookup for data enrichment( database or xref table), Simple flow control(try Catch, Decision, Branching) Simple Transformation(string manipulation),Simple error handling Logic(Reuse existing error handling process), Simple security requirement( standard Basic Authentication) |
1 | 1 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 11 |
Synchronous Process | Medium | One Source one Destination, Medium flow control(try Catch, decision ,branching, few subprocess call) medium lookup complexity for data enrichment(database, xref table or webservices), simple scripts(groovy,shell, bat etc), Medium Transformation logic( String conversion, Date format conversion,simple math) , Medium process logic, Medium Error handling logic( reuse or custom built error handling processes) Medium security( Encyption/Decyption, Basic Authentication) |
2 | 2 | 2 | 5 | 1 | 2 | 1 | 2 | 1 | 18 |
Synchronous Process | Complex | One Source more than one Destination, Complex Flow Control(try/catch,multiple, Branch,route, decesion shapes etc are used), Multiple lookup for data enrichment to Database, Xref table, Webservices, complex database query, Complex scripting requirement, Multiple subprocesses, Complex Transformation logic(String conversion, Mathematical function,lookup,custom scripts), Complex Error handling logic( Custom built error handling process required), Additional Security Requirement( encryption/decryption, Mauth, Two-way SSL, Message signing, URL signing ), Audit Requirement |
3 | 3 | 3 | 8 | 2 | 3 | 1 | 3 | 1 | 27 |
Asynchronous Publisher Process | Simple | Send Messages to the single Topic/queue, Simple schema validation( Only incoming message to be validated against predefined schema) Simple flow control, No Lookup for data enrichment, Simple Transformation, Simple Error handling Logic, Simple security requirement |
1 | 1 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 11 |
Asynchronous Publisher Process | Medium | Send Messages to single queue,Medium process logic, Medium flow control, Medium lookup complexity for data enrichment, Medium Transformation logic, Medium Error handling logic, Medium security |
1 | 1 | 1 | 5 | 1 | 2 | 1 | 2 | 1 | 15 |
Asynchronous Publisher Process | Complex | Send Message to multiple Queue, Complex lookup for data enrichment, Complex flow control, Complex Transformation logic, Complex Error handling logic, Additional Security Requirement |
2 | 2 | 2 | 7 | 2 | 3 | 3 | 2 | 23 | |
Asynchronous Subscriber Process | Simple | Subscribe to the single message Queue, Simple process logic, Simple flow control, Simple lookup for data enrichment, Simple Transformation, Simple Error handling Logic, Simple security |
1 | 1 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 11 |
Asynchronous Subscriber Process | Medium | Subscribe to the single message Queue, Medium process logic, Medium flow control,Medium lookup complexity for data enrichment, Medium Transformation logic, Medium Error handling logic, Medium security |
2 | 2 | 2 | 5 | 1 | 2 | 1 | 2 | 1 | 18 |
Asynchronous Subscriber Process | Complex | Subscribe to the single message Queue, Commit messages to the database, Sequencing requirement,Complex flow control logic, Complex lookup for data enrichment, Complex Transformation logic, Complex Error handling logic, Additional Security Requirement |
3 | 3 | 3 | 8 | 2 | 3 | 1 | 3 | 2 | 28 |
FTP Process | Simple | One Source one Destination file transfer, Simple backup and delete after file transfer, simple error notification call using common error code. | 1 | 1 | 1 | 2 | 1 | 1 | 1 | 1 | 1 | 10 |
FTP Process | Medium | One Source , one Destination, Medium flow control , encryption/decryption of the file, custom built error handling process | 2 | 2 | 2 | 4 | 1 | 2 | 1 | 2 | 1 | 17 |
FTP Process | Complex | One Source multiple destination, Complex flow control, Complex Data transformation, Intermediate SFTP servers, Complex Scripting (shell /Groovy/bat) requirement. Additional Security Requirement, Custom built error handling process, Mail Notification, Auditing requirement |
3 | 3 | 3 | 8 | 2 | 3 | 1 | 3 | 2 | 28 |
Bulk data Process( File to File File to DB File to web Service DB to Web service Batch Retry) |
Simple | One Source one Destination, Simple flow control, No Lookup for data enrichment, Simple Transformation, Simple Error handling Logic, Simple security |
1 | 1 | 1 | 2 | 1 | 1 | 1 | 1 | 1 | 10 |
Bulk data Process | Medium | One Source one Destination, Medium flow control logic, Medium lookup complexity for data enrichment, Single split and merge requirement, Medium Transformation logic, Medium Error handling logic, Medium security requirement |
2 | 2 | 2 | 4 | 1 | 2 | 1 | 2 | 1 | 17 |
Bulk data Process | Complex | One Source multiple Destination, Complex flow control logic, Complex split and merging requirement, Complex lookup call for data enrichment , Complex Transformation logic, Complex Error handling logic, Additional Security Requirement, Audit requirement. |
3 | 3 | 3 | 8 | 2 | 3 | 1 | 3 | 1 | 27 |
You categorize the interfaces while capturing requirement as per requirement capture template. Then you can use effort catalogue to calculate total cost of the project. The above template categorize all the interfaces in 5 pattern types; synchronous, asynchronous publishers and subscribers (Message Queue based) , SFTP, Bulk processing. We have three types of complexity; simple, medium, complex.
Suppose you have 5 simple synchronous interfaces and 2 sftp complex interfaces , then total effort should be 5 *11+ 2*28 = 55+56=111 PD.
If blended rate is $200 per PD, total cost 111*200=$22200
You can add project management overhead as 20%, so total cost = 22200 + 4440 = $26640
Additionally you can add hyper care or production support overhead as 20%.
for exiting interfaces change requirement , you can consider a re-usability factors while calculating effort. Suppose your total effort 111 PD. If you add 60 percent re usability factor total effort would be 111*60/100 = 66.6 PD.
Some tasks take same amount of time irrespective of number of interfaces to develop. Like production migration preparation . In that case we should consider that effort separately , we should not simply multiple with number of interfaces.