Decision Parameters On Choosing The Technology Platform

By Anoop Madhusudanan

Vote on HN
Recently I was asked to list down the decision parameters on choosing a technology platform. Here is a list I've quickly assembled. Comment on if you have more things to add.

-> Client Choice/Preference

Step 1- Client's choice/alignment with technology platform
Step 2- Existing infrastructure client has in place to support any of the suggested technology platform.

-> Cost/Budget

Step 1- Implications on hardware and software requirements (like hosting platform cost, infrastructure cost etc)
Step 2- implications on resource requirements (availability of resources, training cost etc)
Step 3- Cost comparison of inhouse development vs outsourcing for each technology

-> Existing Dependancies and code base

Step 1- Is this an end to end project, re-write, take over or a migration?
Step 2- If not end to end, do you have any existing dependancies and code base

-> Platform maturity

Step 1- Find out whether the suggested platform can cover all requirements and future requirements.
Step 2- Can satisfy interfacing requirements? (eg. RoR is not mature for handling web services)

-> Available frameworks

Step 1- Any existing frameworks/open source tools are already available? (Eg: OSCommerce/PHP for E-Com).
Step 2 - If Step 1, what is the investment for building expertise in this existing framework to reduce TCO?
Step 3- Do you have any existing frameworks/reusable components to reduce TCO?

-> Complexity and size (Estimated using FP or something)

Step 1 - Estimated size of the project
Step 2- What is the cost comparison between platforms? (based on finding out time to execute for each platform based on total FP)
Step 3- Do you have any existing practices successfully applied earlier to execute the project in a technology platform?

-> Project model (Time and expense/Fixed bid etc)

Step 1 - If Fixed Bid, which platform is suitable for quickest development and deployment?
Step 2- Do you have any existing practices successfully applied earlier to execute the project in a technology platform?

-> Project Type (Desktop/web App/Services etc)

Step 1 - Feasibility analysis of candidate technology platforms for this project (eg. RoR is not suited for a Windows Service application)
Step 2- Eliminate technologies that are not feasible

-> Interfaces to deal with

Step 1 - Feasibility analysis of candidate technology platforms for interface support (eg. If you are consuming REST services, RoR has a weightage)
Step 2- Identify platform specific interface requirements.

-> Expected Scalability And Performance

Step 1 - Identify support for OLAP/OLTP scenarios in the project.
Step 2- Identify minimum response time requirements.
Step 3- Weightage based on POCs constructed under various technologies or existing data or previous experience.

-> Internal expertise availability

Step 1 - Weightage based on our internal expertise and resource availability
Step 2- Training costs incurred

1 comment:

  1. i am pursuing mca(5-sem) in rgpv university.now im learning JAVA .plz suggest me which platform fovarable to me i.e .net/java or any.

    ReplyDelete

Please keep your comments clean.

© 2012. All Rights Reserved. Amazedsaint.com