CITPM Body of Knowledge 4th Edition PDF
CITPM Body of Knowledge 4th Edition PDF
Body of Knowledge
4th Edition
March 2015
Writers/Review Panel
Tan Kar Joo, SMSCS, COMIT (Senior) (Chairperson)
Vivian Tay, NEC Asia Pacific Pte. Ltd. (Vice Chairperson)
Tan Yan Noi, Inland Revenue Authority of Singapore
Daniel Boey, Institute of Systems Science
Lee Chee Yong, NCS Pte. Ltd.
Tiong Shu, Accenture Ltd.
Khin Myint Cho, CrimsonLogic Pte. Ltd.
Karen Wong, Infocomm Development Authority of Singapore
Tan Eng Pheng, Infocomm Development Authority of Singapore
Tan Shui-Min, Integrated Health Information Systems
Seow Keng Tain, Great Eastern Life Assurance Co. Ltd.
Writers/Reviewers
Daniel Boey Swee Kee, Institute of Systems Science
Felicitas Seah, Institute of Systems Science
Richard Tan, Institute of Systems Science
Lee Boon Kee, Institute of Systems Science
Tan Liong Choon, Institute of Systems Science
Howard Russon, Institute of Systems Science
Angela Huang, Institute of Systems Science
Tan Tzann Chang, Institute of System Science
Welcome to the 4th edition of the Book of Knowledge (BOK) for the Certification in IT
Project Management (CITPM). Since its first publication in May 2003, many
experienced IT project managers and veterans in the Singapore IT industry have
contributed towards improving this BOK to ensure that it continues to be useful and
relevant for all practitioners of IT project management. While every effort has been
made to ensure that this BOK documents the IT project management practices that
work based on past experience, it is by no means comprehensive as every project
has its unique characteristics and challenges. This is what makes project
management interesting, and differentiates one project manager from another,
making good project managers a rare and valuable asset to any organization.
In this latest edition, we put greater emphasis on the soft skills required of project
managers, especially in the areas of change management and stakeholder
management. In today’s environment, with stakeholders who are much more
exposed to what technology can and cannot do for them, it is no longer sufficient just
to get buy-in prior to the start of the project. More importantly, they need to be fully
engaged during the project in shaping the outcomes, be convinced of the value that
the system will bring, and be committed to maximize the returns in the way they use
the system when it is commissioned.
In terms of methodologies and practices, we have included an appendix on what it
takes to manage projects that use an agile development methodology, where
requirements evolve through close engagements and experimentations with the end
users.
Finally, since this is Singapore’s CITPM BOK, we have included local compliance
requirements and standards, e.g. data protection requirements and healthcare data
standards, so that IT project managers are aware of the local context and
requirements when practicing in this country.
The CITPM BOK review panel has also decided to tap on the wisdom of the crowd
by putting up a draft of this edition of the BOK for public consultation prior to its
publication. We want to make this BOK one that is useful and relevant for all!
Be challenged and enjoy the IT Project Management Journey!
Contents
1.
INTRODUCTION 9
2. ECOSYSTEM OF PROJECTS 11
Practical Tips 12
Practical Tips 20
4. SCOPE MANAGEMENT 21
Practical Tips 25
5. TIME MANAGEMENT 26
Practical Tips 28
6. COST MANAGEMENT 29
Practical Tips 32
7. QUALITY MANAGEMENT 33
Practical Tips 41
Practical Tips 53
9. COMMUNICATIONS MANAGEMENT 55
Practical Tips 59
Practical Tips 67
Practical Tips 74
Practical Tips 78
Practical Tips 82
Practical Tips 87
15. ABBREVIATIONS 88
16. BIBLIOGRAPHY 91
A.1 Introduction 94
1. Introduction
The Info-Communications Development Authority of Singapore (IDA) and the
Singapore Computer Society (SCS) jointly launched the National IT Skills
Certification Programme on 26 November 1998. Heeding the calls from Chief
Executive Officers (CEOs) and Chief Information Officers (CIOs) in Singapore for IT
project management (ITPM) to be the first IT skill to be certified, SCS initiated the
Certification in IT Project Management (CITPM) programme. In line with the evolving
changes and emerging best practices in ITPM, the SCS CITPM Body of Knowledge
(BOK) Resource Panel initiated the review and update of the BOK resulting in its 3rd
Edition in 2011 and its 4th Edition in 2015.
The CITPM is the most widely-recognised standard for ITPM competence and
professionalism. It is designed for those who are involved in ITPM and wish to have
their competencies assessed. The CITPM designation is recognized by IT managers
worldwide as a mark of quality.
The certification examines the candidate’s competence in thirteen knowledge areas
of ITPM. Candidates can be assessed through the submission of a dossier to
demonstrate their professional competence in the management of IT projects.
Alternatively, candidates who have yet to acquire sufficient years of project
management experience can be assessed by sitting the CITPM Examination
conducted by the Institute of Systems Science (ISS), the appointed examination
agent of SCS.
There are three levels of the CITPM Certification:
• CITPM (Senior).
• CITPM.
• CITPM (Associate).
As project managers have a professional obligation to themselves, to their
employers and to the profession to sustain their skills and knowledge by undertaking
appropriate professional development, certified IT project managers are required to
be recertified every five years. It is through recertification that both professionals and
employers can be assured that the knowledge and competency of certified IT project
managers remains formally assessed.
The purpose of the document is define the aspects of ITPM in which certification
candidates would need to demonstrate proficiency.
1.1 Roles of Project Managers
The CITPM BOK recognises that project managers could come from client
organizations that have outsourced their IT projects to a vendor. In such cases, the
client and vendor project managers would share in the management of the project.
Based on the contract, the responsibilities of the two project managers could differ,
but would be in general as follows:
a. Project Manager from Client: the overall project manager responsible for
planning, executing and monitoring/controlling all the project activities, liaising
with user project coordinator for the user activities (if any) and vendor’s
project manager for vendor activities (if any).
2. Ecosystem of Projects
IT project managers continuously strive to juggle the constraints of scope, time, cost,
quality, risk and resources to ensure project success. However, the work of a project
is not undertaken in isolation. To keep all these constraints under control, the project
manager needs to fully understand the ecosystem in which he is operating in; and
be able to influence/engage the stakeholders and the project environment to
minimize the risks and optimize the opportunities – thereby enabling project
success.
This chapter explains the key concepts surrounding IT project management. The
practitioner with sound understanding of these concepts will know how to leverage
on his project ecosystem to bring about a successful project delivery.
2.1 The Project/Programme/Portfolio Concept
The project is the fundamental basis for organising and managing new IT work. This
is achieved through the effective application of all the project management
knowledge areas to ensure that the objectives of the project are achieved. These are
described in the subsequent chapters of this document. The selection of projects to
initiate is often based on the business case and benefits. See section 3.3 for further
details.
A programme consists of two or more inter-related projects managed in a
coordinated manner to obtain benefits and business outcome not available from
managing the projects individually (e.g. a core processing replacement programme
may consist of a new application development project, an infrastructure
modernization project, a change management project and a business process
reengineering project). In addition, it is often more economical to group projects
together to help streamline management, staffing, purchasing and other functions.
A programme manager provides leadership and direction for the project managers
heading the projects within the programme. Programme managers also coordinate
the efforts of project teams, functional groups, suppliers and operations staff
supporting the projects to ensure that project products and processes are
implemented to maximize benefits. Programme managers are responsible for more
than the delivery of project results; they are change agents responsible for the
success of products and processes produced by those projects. Refer to chapter 13
for further details.
A portfolio refers to a collection of projects and programmes that are not
necessarily inter-related but are grouped together to facilitate effective management
and realization of strategic business objectives (e.g. a business portfolio may consist
of a revenue generation programme, a cost containment programme, a customer
service programme and a business process improvement programme).
Portfolio managers need to understand how projects fit into the bigger picture of
the organization, especially in terms of corporate strategy, finances and business
risks. They create portfolios based on meeting specific organizational goals, such as
maximizing the value of the portfolio or making effective use of limited resources.
Portfolio managers help their organizations to make wise investment decisions by
selecting and analysing projects from a strategic perspective.
2. Project, programme and portfolio management entails different skill sets and experience. It cannot
be assumed that a person who can do one of these roles, will be able to do all of the roles.
3. The construction of an effective project governance framework during the initiation phase of any
project is fundamental to ensuring project success and control.
4. Build the business case for IT projects jointly with the project sponsor and stakeholders. This will
secure buy-in and commitment from the business for the project.
5. One good approach to identifying benefits is “Think Faster, Better, Cheaper”. When things are
done “faster” (exploiting use of IT) or “better” (improved performance/outcome), it will then
translate to savings in manpower, materials or space that can be quantified more objectively. It
would also enhance customer satisfaction and experience resulting in improved service
performance or business revenue results. “Better” can also be in the form of quality which
translates to reduced cost of rework, return of goods, defects etc.
UR
SR
AD
DD
DD
2
TR
2
OM
2
DD
3
TR
3
OM
3
architecture design should be developed during the early iterations to ensure that
the software developed is adaptable (to accommodate later releases).
UR1
SR
1 AD
1
DD 1
TR
1 OM
1
UR2
SR
2 AD
2
DD 2
TR 2
UR : User Requirements Definition OM
2
SR : Software Requirements Definition
2. The Project Management Plan forms the basis of all work to be done, allowing all project work to
be executed in a planned fashion and the project to be monitored and controlled.
3. Post Implementation Review (PIR) should be performed after the run-in of the system to measure
the business benefits achieved.
4. Scope Management
This knowledge area describes the main techniques and processes associated with
planning, executing and controlling an IT project. This involves defining and
controlling what is to be included in the scope of a project to ensure that the
customer’s goals and objectives are achieved. The key topic areas are described
below.
4.1 Project Management Planning Process
On commencing a project, one of the first activities for the project manager to
perform is to plan the project work, to ensure that the functionality, quality
requirements, budget and schedule can be determined and achieved. The main
aspects of project planning process are described below.
a. Define the project scope. The first issues a project manager needs to address
in scope definition concern what needs to be delivered and which activities
need to be carried out to produce the required deliverables. This involves
specifying the functional and non-functional requirements of the project. The
latter may include:
• Performance.
• Availability.
• Capacity.
• Scalability.
• Reliability.
• Security (including compliance to regulatory standards e.g. cyber safety
standards).
• Integrity.
• Interfaces with, and dependencies on, internal or external systems in the
operational environment.
• Usability.
The project manager needs to not only specify the requirements, but also
understand and manage stakeholders’ expectations. For the project to be
successful, the project requirements implemented must also match the
expectations associated with the requirements, e.g. the ease of using the
system, and the ease of maintaining the system operations. As part of this
process, the project manager must try to influence the stakeholders to avoid
over-engineered and unnecessarily complex solutions which are often major
challenges to IT projects.
To establish desirable stakeholder expectations, it is important to understand
that not all requirements that are identified during the requirement gathering
exercise are automatically assumed to be part of the scope. In particular,
unnecessary or irrelevant requirements must be discouraged to avoid
incurring added expenses, complexity and risk. The project manager may
apply the “MoSCoW” principle to help stakeholders better define the scope of
the project requirements with respect to the objective of the project:
• Acceptance criteria.
• Effort and cost budget.
• Timescales.
c. Progress reporting to determine the current status of each activity, and the
problems the project staff are facing that are impeding them from making the
required progress. Reporting can take the following forms:
• Quantitative reports in the form of timesheets, expense claims and
subcontractors invoices.
• Qualitative reports in the form of written progress reports describing the
work done during the reporting period, progress to date, plans for the next
period.
• Progress review meetings.
When monitoring work progress, it is also important to analyse trends.
Progress may appear slow at the beginning of the project, due to unfamiliarity
with the development environment or the newness of the team, but may
change significantly as the team becomes more experienced. However, if an
adverse trend is observed to be persistent, then the project manager should
analyse the root cause and take both corrective and preventive actions to
correct the trend and bring the project back on track.
4.3 Project Monitoring and Controlling Process
The main aspects of the project monitoring and controlling process to track and
monitor project progress to meet the stated performance objectives in the project
plans are described below:
a. Monitoring and assessing progress to determine the current status of the
project, identify divergence from the plan, and predict expected cost and/or
schedule over-runs. The following techniques can be employed:
• Assessment of written progress reports.
• Calculation of effort estimates to complete.
• Earned value analysis.
b. Performing progress control activities to address the issues that arise as a
result of monitoring and assessing progress. Typical control activities include:
• Schedule and effort control – taking action to address effort or schedule
over-runs.
• Quality control – putting in place preventative and corrective actions to
address quality problems in the product under development or
maintenance.
• Cost control – taking action to address actual or predicted cost over-
spends to ensure that the project is delivered within budget.
• Technical control – initiating actions to address difficulties in applying the
project’s technical strategy.
2. Scope management entails the management of expectations and critically the management of
change control.
3. Managing expectations involves judicious build-up of trust and relationship with the key
stakeholders.
4. Scope creep is one of the most significant factors causing project delay. Change requests must
be formally managed, and their implication reflected in an updated project baseline (re-baselined).
5. Where a COTS solution (also termed “Packaged solution” or “out-of-the-box” solution) is adopted
in the project, the best-practice tip and advice is “Vanilla is Best” i.e. there should be minimal or
no customization of the product beyond the configurable features provided. COTS adoption
should be accompanied by a gap analysis of the fit of the business needs against the product
capabilities and features. If gap analysis results in major or substantial customization scope, it is
likely that the product is not a good fit or that use of COTS is not an appropriate approach. The
organization should consider re-engineering of their processes to align with the industry practice
as represented by the COTS functional design and features. Forcefully trying to fit a COTS to the
organization practice through major customization will lead to severe impact on total cost of
ownership or lifecycle cost due to the added cost of customization.
5. Time Management
This knowledge area describes the main techniques and processes associated with
scheduling an IT project. IT project time management involves the following
processes:
• Defining and sequencing project activities.
• Estimating activity effort and duration.
• Creating the schedule.
• Controlling the schedule.
An overview of each of the above processes is described below.
a. Defining and Sequencing Project Activities
• Using the WBS as a starting point, define the project activities.
• Construct an activity precedence network diagram by establishing
dependency links between the activities. There are four types of
dependencies:
§ Finish-to-start.
§ Start-to-start.
§ Finish-to-finish.
§ Start-to-finish.
• Dependencies may be mandatory or discretionary. Lead and lag
relationships may also be included where:
§ Lead refers to a relationship whereby the successor activity begins
before the predecessor activity has completed.
§ Lag refers to a relationship whereby the successor activity cannot start
right after the end of its predecessor.
b. Estimating Activity Effort and Duration
• Estimate the staff effort (man-day/man-hour) requirements for each
activity (refer to chapter 6 for various effort estimation techniques). Care
must be taken to not over-budget any activity.
• Estimate the duration for each activity. The duration is the number of
working periods (hours, days, weeks) required to complete the activity with
the estimated resources.
• The assumptions underlying these estimates should be documented.
c. Creating the Schedule
• Use a network analysis method, such as the Critical Path Method (CPM)
or the Programme Evaluation and Review Technique (PERT), to calculate
the following:
§ Earliest start time (EST) and earliest finish time (EFT) for each activity.
§ Latest start time (LST) and latest finish time (LFT) for each activity.
§ Total float for each activity – the time that activity can be delayed
without effecting the total project duration.
§ The critical path – the path through the network with the least total
float.
• Create a project schedule (usually in the form of a Gantt Chart) by
deducing start and end dates for each activity from the result of the
network analysis method, and then modifying the dates to take account of:
§ Weekends, public holidays and staff vacations.
§ The availability of staff resources (e.g. each staff member can only
work a limited number of hours per day on the project). Resource
optimization techniques include:
Ø Resource levelling - ensuring that a pre-defined level of resource
usage is not exceeded.
Ø Resource smoothing - minimizing fluctuations in individual
resource usage.
• Compare the computed end date for the project (and contractually agreed
intermediate dates if any) with the dates required by the project sponsor. If
necessary, take action to shorten the project schedule by using
techniques such as:
§ Crashing – reducing critical activity durations by adding resources.
§ Fast tracking – modifying the activity precedence network diagram to
maximize the number of activities performed in parallel.
§ De-scoping – negotiating a reduction in the requirements of the
project, which would lead to a reduction in the estimated effort for the
project, and hence a reduction in activity durations.
§ Phasing – negotiating the delivery of the project as a series of
releases, such that important requirements would be delivered by the
customer’s deadline (the first release), and the remainder would be
delivered in subsequent releases.
§ Downgrading the process – negotiating a reduction in the process
used to perform the project, such as by reducing the documentation
produced, testing methods employed etc, which would lead to a
reduction in the number of project activities (in the WBS) and the
estimated effort for affected activities, which would reduce the project
duration. Such process degradation should balance the expected gains
in reduced project cost and schedule with the possible increased risk of
delivering a poor quality product, and the consequential effect on
customer satisfaction.
• IT project scheduling would not usually be performed totally manually, but
would be substantially supported by computer-based project management
tools that specialize in scheduling.
d. Controlling the Schedule
• This involves:
2. The management of project activities, including the identification of the critical path (CPM),
monitoring and facilitating the completion of interdependent activities is important to achieve the
overall project completion deadline.
3. Over-budgeting of activity durations must be avoided. Parkinson’s Law states that work expands
so as to fill the time available for its completion. Nevertheless, experts in chaos theory
suggest that project managers account for complex behaviour in organizations by
arranging for additional resources to be committed to the project. Using the analogy of
avoiding traffic jams on highways, they suggest that project managers schedule resources
such that no single resource is utilized more than 75%. A fine balance must be struck to
set realistic schedules and allow for contingencies.
4. Changes in schedule normally impact project cost and quality. Therefore, it should only be
undertaken with the approval of senior management.
6. Cost Management
This knowledge area describes the main techniques and processes associated with
estimating the costs and benefits for an IT project. This involves resource planning,
cost estimation, cost budgeting and cost controlling. The key topic areas are
described below.
6.1 Project Cost Estimation and Budgeting
Project cost estimation is one of the main activities of the project planning process.
The aim is to estimate and control each of the resources required by the project.
These estimates would be translated into dollar values in cases where the project is
being managed against an explicit cost budget. Otherwise, the numeric quantities of
each resource would be used to represent the project cost estimate. A project cost
template can be used as a checklist for the possible sources of project cost that
would need to be estimated. Typical sources would be:
• Software licensing (including the annual maintenance fees (AMF) chargeable
during the development period).
• Hardware/infrastructure.
• Professional services:
§ Staff effort (i.e. labour cost).
§ Subcontracted tasks (i.e. the value of the contracts).
§ Training costs (i.e. course fees).
• Expenses (e.g. project site, travel and entertainment allowance for customers).
• Contingency funds.
• Recurring cots:
§ Software maintenance costs.
§ Hardware/infrastructure maintenance costs.
§ Hardware hosting and managed services costs.
Of these, staff effort is normally the most difficult to estimate. Typical effort
estimating techniques include:
a. Expert judgment (e.g. Delphi technique) – where experts who are
experienced in the type of project under consideration (in terms of scope,
technology and methods) would assess the work to be done and construct an
estimate based on their experience of undertaking other similar projects.
b. Cost-by-analogy – where the project under consideration is compared with
other projects undertaken by the estimator. Based on the estimator’s
assessment of the degree of similarity of the current project with previous
projects (where the actual effort expended is known), an estimate is
constructed by taking a multiple of the actual effort of the most similar
previous project.
c. Transactional or bottom-up estimating – where the estimate is derived by
defining the WBS, then estimating the staff effort required to perform each
task and finally summing the effort across all tasks to give an estimate for the
2. The management of resources should include managing hardware, software, people, facilities
and logistics so as to ensure completion within budget.
3. A good cost reporting process will enable resources to be mobilised during different periods of
time from team to team to maximize productivity or minimize wastage.
4. Contingency funds should be controlled by the project manager and only released after
authorization by him when exceptional circumstances warrant it; emphasis on contingency should
also be on schedule contingency, not just effort contingency.
a. Create a proper WBS covering all deliverables expected of the project scope.
b. Break down and decompose the WBS to the appropriate level of activities and sub-activities as is
necessary to enable estimation to be made.
c. Analyse past experience captured in the form of data. For example, parameters or metrics that
influence the actual effort/time taken to undertake a piece of work or carry out an activity.
d. Consult appropriate expert. For example, colleagues across functional units, vendors, specialist
expert/consultants in the industry or type of product who are familiar with the activities or have
performed them before.
e. Document any assumptions used in the estimation tasks and in deriving the final estimates.
Review factors that affect the accuracy of past estimation experiences and if relevant to the
current context, factor them in to improve the reliability of the current estimate.
6. Where possible, the estimates of labour effort are best provided by the resources who are
assigned to perform the tasks. This is especially the case for technical tasks such as those in
software development. Estimates provided by the actual resources will also translate to better
commitment and ownership of the tasks. On the other hand, if the estimate is imposed on a
technical resource and if the estimate happens to be higher than is actually necessary, then the
outcome be may be an example of Parkinson Law i.e. work expands to include non-essential
activities just to fill the time given.
7. Quality Management
This knowledge area describes the main techniques and processes associated with
ensuring the creation of high quality deliverables from an IT project. The basic
quality concept considerations are equally applicable to both infrastructure and
application software projects. This chapter focuses on system development quality
management techniques. These involve quality planning, quality assurance and
quality control by key stakeholders such as project team members, quality
assurance (QA)/peer reviewers and external subject matter experts (SME)/QA
consultants. The key topic areas are described below.
7.1 Basic Quality Concepts and Considerations
In the context of IT projects, the function of quality management is to ensure that
systems are developed that are fit for purpose, conform to specifications and meet
customer expectations. Two important concepts are:
a. Product quality – the degree to which customer needs and expectations are
satisfied. Such customer needs/expectations include functional requirements,
non-functional, required effort/cost budget and required delivery schedule.
b. Process quality – the effectiveness and efficiency of the process that
produces the product.
The basis of quality management is that product quality is a function of process
quality i.e. that to develop a good product you need a good process. The main
elements of a high quality development process are:
a. Contract Review – to ensure that the work to be done is adequately defined
and then reviewed to ensure commercial (effort, cost, and schedule) and
technical feasibility. This should result in organisation-level commitment to the
objectives and plans of the project.
b. Requirements Control – to ensure that the project requirements are
adequately defined and reviewed for completeness, consistency and
feasibility, and their ability to be quantified and verified. Requirements should
also be reviewed by the customer to ensure that the basis for the project is
acceptable. Further, a change control process should be established to
handle requests for changes to the agreed requirements.
c. Design Control – to ensure that the design for the system is adequately
specified and reviewed for correctness and consistency (with the agreed
requirements), and technical feasibility, effectiveness and efficiency. This
process should enable major defects to be identified and resolved prior to the
commencement of the construction activities.
d. Development Control – to ensure that the design is correctly and efficiently
translated into the required system. This is usually achieved through the use
of standards and guidelines to provide guidance to the developers on how to
perform each technical activity, and walkthroughs to check the code against
the design and the standards and guidelines.
e. Verification and Validation – to ensure that the developed system meets the
agreed functional and non-functional requirements. Verification refers to
confirming that the outputs from a project phase meet the requirements of the
inputs to the phase, e.g. ensuring that the design specification adequately
addresses all the elements of the requirement specification. Validation refers
to ensuring that the final end products of the development process meet the
initial requirements, e.g. using user acceptance testing to ensure that the
system delivered to the users meets their stated requirement (in the contract
and user requirement specification). Hence, a combination of verification and
validation processes will ensure that the customer’s requirements are
correctly translated through the phases of the development life cycle, to
create the required end product. Two classes of quality control techniques
support these processes (see section 7.3):
• Reviews.
• Testing.
f. Management Control – ensuring that project achieves the required delivery
schedule within the agreed staff effort/cost budget. This is typically achieved
through thorough project planning to establish feasible and achievable
schedules and effort/cost estimates, and the use of effective progress control
mechanisms to monitor progress against the plans, and take the necessary
actions to ensure that project keeps on track.
7.2 Quality Management Frameworks
The role of quality management is to provide a programme of planned and
systematic activities to determine, achieve and maintain the required level of quality
in the delivered system. At the organisation-level, this is normally achieved by
implementing a quality management system (QMS) that defines the policies,
standards, procedures, methods and guidelines for managing the development and
maintenance of systems. A QMS broadly addresses three main areas of concern:
a. Quality Planning – to establish a system to achieve quality goals and
objectives.
b. Quality Control – to detect and correct problems during development.
c. Quality Improvement – to take corrective and preventative action to raise
the level of quality delivered to customers.
A QMS is usually developed by adhering to an internationally accepted framework
standard. These frameworks provide quality system requirements and form a basis
for third-party, independent certification. With such certification, customers can be
given the confidence that a supplier has internal processes that facilitate the
development of products with an acceptable level of quality. The most widely applied
QMS framework across all development and service industries (including system
development and maintenance) is the ISO9001:2008 published by the International
Organisation for Standardisation (ISO). ISO9001 is industry neutral, but can be
interpreted in the context of software and systems. An important alternative to
ISO9001, which was specifically developed for systems development and
maintenance, is the Capability Maturity Model Integration (CMMI) by the Software
Engineering Institute (SEI), Carnegie-Mellon University, USA.
The developed QMS is usually realised as a set of quality system documentation.
This documentation is usually structured as follows:
a. Quality Manual – this defines the organisation’s quality policy and quality
objectives and details how the QMS operates.
b. Procedures – these describe the implementation of policy with reference to
the requirements of the selected QMS framework – these can be thought of
as the laws or rules and regulations of the QMS. For instance, the procedures
of an ISO9001 quality system would normally explain how the requirements of
that standard are satisfied.
c. Standards and Guidelines – these explain how to adhere to the procedures
by providing guidance on what needs to be done in the context of an actual
project. For instance, a procedure may state that all tests should be planned.
To support this, there could be a guideline giving the format of a document
e.g. the test plan. Templates and checklists may be provided to guide the
project team.
An important characteristic of the procedures is the need to create quality records.
These records provide a documented basis for all the activities performed by a
project, and objective evidence that the requirements defined by the procedures
have been adhered to. Internal quality audit is used to sample evidence from a
range of projects to confirm that the requirements of the QMS are being followed,
and to identify areas of the system that can be improved. Third party certification
organisations also use auditing along with reviews of documented QMS, to confirm
that the system adheres to the requirements of the QMS framework standard.
7.3 System Quality Control Techniques
In IT projects, two broad categories of quality control techniques are employed:
reviews of the deliverables of the project life cycle, and
software/system/infrastructure testing. These techniques are described below.
7.3.1 Reviews
The review is the basic quality control technique that can be applied in any industry
to verify work products. In IT projects, reviews can be conducted on all the
deliverables, both management as well as technical, so that:
a. Defects can be identified and corrected.
b. Non-conformances to standards can be identified and corrected.
c. Improvements can be suggested and implemented.
Reviews can be conducted in a variety of styles depending on the degree of
formality required, and the objective of the review. Typical review styles are as
follows:
a. Inspections. The objective of a system inspection is to detect and identify
defects of a system element in a rigorous, formal, peer examination that:
• Verifies that the system element satisfies both its specification and
preceding intermediate work products.
• Verifies that the system element conforms to applicable standards.
• Identifies actual or potential deviations from standards and specifications.
• Collects engineering data (i.e. defect and effort data) that can be analysed
using techniques, such as Cause-and-Effect Analysis, Control charts,
Pareto charts, Scatter diagrams and Run charts.
• Does not examine alternatives or stylistic issues.
b. Walkthroughs. A walkthrough is a less formal verification technique in which
life-cycle work products or system elements are examined by a group of
peers to:
• Find defects, omissions, and contradictions.
• Improve the system elements.
• Consider alternative implementations.
• Exchange techniques and style variations.
• Educate the participants.
• Point out efficiency and readability problems or modularity problems if the
system element is software code.
c. Desk Checks. A desk check is the least formal style review in which peers
will individually review (literally at their desk) life-cycle work products or
system elements and provide comments to the originator/author, typically
based on the reviewer’s own criteria.
To optimize the effectiveness of reviews, it is recommended that written procedures
are used to govern how reviews are conducted and the roles and responsibilities of
the participants. An important aspect of such procedures is typically the use of
checklists to focus the reviewers on the issues to address during their review.
Checklists can also be used by project team members to govern the quality aspects
of their individual deliverables. In addition, defect classification schemes are used to
reflect the severity of the problems/issues identified, and provide guidance on the
necessity (and urgency) for corrective action to be carried out.
7.3.2 Software/System Testing
In any engineering process, testing is used to exercise control over the developed
product. In IT projects, software/system testing is used to achieve the following:
a. Establish confidence that the software/system meets user requirements.
b. Make lack of quality visible.
c. Execute the software/system with the intent of finding errors.
To comprehensively test a system, a testing strategy comprising different levels of
testing is required to validate each of the main specifications produced by the project
life cycle against appropriate aspects of the developed system. A typical strategy
might be:
a. Unit Testing - aims to validate the individual coded modules (classes,
subprograms, subroutines or procedures) against their detailed design. It
focuses on test statements, branches, and paths through discrete pieces of
code. The following questions summarise the objectives of unit testing:
• Does the logic work properly? Does the code do what was intended? Can
the program fail?
• Is all the necessary logic present? Are any functions missing? Does the
module do everything specified?
• Has any unplanned functionality been added?
b. Integration Testing - aims to validate the integrated modules against the
high level system design by testing the module interfaces and confirming that
the modules have been linked together correctly. The objectives of integration
testing include:
• To detect improper calling sequences or mismatched parameters.
• To obtain a working skeleton of the system.
• To establish confidence that the skeleton parts interface and link correctly.
• To demonstrate that simple test cases and transactions are being handled
properly by the system.
c. System Testing – aims to validate the completed integration-tested system
against the software requirements (as might be defined in the functional
specification). System testing would typically include:
• Functional tests – to determine, from the developer’s point of view,
whether the functional requirements of the system have been achieved
• Non-functional tests – to demonstrate that the non-functional requirements
have been achieved by means of:
§ Recovery testing – to test the response to hardware failures.
§ Security testing – to test the security measures provided. For internet
or public facing systems, Vulnerability Assessment and Penetration
Testing (VAPT) is usually carried out.
§ Stress/load testing – to test the ability of the system to handle high
volumes of data, and transactions (typically via automated tools).
§ Performance testing – to check that response times (for online user
functions) and throughput (for batch jobs) are acceptable.
§ Configuration testing – to demonstrate that the system can operate
satisfactorily on all required hardware and operating systems
environments.
§ Usability testing - systematic observation under controlled conditions to
determine how well typical users can use the system.
d. Independent Testing – aims to provide an additional level of assurance by
getting another party, who has not been involved in the development process,
to test the application software based on the stated business requirements.
This is especially applicable for mission critical projects.
e. Acceptance Testing – aims to validate the completed system against the
user requirements (as might be defined in the user requirements
specification), and confirm that the system is ready for operational use. The
selection of tests would normally be agreed with the user, and would typically
include tests to demonstrate important functional requirements, performance
requirements and operational requirements – particularly reliability and
usability. If the developed system is to be accessed by internet users either
on the desktop or mobile devices, the validation would include
browser/operating system compatibility testing (BCT). Note that the BCT
requirement (which browser/operating system to support) would be normally
be specified in the user or system requirements specification.
The requirements for the system could also include government, industry and
organizational regulations or standards that must be complied with, such as:
• The Payment Card Industry Data Security Standard (PCI DSS) for
transmitting, storing and processing credit card information.
• Singapore government agencies require systems developed for them to
comply with their instruction manuals on IT management.
• USA Food and Drug Administration (FDA) standards for medical software.
The acceptance process should also include tests to validate compliance to
these regulations or standards.
f. Operational Readiness Testing (ORT) – tests performed to ensure that
adequate processes and procedures are in place to allow the system to be
used and maintained. This is undertaken by simulating the production
environment, with all the hardware and application software installed and
configured, and then performing tests that aim to discover technical and
operational issues/problems prior to production release. These tests may
include aspects of the system related to the front office customer touch
points, back-up facilities and procedures, procedures for disaster recovery
(business continuity planning), training for end users, maintenance
procedures and security procedures.
g. Regression Testing - should be performed whenever something in or around
a working system has changed. It aims to verify that the system continues to
meet its requirements after changes have been made (i.e. it tests that the
parts of the system that were not changed continue to function correctly).
Regression tests would normally be a selection from the unit, system and
integration tests.
7.3.3 Testing Process
Appropriate management control is required to ensure the effectiveness of a
project’s testing strategy. The following testing process is recommended for any of
the levels of testing described above:
a. Test Planning – this involves identifying the tests to be performed, the
associated testing activities and test organisation, estimates of the resources
and schedule required and the test level entry and exit criteria. For example,
for unit testing the criteria could be:
Entry Criteria:
• Coding is completed.
• Test scenarios are reviewed.
Exit Criteria:
• All identified Unit Test scenarios are executed and achieve the “pass”
criteria.
• Test results are reviewed.
b. Test Design – this involves defining the tests to be performed, in terms of the
precise instructions (or script) to be followed to perform each test, including
the expected results. There are two basic testing methods:
• Black box testing – focuses on the functionality as defined in
specifications, but disregards the control and logic structures found in the
detailed design and actual code e.g. demonstrate that a specific input to a
module would lead to the generation of a specific output, without
considering the code statements executed to produce the output.
• White box testing – which focuses on testing the code logic to demonstrate
that logical paths can be correctly traversed e.g. determining sets of input
parameters to demonstrate that sequences of statements can be correctly
executed.
To improve test case design productivity, test cases should be stored in a
reuse repository. Then when designing tests for a project, the test designer
should first attempt to identify suitable existing test cases from the repository
that can be reused before starting to design new tests.
c. Test Execution – involves the testers following the test plan and design
(which could be presented as one test planning document) to execute the
tests. As part of running through the test scripts, the actual results of each
test should be documented, and objective evidence should be collected to
demonstrate the results e.g. screen dumps or log files. The efficiency of
conducting tests can be significantly improved by using automated testing
tools, particularly to capture results and compare with the expected outcome.
Such tools also make re-testing (after correcting errors) faster and more
effort-efficient. However the cost/benefit of using automated testing tools
depends on how often the automated test will be executed.
d. Test Follow-up – a test incident report should be issued for each test that
fails to achieve its expected results. These reports should then be logged,
prioritized and tracked to closure in a test incident register. The development
team is responsible for fixing the test incident before passing the system
element back for re-testing (according to Service Level Agreement (SLA) set,
if defined). In addition, the impact of test incidents should be assessed by the
test manager or test lead to avoid the execution of related tests that are
certain to fail, until the test incident is resolved. The documented results from
each test should be reviewed to confirm that they have all been conducted
satisfactorily. Any additional errors found as a result of the review should be
reported and followed-up as described above.
e. Test Monitoring and Control - the purpose of test monitoring is to give
feedback on and visibility to the testing activities. The test execution and
follow-up activities should continue until the exit criteria is achieved. To
access test progress, Test Metrics (e.g. percentage of test cases passed)
could be used.
f. Test Result Analysis and Reporting – at the end of the testing process,
data resulting from tests (e.g. test metrics) should be analysed to determine
whether the testing needs of the project were met. In the case of deficiencies,
analysis reports should document the degree of success or failure and
propose probable causes of failure. The collected test results should be
compared with established evaluation criteria to determine whether failure is
related to the testing process or whether there is a need to address
requirements or design issues in the requirements development or technical
solution processes. If the failure is deemed to be due to the testing process,
then the test incident logs could be analysed to determine whether it is due to
a testing procedure problem or a test environment problem. The project test
result analysis could be reported as part of the test report to the project
management committee.
g. Test Closure - during the closure phase of the testing process, data should
be collected from completed activities to consolidate experience, facts and
artefacts, and to evaluate the process. From these data, lessons can be
learned to improve the test process for future projects. In addition, the
project’s test cases should be stored in a test case reuse repository for future
reuse.
7.4 System Configuration Management (SCM)
The purpose of SCM is to establish and maintain the integrity of the products of the
project throughout the project’s system development life cycle. Poor configuration
management causes many system quality problems, such as:
• The latest version of source code cannot be found.
• A difficult bug that was fixed at great expense suddenly reappears.
• A developed and tested feature is mysteriously missing.
• A fully tested program suddenly does not work.
• The wrong version of the code was tested.
• There is no traceability between the software requirements, documentation, code
and test cases.
• Programmers are working on the wrong version of the code.
• No one knows which modules comprised the software system delivered to the
customer.
The basic SCM activities are as follows:
a. Configuration Identification. Identifying and defining the configuration items
in a product. In particular, unique identifiers assigned to each part of the
product, which can be used to support traceability between a software
element and all other related software elements (including specifications,
code, test scripts etc).
b. Change Control. Controlling the release and change of these items
throughout the product life cycle. This involves establishing a change control
process that specifies:
• The items that are subjected to change control. These are usual baselined
items, which are normally items that have been reviewed, approved and
accepted for use, e.g. the user requirement specification after the customer
has accepted it.
• The individuals that are permitted to initiate a change request.
• The individuals or group (often referred to as the Change Control Board
(CCB) who are responsible for evaluating, accepting or rejecting, and
tracking the change proposals for the various baselined products.
• The “change impact” analysis expected for each requested change. This
will include any revised cost, schedule and risk assessment.
• The requirements to keep a change history to document all the changes
made to each configuration item.
c. Status Accounting. Recording and reporting the status of configuration
items and change requests. This enables a continuous record to be
maintained of the status and history of all baseline items and proposed
changes to them. The following questions can be answered:
• What changes have been made to the system?
• What changes remain to be implemented?
d. Configuration Auditing. Verifying the completeness and correctness of
configuration items. This involved conducting audits to:
• Verify that the system is built according to the requirements, standards, or
contractual agreement.
• Verify that all system elements have been produced, correctly identified
and described, and that all change requests are properly managed, tracked
and resolved.
A project team can define their SCM approach by producing an SCM Plan.
Alternatively, SCM can form part of a project’s Quality Plan.
Practical Tips
1. Quality management is a management function involving Planning, Assurance and Control of
quality.
2. The management of quality assurance and quality control processes to ensure timely
completion according to requirements, minimize rework and system failures, including
development of mechanism to prevent problem recurrences, obtaining client’s participation in
quality management process, publication and enforcement of standards.
3. Quality is owned by everyone in the project. Checklists must be used to operationalise the
practice of quality within the project team. QA checkpoints, together with their associated
objectives and QA/Peer Reviewers, must be identified at the start of the project and reflected in
the project schedule.
4. QA review points must be shared and response/outcome to each review point documented.
the technical competencies, maturity of the team members, their personality and the
team manager’s leadership style.
8.4 Managing the Project Team
The key processes and knowledge areas associated with managing the project team
are described in the following subsections.
8.4.1 The Team Life Cycle
A project team goes through several developmental stages. An understanding of the
stages helps the project manager to better manage the work and the team:
a. Forming: Members of the team get to know one another on a personal level.
This is also a good opportunity to see how each member of the team works
as an individual and how they respond to pressure.
b. Storming: Initial trust has been developed between team members that they
start to feel comfortable expressing discontent and challenge others' opinions.
This stage is necessary to the growth of the team. This phase can become
destructive to the team and will lower motivation if allowed to get out of
control.
c. Norming: The team manages to have one goal and come to a mutual plan for
the team at this stage. A lot of give and take to function as a team and work
together for the success of the team’s goals.
d. Performing: The team functions as a unit as they find ways to get the job
done smoothly and effectively without inappropriate conflict or the need for
external supervision. They are motivated and knowledgeable. The team
members are competent, autonomous and able to handle the decision-
making process without supervision. Dissent is expected and allowed as long
as it is channelled through means acceptable to the team.
e. Adjourning: When the project ends and the team is disbanded.
A project manager needs to apply the appropriate leadership style adapted to the
team’s developmental stage as well as to individual team member’s developmental
progress in the project. See section 8.5.3 for further details.
8.4.2 Assigning and Managing Work
To assign and manage the work of the project team, the following best practices
should be considered:
a. Use a resource breakdown structure (RBS) to highlight the types of
resources utilized by the project.
b. Create a responsibility assignment matrix (RAM) chart to present the roles
and responsibilities of the project team.
c. Use a RACI chart (a subset of RAM) to assign team members to project
activities, indicating their role for each assigned activity as either Responsible,
Accountable, Consult, or Inform (RACI).
d. The assigned activities should be selected from the project WBS and should
have clear output descriptions (e,g. in the form of templates, sample
documents and checklists).
e. Discuss all assignments with the staff involved and get their agreement to the
deadlines and expectations.
f. Monitor the work to ensure that the task loading on all staff members is fair
and equitable, and that tasks are being performed as planned.
8.4.3 Managing Cross-Functional Teams
Enterprise wide projects that solve organizational problems and issues typically span
several functional areas. These cross-functional projects draw their members from
diverse parts of an organization for relevant representation of knowledge,
experience, perspective, and practice. They may also include members from outside
the organization, such as from suppliers, key customers or consultants.
The richness of backgrounds, cultural values, orientations and styles fosters a high
creative capacity for the project. When working together, the team tends to learn
more about other disciplines and develop new technical and job skills more readily
as they work across job functions. Also, members of cross-functional teams promote
more effective teamwork by acting as a single source of information and decision-
making regarding projects and customers.
8.4.3.1 Success Factors of Cross-Functional Teams
For a cross-functional team to function well, it requires:
a. A senior level project sponsor.
b. Clear team goals and plans for achieving them. Team members must be clear
about the deliverables that they are committed to produce.
c. The team size should be small. Some organizations use small core groups
within larger teams to make the key decisions and accomplish most of the
work.
d. The team should be empowered to make and implement decisions. Cross-
functional team leaders should clarify their teams' authority to decide key
issues.
e. There must be good group dynamics since the diversity within the team
makes it especially susceptible to poor interpersonal relationships, conflicts
between team members, and a lack of trust and candour.
f. Recognition and rewards which are team based rather than individual based.
g. Access to the breadth and depth of information within the company for
strategic, tactical and operational decisions.
8.4.3.2 Skills for Managing Cross-Functional Teams
In addition to the personal competencies described in section 8.1, a project manager
also needs the following to effectively manage cross-functional teams:
a. Strategic thinking techniques for “seeing” the business situation.
b. Strong financial, statistical and risk management skills.
c. Political and communication skills to gain the approval of project plans and
commitment of team members.
d. Knowledge of the technical issues addressed by the team.
with the trust intact. They further suggest that virtual teams with the highest levels of
trust tend to share three traits:
a. They began their interactions with social messages before focusing on the
work at hand.
b. Clear roles were defined for each team member.
c. Team members consistently display eagerness, enthusiasm, and an intense
proactive action orientation in all of their messages.
Additionally, these high trust teams typically have the following characteristics:
a. Display a task versus procedural orientation.
b. Rotate leaders – alternate members “rise to the occasion”.
c. Discuss and clarify team goals.
d. Engage in time management and project management activities.
e. Give substantial feedback oriented toward improving the content of another’s
work.
f. Engage in frequent interaction, notifying members of their whereabouts and
absences.
8.4.4.4 Obstacles to Success
Virtual teams also face various obstacles to success such as those described below:
a. Soft issues e.g. false consensus, unresolved overt conflict, closure
avoidance, uneven participation, lack of accountability and “forgetting the
customer”.
b. Technology adoration – a belief that all virtual team problems can be solved
by establishing an email list, opening chat rooms and mounting desktop
conferencing sessions.
c. Technological barriers e.g. slow network computers, poor architecture and
lack of collaborative software.
d. Timing issues – difficulties finding the “right” time for meetings due to time
zones.
8.4.4.5 Virtual Leadership
Leading a virtual team not only involves communication complexities but also
requires a specific project leadership approach as described below:
a. The project manager must manage the boundaries – the environment that
surrounds the team. A few of these include introducing members to key
external contacts, intermediating with headquarters and building systems for
data linking.
b. Project tracking requires a new paradigm of managing people and progress of
the project. The project manager has to contend with:
• An increase in structure and flexibility - flexibility in the sense of the work
environment and structure as it relates to the pattern of interaction.
2. Team building activities at the start of the project are often helpful is breaking the ice and
establishing rapport amongst the team members. Maintaining a balance of work and social
activities facilitates a healthy working relationship.
3. Partnering junior staff with senior staff to ensure that the necessary coaching and guidance is
provided.
4. Assignments in written form for junior staff is helpful as it gives them an official reference point for
expectations, communications and evaluation of completed tasks.
5. When working together, team dysfunctions may develop. The project manager should look out for
such signs as group think, cliques and social loafing and take appropriate action to address them.
6. The over-riding role of the project manager is to be a performance coach to forge a synergistic
team. As individual project team members develop at different speeds (form-storm-norm-perform
as illustrated in Tuckman’s evolving team development stages), there is no one-shoe-fits-all
approach apart from continual training, mentoring, coaching and confronting.
9. Communications Management
This knowledge area describes the main techniques and processes associated with
effective communications with stakeholders (e.g. project members, project sponsor,
customers) during an IT project. This involves the collection and dissemination of
project information through information gathering, distribution techniques,
expectation management and performance reporting. The key topic areas are
described below.
9.1 Managing Team Communications
A Project consists of groups of people, coordinated by work processes and
agreements working together to plan, study, define, design, implement, verify,
validate and deliver all the necessary aspects of a product (and/or solutions).
These groups, called stakeholders, include:
• Development/maintenance/infrastructure teams comprising a multidisciplinary
collection of individuals performing a wide variety of tasks. This includes project
management, requirements gathering, prototyping, design, coding/programming,
installation and setup, testing, commissioning and documentation.
• Company management and administration, such as senior management, finance,
contracts department, human resource department, procurement department,
sales and marketing.
• Customer representatives, such as end-users, end-user management, quality
assurance, procurement and contracts officers.
• Teams from external organizations (such as subcontractors, consultants)
providing products and services to the project.
A project’s success relies heavily on the effectiveness of the work performed within
and between these groups. There is heavy reliance on communication mechanisms
to establish common understanding for all parties to perform their role. The typical
communication mechanisms are described below:
9.1.1 Documentation
Project documentation records the project’s processes, deliverables and milestones
for each phase of the project life cycle. These deliverables provide the essential
baselines used to control the project. They also facilitate the gathering, recording
and updating of all pertinent information needed by the various parties involved in
the project: managers, developers, administrators, users, etc. There are two broad
categories of documents that need to be created:
a. Process Documents facilitate the management and control of the
software/infrastructure process, and are significant deliverables of each
phase:
• Project initiation and planning documents (e.g. the Project Management
Plan).
• Technical planning documents (e.g. Test Plans).
• Progress reporting and control documents (e.g. Progress Report, Test
Report).
2. The setting up of communication channels within and without the project teams, include
project managers and client’s management interface, definition of reporting structures, project
team/clients’ interface, identification of liaison or coordinating parties, definition of documentation
standards, version control standards, lead time for review and approval, escalation processes etc.
3. Project managers are judged by their ability to persuade and influence stakeholders for a win-win
outcome. They need to learn to deliver “bad news” and have the courage to say “NO” for the good
of the project.
of familiarity with the tool, techniques and methods and/or poor process
control (lack of, or ineffective, quality control and progress control
mechanisms). While agile software development methodology has been
increasingly been adopted by organisations to improve time to market for
software delivery, some risk may also arise from lack of management support
and project team acceptance and familiarity with the agile methodology. A
successful agile methodology adoption requires both a culture and a mind-set
change for both development team members and business users who are
used to the traditional Waterfall methodology.
10.1.3 Key Risk Concepts
The key concepts associated with IT risk management are as follows:
a. Probability – a quantitative estimate of the likelihood a specific event will
occur during a specific time.
b. Impact – a quantitative estimate of the loss caused by a future event, if it
does occur.
c. Exposure – the product of probability and impact for the purpose of risk
prioritization (also known as risk score and risk index).
d. Mitigation – anything that reduces ones exposure to the risk, such as
insurance or contingency planning.
10.2 Risk Management Process
Risk management is informed decision making under conditions of uncertainty i.e.
making informed decisions by consciously assessing what can go wrong and the
resulting impact. Such decision-making can be facilitated by developing a risk
management strategy and assigning risk contingencies that will prevent the
identified risks from becoming a problem or limit their impact if they do occur. These
are important aspects of project planning and control, and significantly influence
most of the planning and control activities (such as estimating, scheduling etc).
The risk management process is used to ensure that all risks identified on a project
are appropriately documented, assessed, mitigated and monitored. The risk
management process typically involves the following four phases:
first, but if the need arises then quantitatively. Risk quantification extends the value
of the understanding, documenting and reporting on risks, by attempting to assign
each risk to an easily understood numerical scale. These assist in realizing and
focusing on the true impact of each risk, and in the prioritization of the risk
prevention and mitigation activities identified. The following two parameters for each
risk should be quantified:
a. Impact. This is an estimate of the overall scale of the impact following an
occurrence of each risk. The following is an example of a 5-point scale:
5 Critical Threatens success of the project
4 High Significant disruption to project schedule,
cost, and products over the medium and
long terms
3 Medium Progress disrupted with large extensions to
schedule and cost, across short and medium
terms
2 Low Progress disrupted with manageable
extensions to schedule and cost, across
short and medium terms
1 Marginal Slight exposure
The following shows an example of the risk exposure rating categorized into Low,
Medium and High:
15 to 25 (RED) High
6 to 14 (YELLOW) Medium
1 to 5 (GREEN) Low
The decision to take action on risk mitigation actions is often initiated based on the
risk exposure rating. The following is an example of a risk mitigation plan:
1
Personal data refers to data, whether true or not, about an individual who can be identified from that data;
or from that data and other information to which the organisation has or is likely to have access.
Practical Tips
1. Every stakeholder can raise risks but the project manager should evaluate all risks and assign
them to the parties best positioned to mitigate e.g. technology risks to the chief technology officer
(CTO), business risks to project sponsor, etc.
4. The project manager must be aware of the scope and implications of the government and industry
regulations and the associated obligations for organizations (e.g. the PDPA, PCI DSS, MAS TRM
guidelines etc).
• Buy In - when the technology maturity risk and the IT integration risk are
both low, then it is appropriate to buy in the required resources from a
leading supplier.
• Preferred Supplier - when the technology maturity risk is low but the IT
integration risk is high, then it is appropriate to link up with a preferred
supplier who is judged to have the breadth and staying power in the long
term.
• Contract Out - when the technology maturity risk is high but the IT
integration risk is low, then it is appropriate to contract out the required
services while focusing in-house on strategic and innovative applications.
• Strategic Alliance - when the technology maturity risk and the IT
integration risk are both high, then it is appropriate to forge a strategic
partnership with one or more reputed suppliers.
c. Economic Factors. When considering the contractual models available in
the market, the following strategies can be considered:
• Contract Out – this is suitable when there is a clearly defined need for a
particular end product or service. In such an arrangement, the vendor is
required to deliver the contracted results at contracted price and terms.
The customer is required to provide full specifications at the start of the
project, and any subsequent amendments may require renegotiation of the
price and terms.
• Buy In – in this arrangement, the customer specifies the resources
required and retains the responsibility for deploying them. The contract
would be based on a fixed rate per time period for each resource
• Preferred Supplier – this involves adopting a close, long term buyer-
supplier relationship. This leads to increased mutual understanding and
commitment. In this case, there is an overall service contract defining the
domain of the services that can be provided, general terms and rates.
Then each actual customer request is separately contracted based on
these terms
• Strategic Alliance – this involves developing a long-term business
agreement whereby the customer and vendor agree to share the relevant
risks and rewards.
11.1.4 Evaluating and Selecting IT Contractors
Having decided upon the part of the IT function to outsource and the appropriate
outsourcing strategy, the next step is to select contractors to perform the required
services. The details of the evaluation and selection process are described in the
COMIT BOK.
11.1.5 Managing and Monitoring Contracts and Contractors
The responsibility of the project manager is to manage the contract, to ensure
effective execution and delivery of the project. This involves performing the following
activities:
e. The customer’s project manager would then arrange for the change to be
implemented, which would involve:
• Changing contract and obtaining approvals from the customer and vendor
management.
• Implementation of the actual change in service by the vendor.
• Review of progress by the customer’s project manager at the regular
progress meetings.
11.1.6 Contract Closure
When a project is completed, the project manager should close out all contractual
issues and obligations. The project manager should also ensure all project artefacts
are completed and confidential materials are handed over.
For pre-mature contract termination, apart from legal issues, there are various
practical issues to consider, such as:
a. Business Implications – e.g. would the termination affect the customer
organisation’s image or credibility?
b. Operational Implications – e.g. what is the cost of setting-up the
infrastructure for your system? What is the required lead-time? What is the
effect on operational efficiency?
c. Turnback Effort – e.g. what effort would be required to collect the customer’s
hardware, software, date etc. from the vendor, and re-install at the customer’s
premises?
11.2 Software Licenses
This section discusses software licensing with respect to project procurement. There
are two broad categories of software licenses.
a. Open-source software licenses. These licenses allow software to be freely
used, modified and shared. In addition, they allow programmers and
developers to review, modify and customize the software to meet their
specific requirements. Such licenses must go through the Open Source
Initiative (OSI) license review process and must meet the OSI definition of an
open-source license before they can be categorized accordingly. Most open-
source licenses are available free-of-charge. However, some require fee
payment.
b. Traditional software licenses. For these licenses, a fee is paid to the
principal software vendor to use the software. Some such licenses allow or
provide the licensee with the necessary rights to modify or re-use the existing
components. However, there are also licenses that restrict or do not allow
updating or changing of the source code.
It is normal practice for principal software vendors to release changes and updates
to their software, typically to address new functional requirements and address
security threats. When appropriate, licensed software should be purchased with
ongoing authorized vendor support and maintenance to maintain its currency.
Maintaining this currency provides the licensee with the flexibility and options to
leverage on changes and updates.
2. The whole process includes planning, budgeting, specification, solicitation, evaluation, selection,
negotiation, administration etc.
3. It is critical to involve the project managers at the start of the procurement process so as to
enable them to engage and build relationship with participating vendors. As more than 50% of
sampled contracts are problematic, the recommended approach is to harness win-win
relationships through a vendor management office (VMO) mechanism that is based on KPIs.
These indicators are quality benchmarks in nature involving both penalties and incentives.
5. Both IT and data governance strategies and policies are critical components. These must also be
in place. They facilitate the procurement process, but also ensure alignment of IT services with
the overall mission, vision and business strategy of the organization.
6. Develop a common framework that can be used to facilitate the evaluation and selection process
required. This framework should be customizable and be able to achieve a baseline and
quantitative scoring of the all critical factors or requirements.
7. As part of the evaluation and selection process, where relevant and possible, always leverage the
use of proof of concept testing. It providers the users an opportunity to use the system in order to
find out more of the system to be procured and will also allow the users to analyse and rationalize
their requirements.
8. It is critical to understand the user requirements. In addition to the use of the proof of concept, the
requirements gathering process can be facilitated through the conduct of requirements gathering
workshops, brain storming etc.
Social Economic
Cultural and Financial
Functional Top
Managers Management
Public
Suppliers, Project Service and
Vendors, Team and Press
Contractors Support
Staff and
Other
Personnel
Project
managersEnvironmental
Regulatory and Legal
Agencies
2. Vendor-client relationships involve developing common objectives and mission with the client
management, promoting and understanding of strategies and project plans employed,
developing relationship with clients in planning, issues resolution, quality assurance and control.
3. The proven ability to value-add to the client in a transparent manner to deliver the desired
outcome is a winning formula for repeat/referral business.
current state (of support to this project) to the desired state within the expected
timelines. It is important to ensure that the unique and varied needs of the diverse
stakeholders are thoroughly understood to appropriately manage and cascade the
change. The team typically does this by conducting a stakeholder analysis to
determine stakeholder profiles, concerns and motivations. This helps the project
team manage a healthy working relationship with the key stakeholders, which is
critical for the success of any project. Furthermore, this can be achieved by:
a. Developing common objectives with the stakeholder’s management and
understanding their strategies and plan.
b. Understanding how to build and manage the relationships with the
stakeholders.
In addition, a change impact assessment evaluates how each of the stakeholder
groups will be impacted by the project. The key findings from this assessment will
identify target areas for action as part of the change journey for each of these
groups.
14.4 Change Enablement Plan
The successful execution of change enablement is typically guided by a change
enablement plan that provides planning, management and enablement of change
through a structured approach. The focus of the plan is to ensure that the right
change activity is carried out to the right audience at the right time to manage the
entire IT implementation journey.
There are various components that can constitute the change enablement plan.
Depending on the change impacts assessed by the project, they may consist of
different change initiatives, ranging from training, communications, to behavioural
change efforts, etc.
Training builds the skills of the users and impacted stakeholders, while
communication engages end users to increase awareness to eventually build
commitment. For some projects, a cultural and behavioural shift may be necessary.
Definite and time bound action plans are then developed to align individual users to
the new behaviours in the continuum through various methods such as gamification.
The various change initiatives should complement each other to ensure a holistic
change enablement delivery approach that addresses behaviours, mind set and
skills for impacted stakeholders.
14.5 Change Enablers
Leadership and sponsorship are pivotal to ensure the successful execution and buy-
in of the change enablement efforts. Having executive sponsorship significantly
influences the success of most projects, especially those that impact a large number
of stakeholders. As part of the on-going IT implementation journey, it is important to
maintain the cycle of communication between the project teams, the leadership team
and various stakeholders.
Practical Tips
1. One size does not fit all. It is vital to thoroughly understand your unique stakeholder groups and
tailor your communications and engagement activities accordingly to ensure the needs of different
stakeholder groups are met.
2. Leverage multiple channels, e.g. electronic and face-to-face channels to ensure stakeholders are
prepared and supportive of the upcoming changes. Consider new and creative avenues such as
social media to reach a more tech-savvy crowd. There are also various gamification tools and
apps that can diversify the communication methods to end users.
3. It might be helpful to create a Change Brand in the beginning of the project to build a stronger,
collective project identity. It becomes the visual representation of the program using a symbol and
style that permeates communications and training reinforcing the value and desired sentiment of
the program.
15. Abbreviations
AMF Annual Maintenance Fees
BC Business Continuity
COTS Commercial-Off-The-Shelf
CR Change Request
DR Disaster Recovery
HR Human Resources
IP Intellectual Property
IT Information Technology
PAAS Platform-as-a-Service
QA Quality Assurance
XP eXtreme Programming
16. Bibliography
a. Anne Mette Jonassen Hass (2008), Guide to Advanced Software Testing,
Artech House Inc, Boston and London.
b. Babich, Wayne, “Software Configuration Management”, Addison-Wesley
Publishing Company, 1986.
c. Beck, Kent; et al. (2001), Agile Manifesto, http://www.agilemanifesto.org/.
d. Beizer, Boris, “Software Testing Techniques”, Van Nostrand Reinhold, 1990.
e. Bersoff, Edward H, Henderson, Vilas D,Siegel, Stanley G, “Software
Configuration Management”, Prentice-Hall, 1980
f. Besle, Jean-Yves, “Software Quality Management Guidelines”, Alcatel
Alsthom, 1994.
g. Boehm, Barry W, “Software Engineering Economics”, Prentice-Hall, 1981
h. Brooks, Frederick P Jr, “The Mythical Man-Month”, Addison Wesley, 1978,
ISBN 0-201-00650-2
i. Buckley, Fletcher J, “Implementing Configuration Management”, Computer
Society Press, 1996
j. Burke, Rory, “Project Management: Planning and Control Techniques”, Wiley,
1992.
k. Burnett, R, “Outsourcing IT, The Legal Aspects”, Grover, 1998, ISBN 0-566-
076985
l. Capers Jones, “Applied Software Measurement”, McGraw-Hill, 1991, ISBN 0-
07-032813-7
m. Cohn, Mike. (2010), Succeeding with Agile Software Development Using
Scrum, Addison-Wesley, Boston.
n. Covey, Stephen. (1999), The 7 Habits of Highly Effective People, Simon &
Schuster Ltd, USA.
o. DeMarco, Tom, “Controlling Software Projects”, Yourdon Press, 1982
p. Deming, WE, “Out of the Crisis”, MIT Press, 1982.
q. Deutsch and Willis, “Software Quality Engineering: A Total Technical and
Management Approach”, Prentice-Hall, 1988.
r. Domberger, Simon, “The Contracting Organization”, Oxford University Press,
1998, ISBN 0-19-877457-5
s. Dreger, JB, “Function Point Analysis “, Prentice-Hall, 1989, ISBN 0-13-
332321-8
t. Dunn, Robert, “Software Quality Concepts and Plans”, Prentice-Hall, 1990.
u. Dunn, Robert, Ullman, Richard, “Quality Assurance for Computer Software”,
McGraw Hill, 1982.
v. Evans, M and Marciniak, J, “Software Quality Assurance & Management”,
Wiley Interscience, 1987.
tt. Paulk, Mark C, Curtis, Bill, Chrissis, Mary Beth, and Weber, Charles V,
"Capability Maturity Model for Software, Version 1.1", Software Engineering
Institute, CMU/SEI-93-TR-24, February 1993.
uu. Paulk, Mark C, Weber, Charles V, Garcia, Suzanne M, Chrissis, Mary Beth,
and Bush, Marilyn, "Key Practices of the Capability Maturity Model Version
1.1", Software Engineering Institute, CMU/SEI-93-TR-25, February 1993.
vv. SPRING Singapore, “Singapore Standard SS ISO 9001 : 2008, Quality
Management Systems - Requirements”, 2008
ww. Porter-Roth, Bud, “Request for Proposal”; Addison-Wesley, 2002; ISBN 0-
201-77575-1
xx. Pressman, Roger S, “Software Engineering, A Practitioner's Approach”,
McGraw-Hill, 1992 (Third Edition)
yy. Project Management Institute (2013), A Guide to the Project Management
Body of Knowledge (PMBOK Guide), 5th edition
zz. Project Management Institute (2013), Software Extension to the PMBOK
Guide Fifth Edition, PMI, USA
aaa. Radice, Ron, “Software Inspections”, 1995
bbb. Remeni, Money and Twite, “A Guide to Measuring & Managing IT Benefits “,
NCC Blackwell, 1991, ISBN 1-85554-138-6
ccc. Schulmeyer, G and McManus, J, ed, “Handbook of Software Quality
Assurance”, Van Nostrand, 1987.
ddd. Schwalbe, Kathy (2010), Information Technology Project Management 6e,
Course Technology, Cengage Learning, US
eee. Schwalbe, Kathy (2010), Information Technology Project Management 6e,
Course Technology, Cengage Learning, US
fff. SPMI (2013), “Regulatory Compliance – Scope and Implication for Project
Managers”, 12 November 2013, SPMI Website, Singapore
ggg. Sturm, Morris, Jander, “Foundations of Service Level Management”, SAMS,
2000; ISBN 0-672-31743-5
hhh. Tuckman, B. W. and Jensen, M. A. (1977) Stages in small group
development revisited. Group and Organisation Studies 2; 419-427
iii. Ward, John and Griffiths, Pat, "Strategic Planning for Information Systems",
John Wiley & Sons, 1999
jjj. Whitgift, David, “Methods and Tools for Software Configuration Management”,
John Wiley & Sons, 1991
kkk. Williams, Oakie, “Outsourcing, A CIO’s Perspective”, St. Lucie Press; 1998;
ISBN 1-57444-216-3
Appendix A.
Agile Project Management
A.1 Introduction
Agile software development is a group of development methods based on iterative
and incremental development approaches. Each iteration (typically 1-4 weeks) is
required to create software releases with business value that are potentially
shippable. In particular, when the project scope is highly volatile and the technology
used are still not matured, the agile approach is often used to manage these
complexities.
Agile methods are planning driven and recognize that system details are typically
not fully known at the beginning. No matter how elaborate the initial planning is,
changes are inevitable. Hence, there is a need to constantly review the planning
through the entire project and adopt a progressive elaboration approach. This is in
sharp contrast to other more heavyweight methods (e.g. the waterfall model) that are
planned driven, where the practice is to create an elaborate plan in the beginning
through thorough analysis, and then try to keep execution as close to the plan as
possible.
This group of agile development methods have been gaining traction over the last
few years due to their responsive to changes in requirements, higher quality and
faster time to market. Commonly and widely adopted agile development methods
include Scrum, eXtreme Programming (XP), Kanban and feature driven
development (FDD).
A.2 Agile Manifesto
In February 2001, 17 highly regarded developers met at the Snowbird Utah (USA)
resort, to discuss lightweight development methods. They published the Manifesto
for Agile Software Development to define the approach now known as agile
software development. The manifesto reads in its entirety.
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left
more.
Agile teams value individuals and interactions over processes and tools.
Ultimately, regardless of what method is being followed, it is always the quality of the
people and the combined strengths through synergetic interactions that determine
the success of the working system. A well-functioning team of great individuals with
mediocre tools will always outperform a dysfunctional team of mediocre individuals
with great tools and heavy weighted processes that are little understood. Agile
thinking acknowledges the unique strengths (along with inevitable weaknesses) of
b. Frequency of Releases: With the waterfall model, there is usually one major
release at the end of the project while an agile project breaks the
development into a series of releases and in each release, there are a few
iterations between 1-4 weeks producing a usable product at the end of the
iteration. Agile development teams perform regular code integration, reducing
the complexity and risks associated with “big bang” integration seen in
waterfall projects.
c. Scope Management: In a waterfall project, the end of the requirements
phase will typically baseline the project scope and subsequently changes in
scope are managed through change requests. Due to the difficulty in
identifying all the requirements when none of the software has been built, the
users often have challenges in defining the baseline requirements early,
which eats into the timeline of the rest of the development lifecycle. Waterfall
development teams, in an attempt to protect themselves against scope creep,
typically discourage requirements changes by making the change requests
workflow a long winded and highly controlled process. In contrast, in an agile
project, requirements are ranked according to priority from the most
valuable to the least valuable. These requirements are typically captured in a
product backlog as a prioritized list of all features and functionality that are
required to complete a project. Requirements are then elaborated, designed
and developed in the order of their priority. Scope that has not entered into
development is not fixed and is allowed to evolve to fit the actual usage model
of the end users, thus embracing reasonable changes. When the time-box
and resources runs out, the least valuable requirements are often not
developed, particularly when the cost of developing these requirements far
outweigh the benefits that can be derived from implementing these least
valuable requirements.
According to Chaos Manifesto 2012 report, agile projects are three times more likely
to be successful compared to a traditional projects. However, agile is not a silver
bullet to solving all development and organizational problems. Some agile projects
do fail. In fact, adopting agile makes the weaknesses of the team more visible
and exposes them earlier. Unlike the complex, bureaucratic waterfall structure,
where project failure is typical more visible towards the testing stage, the agile
yardstick of project progress is by the amount of working software increments per
sprint (velocity). This will expose issues in an incapable team earlier. Also, if
someone in a team is not contributing to the team’s overall effort, it only takes a few
stand-up meetings for everyone in the team to recognize the black sheep in the fold.
Failing early is not a bad thing. This allows for early actions to be taken before
more efforts and resources are wasted.
A.5 Requirements Analysis
In agile projects, requirements analysis begins during the release planning phase,
and the requirements are progressively elaborated during the development
iterations. The following lists some of the common ways adopted by agile methods
to capture requirements based on user needs:
a. User Stories.
b. User Scenarios.
c. Use Cases.
d. User Flows / Storyboards.
A.5.1 User Stories
A user story is a common format used by agile development teams to describe a
functional requirement. It is typically written by users and subsequently refined
together with the development team. A classic template of a user story is “As a
<role>, I want <goal> so that <benefit>”. Example: “As a student, I want to find my
grades online so that I don’t have to wait until the next day to know whether I
passed.”
A user story may also be written by developers to capture a non-functional
requirement, such as security, performance, reliability, etc. It usually contains just
enough information so that the developers can produce a reasonable estimate of the
effort to implement it. It is commonly used during an iteration where it is often broken
down into tasks through conversations amongst the various stakeholders, such as
the product owner, users, and developers. A set of acceptance criteria is also
determined for each user story prior to its implementation.
A.5.2 User Scenarios
A user scenario expands upon the user stories by including details about how a
system may be used by one of more individuals or organizations. It describes the
steps, events, and actions that occur during an interaction. For example, the
following shows a scenario whereby a user (Susan) makes an online booking for a
public course:
a. Susan wants to book a course on Agile Project Management (APM) from her
computer.
b. Susan goes to a Continuing Education and Training (CET) centre’s website
and selects a public APM class.
c. She enters her details such as first name, last name, email address, etc.
d. She selects the payment option, enters the payment details and confirms her
booking.
e. She receives an email confirmation of her booking.
A.5.3 Use Cases
A use case is another common format that is widely adopted by both agile and non-
agile projects. It describes a set of interactions between a system and one or more
actors, and generally include the following information:
a. Use Case Name or Title.
b. Rationale or Goal.
c. Actor or User.
d. Preconditions (the things that must have already happened in the system).
e. Interaction and Primary Flow (what will usually happen, described as a set of
steps).
f. Alternate Flow(variation on the primary flow).
g. Post conditions (what the system will have done by the end of the steps).
A.5.4 User Flows / Storyboards
A user flow or a storyboard is a form of visual documentation that depicts how a user
encounters a website’s content and the sequence of interactions required to achieve
a goal. This is where the user stories, scenarios and use cases can be mapped out
in a way that shows the visual sequence and interconnectedness of use cases and
user stories. The following shows an example based on the same scenario above:
b. A velocity chart measures the team’s rate of progress by counting the total
amount of story points completed in each iteration. Typically, a team velocity
is expected to increase as the team matures in the initial stage and later
stabilize to a sustainable rate. Management must be careful when using this
velocity information to gauge teams’ performance. Velocity change can be
due to a wide variety of reasons such as team composition changes,
performance of individual staff, holiday season during the last sprint,
increasing technical debt (also known as design debt or code debt) and
dependency on other teams output. An agile project manager must try to
understand the underlying reason for changes in velocity and reflects these
reasons in a transparent, truthful way so that both the development team and
management can make conscious decisions and steps to improve the team
velocity and productivity.
d. Cater for earlier application support: Due to the earlier and more frequent
release of software increment into the production environment, an agile
project is able to gather user feedback on the usefulness of the software
much earlier. This earlier rollout however requires the attention of the
development team to provide application support and potential bug fixes.
Typically, a portion of the time in an agile team is spent on fixing issues that
arise in production.
e. Build a stable team: Agile project teams should stay stable in size
throughout the entire project. The same team members who are involved in
the initial project inception should stay throughout the entire project, working
on the requirements, design, code implementation and production rollout.
This stability in team structure allows for substantial tacit knowledge
retention, reducing the need for unnecessary project documentation work
that is mainly useful to facilitate the handoff between the teams of IT
professionals that are only involved for part of the whole project. The project
manager should plan for a stable team structure as the quality of the working
product has a strong correlation with the team stability.
f. Build your teams around small, cross functional, self-organizing feature
teams: Central to the concept of agile development is the small, dynamic,
cross functional feature teams that have most of the skillsets within the team
to deliver software increments. Each team should have no more than ten IT
professionals, otherwise the number of communication channels will incur too
much overhead. Team members should be empowered to make their own
technical decisions so as to keep the level of motivation high and encourage
ownership of the tasks. For complex and large projects, multiple features
teams should be assigned to build different parts of the system with a central
integration team to ensure that all the software modules developed by the
different teams are regularly integrated into the overall platform.
g. Train the development team and business owners: If the project team
members are new to the concept of agile software development, then
appropriate training should be made available to both the development team
and business owners to facilitate the transition from a traditional software
development approach towards an agile one. Correct understanding of the
agile values and practices by both the development project team and
business owners are critical to the success of the project. The addition of an
experienced agile coach to a new team should be considered to smoothen
this transition process.
h. Invest in test automation: Agile projects require frequent software releases.
Before each software release can be made, thorough testing including testing
of features developed in previously releases are required. Hence investment
in scripting and automating the tests is highly important to maintain a highly
productive team. Failure to do so will result in the team spending a significant
amount of time on manual regression testing in later releases, thus reducing
the time available to work on new feature development.
i. Assign only a small number of concurrent tasks for each team member:
Doing multiple tasks concurrently very often leads to poorer performance.
This is due to the impact of multitasking. Establish a work in progress (WIP)
limit for the entire team so that every individual in the team can concentrate
on the most important tasks at hand, working on finishing perhaps only one or
two tasks concurrently before taking up additional tasks.
Appendix B.
Sample Templates
a. Project Management Plan (PMP) Table of Contents (TOC).
b. Change Register Template.
c. Issue Register Template.
d. Defect Register Template.
e. QA/Peer Review Memorandum Template.
f. Risk Register Template.
1. OVERVIEW
a.
b.
c.
2. Background
a.
b.
c.
3. Main Points Discussed
5. Next Reviews
Venue:
Dates:
QA Checkpoint Objective QA Deliverable
Date/Timeframe
6. Reviews Sign-off
XXXX XXX
QA Reviewer Project Manager
7. Distribution List
a.
b.
c.
1 13- Delay in User Schedule High Medium 6 Seek & 2 weeks Arrange Project
May-12 Requirement negotiate delay in with users Manager
confirmation due with user schedule and Project
to new business for early team to
area that has not submissio work for
done before and n of extended
which is still papers to hours to
pending HQ HQ to complete
policy seek Requireme
confirmation… finalization nt validation
of relevant and
policies. confirmatio
n
Appendix C.
Preface to the 3rd Edition
The 1st edition of the Book of Knowledge (BOK) for the Certification in IT Project
Management was published in May 2003. The 2nd edition was published in March
2004. It is timely for the Singapore Computer Society to review and publish the 3rd
edition in 2011.
All the knowledge domains in the 2nd edition BOK remain relevant. The resource
panel has made an attempt to make the BOK more readable. Some sections have
been updated with references to the latest tools and methods. Many IT projects
today involve an in-house IT team working closely with a vendor; the differences in
roles and accountabilities of the Project Manager in both teams have been
highlighted, where applicable.
Project management is more than creating spreadsheets and charts, setting up
meetings, tracking issues and updating progress reports and registers. At the heart
of IT project management is the management of scope, resource and time, which
requires making trade-offs. A good IT project manager uses all his or her business,
technical, technology and project management knowledge, skills and experience to
help the business stakeholders and users make such trade-offs.
This BOK is a valuable repository on managing IT projects. Although the BOK is
targeted at candidates of the Certification in IT Project Management (CITPM), it is
highly readable and suitable for all IT professionals. I would like to thank Chee Peng
for the thought and energy that has gone into this revised edition. Needless to say,
all my colleagues in the Resource Panel have also spent significant time and effort
on this endeavour. I hope you will find this BOK useful and relevant.
Ms Wu Choy Peng
Chairperson
CITPM BoK Review Panel
Chief Editor
Wu Choy Peng
Group Chief Information Officer, Neptune Orient Lines Ltd
Writers
Tan Chee Peng
Group CEO, Business Technovise International/Team SYNthesis
Review Panel
Wu Choy Peng (Chairperson of Review Panel)
Tang Wai Yee (Deputy Chairperson), Inland Revenue Authority of Singapore
Daniel Boey Swee Kee, Institute of Systems Science
Cheong Pik May, Integrated Health Information Services
Foong Swee Yu, Associate Lecturer, PSB Academy
Ki Gaik Neoh, NCS Pte. Ltd.
Seow Keng Tain, Senior Vice President, Great Eastern Life Assurance Co. Ltd.
Tan Wee Liang, Hewlett Packard Singapore (Sales) Pte Ltd
Yap Chee Yuen, Resorts World at Sentosa Pte Ltd
Yong Teck Thong, NCS Pte. Ltd.
Appendix D.
Preface to the 1st and 2nd Editions
IT projects are complex undertakings. They require the coming together of experts in
different domain areas and precise timing. Good project management makes the
difference between an IT project that meets objectives, deadlines and the budget,
and one that does not.
It is therefore no surprise that project management has been making its way to the
top five critical skills required by both the infocomm and end-user industries in recent
years. The CITPM programme was launched in 1998 in response to the industry’s
call for the certification of project management skills. Certification of project
management skills is important as it benchmarks the professional capabilities of the
project manager against accepted industry best practices. Appropriately for a
profession that is internationalised, the CITPM programme has been benchmarked
against similar programmes in Japan, India and USA.
I commend the Singapore Computer Society in compiling this body of knowledge to
serve as a benchmark reference for current and potential IT project managers. This
book also reinforces the need for project managers to constantly demonstrate high
standards and leadership on the job.
The recently launched Connected Singapore blueprint for infocomm development
envisages that Singapore’s infocomm industry will contribute 10% of Singapore’s
gross domestic product by 2012, from the present 7.9%. We can realize this if we
continue to put strong emphasis on developing the capabilities of Singapore’s
infocomm professionals, so that their skills will always remain relevant.
I encourage all infocomm professionals to constantly upgrade and re-skill to meet
the challenges ahead.
Editor
Mr Howard Russon,
Institute of Systems Science (ISS), Singapore
Authors
Ms Wong Ai Luen
Ms Loong Chay Ching, ISS
Ms Tan Lay Ngan, ISS
Ms Tan Wui Gee, ISS
Advisory Panel
Associate Professor Chua Tat Seng,
Chairman, CITPM Board of Assessors
Mr Goh Lin Piao,
Chairman, SCS Certification Resource Panel
Review Panel
Mr Jerry Dimos, PricewaterhouseCoopers
Ms Lau Lai Quen, IBM Singapore Pte Ltd
Ms Low Kim Lian, Infocomm Development Authority of Singapore
Ms Ng Tok Sung, Singapore Computer Systems Ltd