How it would be possible to approximately estimate time of re-implementing the same application in Rails while already having one implemented in ASP.NET MVC (reason - is another topic, please let's not touch it here).
I am looking for some kind of metrics mapping or something that could possibly provide a rough estimation of time required.
Some details about the current ASP.NET MVC2 (.NET 4) project:
Project Metrics
- Maintainability Index - 85.4 (out of 100)
- Test coverage ~ 80%
- Depth of Inheritance - 1.9
- Class Coupling - 5.5
- Lines of Code - 17859 (9804 excluding tests)
Aprox. number of
- views ~ 200
- custom JavaScripts files ~ 20
- cstom CSS files ~ 20
3rd parties
- Payment processing
- Gespatial (in MSSQL 2008)
- Google Maps Geocoding
- ABRXMLSearch (Australian ABN Lookup service)
- AWS S3
Deployments
- staging
- production
- demo
What I would like to see is approximate number of man-hours required to implement the same system, by the same developers (gurus in .NET, but junior-middle level in Rails).
This project was implemented approximately within 2450 man-hrs.
UPDATE (more about project): Cannot tell a lot about it (you know, all those NDAs), so I'll have to generalise. It is a B2B app that allows to interact between 2 parties (provider - consumer like system). Consumer can 'share' the stuff provider gives to him with other consumers (but the should not know about that). There are number of "legal" processes that need to be followed. There are number of many-to-many allocations with embedded search and different rules related to them when consumer is searching. Sorry for such a "general" explanation, but that's only how far I can go.
What would be a possible formula to estimate this number for a Rail project.
UPDATE: According to comments, other non-formal ways will be better than a mathematical estimation based on a formula (so removing the formula from question).
How would it be possible to make an estimation about re-implementing the project in Rails?
Thanks.
I would strongly advise against trying to calculate an estimate with a formula like the one that you are providing or any other formula for that matter!
Rather than plain guessing (and make it look like "accurate math") my recommendation would be to pick one small module and rewrite it in Ruby and see how the team does. Use past-performance (history) as you guidance rather than hope and hearsay.
Given that the system was written by "gurus in .NET, but junior-middle level in Rails" I could almost guarantee that it will take you longer (perhaps much longer) to rewrite it in Ruby.