Choosing Technology To Include In Software Design
How many of us have been forced to select one technology over another when designing a new system? What factors do we and should we consider? How can we ensure the correct business decision is made?
When faced with this type of decision it is important to gather as much information possible regarding each technology being considered as well as the project itself. Additionally, I tend to delay my decision about the technology until it is ultimately necessary to be made. The reason why I tend to delay such an important design decision is due to the fact that as the project progresses requirements and other factors can alter a decision for selecting the best technology for a project.
Important factors to consider when making technology decisions:
Time to Implement and Maintain
Total Cost of Technology (including Implementation and maintenance)
Adaptability of Technology
Implementation Team’s Skill Sets
Complexity of Technology (including Implementation and maintenance)
orecasted Return On Investment (ROI)
Forecasted Profit on Investment (POI)
Of the factors to consider the ROI and POI weigh the heaviest because the take in to consideration the other factors when calculating the profitability and return on investments.For a real world example let us consider developing a web based lead management system for a new company. This system can either be hosted on Microsoft Windows based web server or on a Linux based web server.
Important Factors for this Example
Implementation Team’s Skill Sets
Member 1
Skill Set: Classic ASP, ASP.Net, and MS SQL Server
Experience: 10 years
Member 2
Skill Set: PHP, MySQL, Photoshop and MS SQL Server
Experience: 3 years
Member 3
Skill Set: C++, VB6, ASP.Net, and MS SQL Server
Experience: 12 years
Total Cost of Technology (including Implementation and maintenance)
Linux
Initial Year: $5,000 (Random Value)
Additional Years: $3,000 (Random Value)
Windows
Initial Year: $10,000 (Random Value)
Additional Years: $3,000 (Random Value)
Complexity of Technology
Linux
Large Learning Curve with user driven documentation
Estimated learning cost: $30,000
Windows
Minimal based on Teams skills with Microsoft based documentation
Estimated learning cost: $5,000
ROI
Linux
Total Cost
Initial Total Cost: $35,000
Additional Cost $3,000 per year
Windows
Total Cost
Initial Total Cost: $15,000
Additional Cost $3,000 per year
Based on the hypothetical numbers it would make more sense to select windows based web server because the initial investment of the technology is much lower initially compared to the Linux based web server.