Tuesday, October 13, 2009

Key Issues for Developing Applications

Owing to the stiff competition posed by other outsourcing destinations, companies in India today are extremely stressed. Use of new technologies or skill set shortages have also added to the misery. A recent research by Gartner in 2009 has identified the key issues faced companies for developing applications that have affected many medium and small size ventures in this economic slow down scenario.

A few of these key issues are:

Technology: The question is -What technologies will support application deployment? Inscribing a new technique or technology is always a major challenge. With emerging development tools, companies have moved on to a software life cycle management that needs more framework-dominated approach.

Tools or technology adopted must also support the current scenario of more-distributed teams that may be made up of employees, consultants and outsourced resources. A key challenge is how these teams work with non-developers/IT staff, and there is a split between tools for development versus tools for packages. Also, tools are evolving from being project-focused to being asset-focused or enabling reuse across projects.

Skills Set: What skills will be necessary to build and deploy applications and where will they reside? There is an emerging need for more effective planning, organizing and
controlling of development activities as there has been skill set shortages, continued use of external resources from -onshore, nearshore or offshore centers and the responsibility of deployment undertaken by developers, package installers, integrators and even
business people.

Processes for application development and deployment: As service-oriented development of applications (SODA) becomes more prevalent, methods will be required, ranging from complex, model-based development to simple, iterative. Having agile or iterative methods is one of the critical necessity for offshore application development organizations.

Apart from aforementioned key issues, according to Gartner, there are several other issues that needs to be addressed in 2009 and which are:

• Cost cutting: Given the current economic conditions, many, if not most, development
organizations (along with their businesses) face the need to manage budgets even more
tightly. In some cases, they're looking to alternative deployment methods. In other cases, companies are deferring a portion of new development or some organizations are making choices
involving cutting services that the business needs.

• Human resources: The first issue that many organizations face is a shortage of qualified candidates, given today's budget issues in getting those resources in the right place and at the right price. Another issue is that organizations face an aging workforce, many of whom
will soon retire and take their technical and business knowledge with them. This has a
major effect on which applications will be viably supported in the long term, leading to
key application portfolio decisions. Finally, there is a new set of skills on the horizon that
will be critical, and most of them have to do with the non-traditional programming, such as
process modeling or testing. It will be crucial to make human resource planning a key
competency for future development organizations.

• Service-oriented architecture: Service-oriented architecture is a set of mainstream technologies and architectural patterns. Service-oriented development architecture or SODA is how development organizations encounter and use the architectural and technology choices to build services that support the process and workflow designs of business architects and analysts. The role of application architect is to design the services for agility and re-utilization.

• Sourcing: Sourcing or outsourcing services was driven due to labor arbitrage in the recent years. Today, these choices are more complex, and sourcers are moving upward and downward in the stack of project phases in an attempt to earn more work from traditional development organizations. Choosing what to externally source, when to do so, and to whom are
critical choices for application development organizations.