Software Development
Software Development, sometimes known as Application Development, is currently going through an evolutionary phase. Decisions on whether to offshore, nearshore or onshore coupled with various methodology options are big topics. Although often linked, these questions should be seen as a separate debate from whether to outsource or not.
There are many reasons, each of differing value depending on the organisation, as to where Software Development should be provided. Unfortunately, as competition for resources heats up in India so new locations across the globe need to be identified. These come with their own cultural, linguistic, timezone, travel (including personal safety) and financial challenges.
Decisions on methodology, e.g. some form of Agile Development, should ideally refer back to the IT Strategy as each available option has its own pros and cons.
The decision to outsource should not be taken lightly as there are often many hidden costs involved in making the 'solution' work. For example, regular travel for all parties does not come cheap, particularly if the various locations are some distance apart.
Included within the remit of this service is quality assurance (QA) and functional testing, load testing and software architecture. It is becoming increasingly common to view all of these together, with the actual coding, as one function within IT as close links between all of them are essential for succes.
Finally, it is fair to say that there is no one solution that works for everyone. Individual situations often require tailored solutions and these necessarily take time and effort to get right.