In discussions with many firms we often end up starting with conversations about what should I look to offshore first. Should it be a big project, small project, development, support, legacy, and so on.
Software development falls into largely two areas – custom development and systems integration. I know, in any systems integration project there is custom development, but I refer to here is the ability to leverage the inherent components within an enterprise platform. I will take a recent discussion example which also is just applicable to local development.
I was reviewing some code we had developed for a client in Microsoft .NET with a third party. When we discussed the code itself he asked how did you develop the code. We said that we leveraged Microsoft Visual Web Developer and then as needed modified the code to enhance our controls. He said humm – my guys would have just written the code at the lower level. In our experience in most offshore projects this is also the response – I would rather write it from scratch than learn the inherent tool capabilities. I saw this in spades with another .NET client who bought the whole suite of Microsoft products to have some work done to integrate and instead of integrating, the offshore vendor custom wrote all the components (shopping cart, personalization, content management etc) and by the time it was realized the client could not take the products back. I do not say that the offshore vendor was wrong, but it is often the easier way emotionally when you think about labour being cheaper than tools (the wheelbarrow example).
Programming in a custom manner is often necessary, but only when done by plan. Custom code is more expensive to support than Enterprise software that is integrated especially when the client has bought the enterprise platform.
Some lessons from this:
– focus on function point development and the leverage of enterprise
tools. This means more governance and oversite on the client side and
a lot more involvement in driving the re-use of inherent objects.
– As service oriented architecture progresses, this will also be a way to create re-use and once again reduce cost.
– A $21USD resource at 50% productivity can actually be more expensive
than a $100 USD resource at 80% productivity if the latter also reduces
short term development time leveraging tools and long term support
costs.Infosys, Satyam, igate, Wipro, hexaware, CGI, CSC, EDS, offshore, outsource, toronto, ontario, canada, project x, application development, systems integration