Professional Documents
Culture Documents
ABSTRACT - Developing a software to be marketed as a “software product” involves more developmental aspects than an
application development for one specific customer. Concepts of Integrated Project Management (multiple sub-projects) are
useful in managing the higher complexity involved in product development. Integrated Project Management, as applicable to
a Software Product Development is discussed in this paper. Differences between application development and product
development are highlighted first. Areas that are specific to product development are discussed in brief. How the overall
product development can be organized into sub-projects, how are these sub-projects structured for effective coordination,
and how to manage the interfaces between the sub-projects are addressed in detail. The paper is based on the experience in
the development of SlimCIM XXX Cell Controller (SMCC) product at XXX Singapore Software Center. The author is the
SQE for the project.
1. INTRODUCTION
Software Development has two business scenarios. First one is to develop a software, specific to one customer with a specific
set of requirements (application development). Second scenario is to develop a software which the organization intends to
market, after the product is in shape (product development)*. In the first one, the sole customer pays the entire cost of
development and he dictates the software requirements. Whereas in the second case, the pay back is coming from multiple
users (who will potentially buy the product). There is no specific customer to provide us the requirements. Typically the
products will be deployed in multiple sites and are produced with a general solution in mind.
*It is important
2. WHAT IS MORE to noteIN
thePRODUCT
difference between product development and application development within the context of
DEVELOPMENT
this paper
In contrast to the application development, there are more developmental aspects that need to be taken care in a product
development. From a management point of view, following are the major ones:
1
Because of the multiplicity of users and sites, product maintenance is more complex than that of an application software.
Different sites may be running different versions of the product at the same time.
The above developmental aspects are beyond the scope of our standard Software Development Process (SDP), which spans
from requirements gathering and planning upto the system test and release. Rather, SDP model cannot cater for the
additional needs of a software product development. A new Product Development Process Model is introduced here with an
objective of the overall management of the entire product development. This model, should ultimately help in organizing the
product development into a Master Project with multiple sub-projects, which is the basis of Integrated Project Management.
PRODUCT MANAGEMENT
C PROD FCL
U MARKETING STRATEGY &
S DECISIONS REL PLAN
T
O
M
E ARCHITECTURE
R SUPPORT
S
INTEGRATION & CM
1. Marketing
2. Technical support
3. Product Strategy Description
4. Feature Candidate List and Release planning
5. Architecture development
6. Software development
7. Integration and Configuration Management
2
Figure 1 explains the interfaces and logical flow of the process. While most of these activities are obvious and
straightforward, explanations are appropriate in certain cases. Following sub-sections (3.1-3.7) provide some brief
explanations for the above activities.
3.1 Marketing
These are the proactive steps initiated by the organization to facilitate sales and inform the customers. Marketing group has the
responsibility of identifying the customer requirements both technical and business point of view. These customer requirements
form the input for the Product Strategy Description. Other responsibilities are creation of product descriptions for customer use,
pricing sheets, brochures and other marketing materials.
Typically the architecture team will be a small group of full time senior engineers with extensive domain and engineering
expertise.
3
4.INTEGRATED PROJECT MANAGEMENT
The integrated project Management (IPM) is applicable whenever the project deliverables are produced by multiple,
interdependent groups. Many factors make IPM essential such as
• Functionally distributed teams
• Geographically dispersed teams
• Product size
• Multiple technologies
• Outsourcing
These factors fragment the project community and create the need for integration which directly applies to the software product
development. The greater the need for integration, the more vital it is to use systematic and disciplined project management
principles.
Product development
Sub-Project Sub-Project
Team Team
Proj Product Management Proj
Mgr Mgr
Proj Proj
Mgr Prod Mgr
Proj Mgr Proj
Mgr Mgr
Sub-Project
Sub-Project
Team
Team
Proj
Proj
Mgr
Mgr
Product Manager assisted by the sub-project managers is responsible for Product Management. For each sub-project, the
Sub-Project Manager (SPM) is responsible for the entire show with support from the respective team. This concept is not new,
but the point here is that, this framework has to be clearly defined and organized in order to have a successful product
management. There are many instances where such a structure is “assumed” to be there, but in reality ambiguities exist over
scope, resource and even cost among the teams.
4
• It reduces the overlaps and
• It leaves room for the individual SPMs to function within their boundaries.
Marketing
Support
FCB
Architect
Dev team
Int & CM
Responsible Contributor
Project Interface
Input
supplier output
receiver
Interface management is a systematic approach for managing these inter dependencies. Fig. 5 shows the steps involved in
defining and managing the interfaces in a multiple project system
5
Identify the input requirements
Yes
Resolve & track
The steps are self explanatory. The schedule integration (last step in Fig 5) is the process of combining all sub-project plans into
an overall product plan. Here, all the sub-projects are linked through their respective interfaces. It may be noted that because of
the complexity of the interfaces, the critical path of the whole schedule may flow through many sub-projects. The Product
Manager is responsible for this schedule integration and subsequent monitoring of the progress in terms of the interfaces.
There are various tools available for this type of schedule integration. Manual approach is to define the interfaces as milestones
– both inputs and outputs. For the supplier (sub-project), the interface-output is defined as a deliverable milestone. And for the
receiver (sub-project) this input will be represented as an external dependency milestone. This representation helps the product
manager to track the projects at milestones level ensuring that all interfaces are taken care..
5. SMCC EXPERIENCE
SlimCIM XXX Cell Controller (SMCC) is a software product to monitor the manufacturing process and equipment utilization
via the General Equipment Model (GEM) compliant machine in surface mount technology (SMT) industry. SMCC today is the
standard factory process and equipment monitoring software system for XXX Communication Enterprise factories.
SMCC product started development 3 years back. For the first 2 years, it was run like any application development at
Singapore Software Centre (SSC). By that time the product grew large, there were more customers, there had to be multiple
threads of development, maintenance issues piled up and was further complicated by the uncertainty of the future direction of
the product. It was then the need for a specific approach for product development, different from that of an application
development was realized and a process model as discussed in Section 3 was identified. Looking at the model above, there are
four specific components which adds value to it:
1. The Product Strategy Decision (PSD) which decides the future roadmap of the product
2. The Feature Control Board to finalize the requirements for the software product
3. Independent architecture, common to all development teams, to ensure the integrity of the designs
4. Independent integration and CM team which takes care of integration, configuration management, testing and packaging
Once the multifunctional frame work is in place, the question of interfaces between the groups becomes a problem. There is no
other means to monitor the progress without integrating the schedule and looking closely at the interfaces. That is when the
concept of integrated project management was brought in. We feel that the idea should have been implemented quite earlier.
More specifically, to organize the whole product development into distinct sub-projects and manage the whole development
with an integrated project management approach should be targeted very early in the product development cycle. Otherwise the
rigidity in the functional groups become more harder, resulting in difficulty to form a frame work for smooth product
management.
6
Benefit of this approach is nothing but a systematic means for managing the entire product development. Better predictability of
deliverables in terms of delivery date and cost are obvious results. Implementation difficulties, based on our experience are:
• Proper buy-in from various groups involved
• Lack of proper training for all concerned. Common language or project vocabulary is important in interfacing multiple
projects
• Organizational capability in terms of predictability of deliverables. Uncertainty in one sub-project will affect the other
dependent sub-projects as well
Based on this learning experience, a product development process is being defined at SSC so that future product development
initiatives will follow a systematic approach from the very beginning.
6. CONCLUSION
Integrated Project Management for product development is well accepted in hardware industry. The concept when applied for
software products, has subtle differences in terms of organization of the sub-projects. By careful consideration to those special
nature of software development through a suitable process model, the principles of IPM can be used beneficially for software
product development.
7. REFERENCES
1. XXX Digital Systems Division (CIG) Product Management Process
2. XXX Singapore Software Centre Software Development Process
3. CE-Q Gate System Life Cycle document – Draft-C