Business analysis, software requirements co-development Architecture and design of software application Custom software application development Technology/data migration, porting of software Re-engineering of legacy software applications Support and maintenance of software applications Customization/localization services Software testing and quality assurance