Oracle’s India Development Center uses a select SQA team whose members ensure quality, apart from their regular project jobs. Excerpt from a prizewinning case study at the SEPG 2003 conference
Tuesday, December 23, 2003
Advertisement
The Hyderabad-based Oracle India Development Center, started out as a
10-member team in 1999. Within a short span of four years, the company has
ramped up to over 1,000 people and is one of the key sites for Oracle e-business
suite development. Given the introduction of multiple product development and
activities covering all phases of software development life cycle, the
center decided to establish the quality management system (QMS) by adopting
practices from SW-CMM. To effectively institutionalize and continuously improve
the processes and quality system, it introduced the concept of virtual software
quality assurance (SQA) team.
The Organization: Oracle India Development Center (IDC). The Hyderabad-based Oracle Inc.’s subsidiary works on developing the Oracle E-Business suite
The Task: In order to deliver high quality products consistently in an optimal time frame, Oracle IDC has decided to establish the quality management system
(QMS) by adopting the practices from
SW-CMM
The Solution: Virtual SQA Model. To effectively institutionalize and continuously improve the processes and quality system, a virtual software quality assurance
(SQA) team was formed. This team has representation from various product teams
The SQA Team The nominated SQA member is allocated a certain portion of her time for
performing quality assurance functions. The remaining part of the time is for
performing the project activities. The allocated time for the SQA role is
anywhere from 15% to 20% of the work time, based on the size of the team, nature
of the project, maturity of the project team, number of SQAs etc. This SQA
function time is embedded in the project plan and is identified as part of
project work.
The nominated SQA member undergoes a series of training sessions in the areas
of SQA, quality auditing, metrics and defect prevention before taking over as a
member of the team. This role is rotated among team members. The minimum time
for which a team member performs the role of SQA is one year. The outgoing SQA
transitions the role to the newly nominated SQA. This role rotation of the SQA
function gives equal opportunity to team members to bring in new ideas. It also
helps in continuously improving the quality processes.
Best Practices The Virtual SQA team has helped establishing the quality management system.
The team has also put forward innovative ideas and implemented a quality portal
(knowledge repository) to capture rich experiences of the past. All these are
true experiences and live examples of a group that has evolved over the last
four years.
In Oracle’s virtual SQA model, project teams nominate one or more team members for performing the SQA role. The virtual SQA team works under the guidance of the central quality lead who reports to the head of e-business applications development division, at the India Development Center
Quality Planning: The SQA, along with project manager of the team, defines
the quality plan based on project requirements and the quality management system
requirements. To ensure effective planning of the quality system, SQAs have come
up with an automated tool that allows scheduling and updating the progress of
the quality activities. This tool sends reminders to SQAs and their managers for
updating the quality activities progress. Given that SQAs are technical members
as well—innovative automation of the work becomes natural.
Quality System Training: SQAs are users of the quality system; training the
team ensures very high levels of buy-in and awareness of the quality system.
Education on quality system is not just limited to the training of the team
during induction. Each project team meeting has a agenda point devoted to the
SQA activities. The SQA discusses the developments on the quality management
system with the team. This ensures continual education on quality system and
brings the culture of building quality product as a habit. Also, the SQAs post the analysis data in quality portal for future reference
of all product teams.
Causal Analysis: Defect prevention is a critical activity for any
software development project, more so for the product development teams. In
product development companies, each defect is very costly, as it impacts
multiple customers across the globe.
Defect data with defect type, subtype and cause-type information is the key
input for the causal analysis meeting. Based on the learning from the causal
analysis, the SQA and the manager/key members of the team arrive at an action
plan. The learning from the causal analysis and the action plan is shared with
the team.
Based on the action plan, SQAs might train the team on processes/practice or
modify the processes. Previously, these defect data were collected in different
formats and data consolidation was a huge task by itself. Then came the
development of ‘review tool’ that is used for review of all deliverables at
each phase of software development life cycle. Another task is identifying the
defects during review time, along with cause type and category. This helps in
consolidation of defect data for effectiveness and completeness of the analysis.
The SQAs play a major role in implementing this tool through a series of
training sessions and team meetings. The SQAs being part of the team has helped
in greater ‘buy in’ of the system by the team, and effective rollout.
Internal Quality Audits: The development center has developed an audit
framework to perform a periodic health check on the quality system. Two
categories of audits are conducted: internal audit (IA) and internal internal
audit (IIA).
IA is scheduled by the quality lead and is executed with the help of trained
internal auditors. The trained internal auditors’ team comprises a mixture of
SQAs and project managers. This gives SQAs an opportunity to understand and
appreciate the implementation of quality system in other product groups. This
helps in the learning of the best practices while auditing and adopting it to
the respective team, if found suitable. The SQAs play a key role in internal
audit closure meeting by sharing the experiences of best practices and concerns.
This process builds best practice of auditing procedure for the organization.
IIA is scheduled and conducted by the SQA of the team with team-specific focus
areas.
Introspections: Introspections are conducted with an objective to
provide with a structured opportunity to look back at the completed project or
at milestones and learn from the same. The team analyses what went wrong, and
how the team performed with respect to the stated objectives. The learning from
this analysis is documented and an appropriate action plan is chalked out.
Quality Management Reviews (QMRs): These are conducted with the
following objectives:
Review the implementation of the quality system by
the senior management
Provide a platform for teams to exchange the learning with other teams
of similar type of work (development, maintenance, testing, etc).
The SQAs identify the best practices from their teams to share with other
teams. The learning identified can be from the new practices
piloted/implemented, from audit finding, metrics analyzed or new ideas generated
within teams. The SQAs of similar type of work discuss the learning from each
team in a pre-QMR SQA meeting. Based on these discussions, the SQAs prepare and
make a presentation in the QMR meeting for further discussion with the
management and action.
Knowledge Management: Experience of the past projects is the key to success.
The SQAs have put good work in this front and deployed ‘quality portal’ that
contains information like:
Processes, guidelines and templates
Quality plans
Metrics analysis outcome
Defect prevention learning
This portal serves as a central repository for quality system. The SQAs play
a key role in maintaining the portal by publishing relevant content time-to-time
and updating the team about the new items deployed, if any.
Fruits of Labor
The virtual SQA team, being combination of representatives across the product
team, gives diversified view on each process deployment and brings in new ideas
to improve the usage of the system.
Learnings
from the SQA Model
A look at what one
needs for the successful implementation of a SQA model:
Get the right SQA on
board: Selecting the right
SQA team is a very important determinant in the successful
implementation of this model. The Oracle India Development Center
did a joint study by quality lead and HR representative on the
functioning of the SQA role, and key criteria were defined for the
team member’s selection
Provide adequate
training: Training in all
aspects of SQA is imperative. Also, senior management must be
involved and the management perspective needs to be shared with the
team. Further, SQAs have to be adequately trained on auditing
skills, metrics analysis methods, and defect prevention techniques
Budget adequate
time: For the nominated
team members to perform the SQA role effectively, the required time
with a reasonable buffer has to be allocated. This was done to
ensure that SQAs carry out the SQA activities with the needed
commitment, and performing the SQA role does not affect the project
deliverables
Appraise SQAs for
the role: Managers have to work with SQAs in defining the key
result areas for the SQA role. Managers and SQAs have periodic
one-on-ones to review performance based on the KRA set
In this virtual SQA model, SQAs, while executing quality assurance
activities, constantly look for opportunities to automate. Since the SQAs are
technical members as well, building such utility or rolling out of new tool
becomes easier.
The SQA work time is budgeted in the project plans and treated as part of the
project. This helps in setting precedence among the team to look at quality
activities as part of the project, and not as two parallel entities.
Given that, SQA is part of the product team and an active user of the system
helps in effective implementation of the system. To review the effectiveness of
the virtual SQA team, a survey is conducted across organizations covering the
project managers, SQAs and team members. Survey results show that ‘Virtual SQA
team’ has wider acceptance across managers, SQAs, and the team members, and
results in an effective implementation of the quality system.
Another important result is that it helps the team member to build good
managerial skills and to become a well rounded software professional. The SQA
role brings the value addition in grooming the member in important managerial
skills like planning, tracking, people management, multitasking, problem
solving, and presentation skills. An interesting observation is that 30% of the
current home-grown managers were SQAs.
Challenges
The challenges faced in implementing the model and the way those challenges
were addressed are detailed below.
Some of the nominated SQAs perceive that their contribution to the
project as a practitioner is appreciated more than their work on SQA function.
To address this perception, project managers and the SQAs work on defining the
KRA for the SQA role. The manager and the SQA have regular one-on-one in which
the manager reviews the performance of the SQA and emphasizes the criticality of
the role.
Some of the project managers perceive that planning for 20% of the
time of the nominated member for the SQA role is resulting in unnecessary
reduction in available practitioner time for the project.
The senior management addresses this issue by emphasizing the need to invest
the time in carrying out the SQA function. The senior management also helps the
managers in using the SQA as an important role in effective execution of the
project.
Given the matrix organizational structure, at times one faces a
challenge of convincing some of the counterparts at headquarters on the need to
budget time of the project team member acting as SQA for the SQA role.
The senior management addresses this issue by discussing and demonstrating
the benefits of having SQA from within the project team.
SY
Shenoy and Mahesh Badimi
Shenoy is director, HRMS development, and Badami is senior quality consultant
at Oracle India Development Center Source: QAI, organizers of the SPEG
2003 Conference. www.qaiindia.com