Enterprise System maintenance and production support, Challenges and possible solutions
Enterprise systems generally have a tiered architecture comprising of the following tiers:
- A presentation layer of (e.g. HTML,JSPs)
- A Service Layer (e.g. JMS message brokers and web service brokers)
- A Business Domain Layer of (e.g. java,C++)
- A Persistence Layer of (e.g. RDBMS like Oracle,Sybase etc)
Challenges & Solutions
Requirement of Multi-skilled support personnel
Support personnel must be familiar with multiple software platforms, multiple programming languages various architectural frameworks and tools of the trade. It is not always easy to get the right person for the job.
Possible solutions can be in the form of :
a) Using a cross-functional team, although I think this is only a temporary solution and can create nightmares to fulfil SLA requirements.
b) Continuous periodic skill upgrade programmes.
Complexity and cost of setting up test environments to mimic production.
It is difficult and not cost effective to provide test environments that can mimic the production setup. This sometimes makes it difficult to replicate production bugs due to differences in configuration and hardware capabilities.
Possible solution can be a phased approach to investigation and also breaking up the possible fix and applying it in a phased manner.
Immergence of agile methodologies, a paradigm shift throwing new challenges
Iterative incremental development techniques can result in an increase in the frequency of maintenance releases, which increases the possibility of regression bugs being introduced in the system.
Possible solution could be pre-release meetings between support and development teams and proper co-ordination between the two teams during production releases.
Complexities encountered in testing integrated distributed system components
Integrating multiple distributed system components across multiple platforms also including legacy code and proprietary software often presents operational scenarios which are difficult to test e.g. SSO proxy testing or web service calls to third party software.
Possible solutions are some involvement of architects and designers at this stage to ensure proper use of mocking objects.
Skill retention and learning curve challenges
Excessive manpower movement can result in shortfalls in skill retentions and knowledge distribution within the team.
The team leader should ensure that proper handover takes place when members leave the project.
Requirement of a tiered application support structure which has its pros and cons
The merits of a tiers application support structure is that it enables faster problem resolution due to segregation of problem domain across multiple teams 1st line , 2nd line etc. Using a dynamic problem escalation and feedback mechanism.
Demerits of this support structure is sometimes dealing with problems of overlapping responsibilities between teams for certain production problems.
An Industry standard Support Structure to Support Enterprise System is shown below