SPM Notes
SPM Notes
1.1 Project
Feasibility Study
Planning Phase
The planning phase comes into existence only if the proposed project is a prospective
one. This is found only by the outcome of the feasibility study phase. In case of complex
project, a detailed plan is not needed during the initial stage of planning phase. Instead, an
outline plan is formulated for the whole project except for the first phase, which has a
detailed one. As the project steps into different phases, a detailed plan for each stage can be
developed as they are approached this will provide a clear idea about what should be done at
every stages of the development.
The Project Planning Phase is the second phase in the project life cycle. It involves
creating of a set of plans to help guide your team through the execution and closure phases of
the project. The plans created during this phase will help you to manage time, cost, quality,
change, risk and issues. They will also help you manage staff and external suppliers, to
ensure that you deliver the project on time and within budget.
In the Planning Phase, the team defines the solution in detail what to build, how to
build it, who will build it, and when it will be built. During this phase the team works
through the design process to create the solution architecture and design, writes the
functional specification, and prepares work plans, cost estimates, and schedules for the
various deliverables.
The Planning Phase culminates in the Project Plans Approved Milestone, indicating
that the project team, customer, and key project stakeholders agree on the details of the plans.
Plans prepared by team members for areas such as communications, test, and security, are
rolled up into a master plan that the program manager coordinates. The team's goal during
this phase is to document the solution to a degree that the team can produce and deploy the
solution in a timely and cost-effective manner. These documents are considered living
documents, meaning they will be updated continuously throughout the Planning Phase.
Diligent work in the Planning Phase, which often involves several iterations of plans
and schedules, should mitigate risks and increase chances for success. The team continues to
identify all risks throughout the phase, and it addresses new risks as they emerge.
Project Execution
There are two phases of project execution namely design and implementation. The
boundary between these two phases must be clearly understandable. Design is about thinking
and decision making about the form of the products which has to be created. Implementation
lays down the activities that have to be carried out to create these products. Planning and
design phase are difficult to separate at the most detailed level because planning decisions are
influenced by design decisions. For example, if a software product development has five
components then it must have five sets of activities defined for each component.
Project execution is the process from after the contract is signed to the point where
the technology is ready for operational use. New and modified products must be ready from a
technological and operational point of view before installation and operational use. This is
achieved by carrying out the project planning process followed by the project execution
process. A successful project execution process will make a new or modified product ready
from a technological and operational point of view.
The project planning process will identify technical gaps related to the product itself,
environment, standards, governing documents, verification, handling and documentation.
The technology qualification program (TQP) is a project plan that describes activities and
decision gates for a specific product required to close these gaps.
The project planning process may also identify gaps related to vendor’s organization.
These gaps must be corrected prior to project execution and is not a part of the TQP. A
preliminary TQP will be worked out by the vendor as a part of their tender. The TQP will be
finalized in co-operation with the operator prior to contract award. There will be no need for
the TQP when a product can be delivered off the shelf in accordance with operator’s
technical requirements.
The TQP describes required activities related to 'development and qualification
testing (QT) in the above figure. Technology readiness is achieved when the TQP activities
are executed and accepted.
The manufacturing and factory acceptance testing (FAT) is controlled by the quality
plan. The operational preparations are controlled by the operational manager. Operational
readiness is achieved when the manufacturing and operational preparations are finalized and
accepted.
Vendors have quality assurance (QA) systems to provide quality in all steps of their
services. These QA systems shall be used to establish the TQP and quality plans during the
project planning process. Operators have requirements and recommended practices that shall
be used during the operational preparation process. Still there is need for a practical summary
of the entire project execution process as it will be for new technology. Such summary is
wanted by completion- and drilling engineers responsible for the project planning process
and will be used to control the content of the TQP and quality plan worked out by the
vendors.
This need has resulted in the development of a guideline describing the entire project
execution process. The guideline is fitted to operator needs and has thus emphasis on
qualification activities. The guideline is made for well technology, but the main principles
can be used for most technology elements.
5. Project close
After project tasks are completed and the client has approved the outcome, an evaluation
is necessary to highlight project success and/or learn from project history. Projects and project
management processes vary from industry to industry; however, these are more traditional
elements of a project. The overarching goal is typically to offer a product, change a process or to
solve a problem in order to benefit the organization.
The objectives are met only when the system becomes operational. Performance
measures deals the reliability of the operational system and predictive measures are done
during the development of the project by measuring the effectiveness of the developing
system.
Net Profit
➢ The difference between the total costs and the total income over the life of the project is
calculated as net profit.
➢ Net profits do not involve the timing of the cash flows. When there are many projects, the
net profit of preferable projects is done on selection criteria.
➢ Some projects incomes are returned only towards the end of the project. This is a major
disadvantage which means that the investment must be funded for longer time.
➢ Estimates in distant future are less reliable than the short-term estimates which are more
preferable.
Payback Period
➢ The time taken to break even or pay back the initial investment is the payback period.
➢ The project with the shortest payback period will be taken based on organizations that
wish to minimize the time limit.
➢ The payback period is simple to calculate but sensitive to forecasting errors.
➢ The limitation of the payback period is that it ignores the overall profitability of the
project.
Return on Investment
➢ The accounting rate of return or the return on investment compares the net profitability
to the investment required.
➢ Return on Investment (ROI) is calculated using the given formulae;
X 100
➢ The ROI provides simple, easy to calculate the measure of return on capital.
Eg: The net profit of a project id Rs.30,000 and the total investment if Rs.100,000.
Calculate the ROI if the total period is taken as 3 years.
X 100
= 30,000 x 1 /3 X 100
100,000
= 10%
➢ The limitations of ROI is that it takes no account of the timing of the cash flows and
does not bother about the compound interest.
Risk Ranking
➢ Based on the risk identified, ranking can be established for projects.
➢ Evaluating projects based on the risk project matrix gives a clear picture of how to
rank the different risks that occurs in projects.
➢ Risk ranking involves giving scores to projects based on priorities defined for each
risk in the project.
------ Project 2
Project 3
NPV
Expansion
0.4 -150,000
Expansion
Replace 0.4 300,000
No Expansion 0.9
-70,000
Any decision that is made will have a greater impact on the future profitability of the project.
➢ The analysis of a decision tree consists of evaluating the expected benefit of taking
each path from a decision point.
➢ The expected value of each path is determined by the sum of the value of each
possible outcome multiplied by its probability of occurrence.
➢ The figure illustrates the use of decision tree of when to extend the project or replace
the existing system based on the NPV values defined.
➢ Decision tress are more advantageous because it will give a precise idea of modeling
and analyzing the problems in the project.
Strategic Programmes
➢ Portfolio programme models define a strategic domain process within the organization.
➢ Group of projects can lead to single strategy.
➢ Organizations can be grouped together and every activity associated with each distinct
project can be controlled and coordinated manner as a programme.
Business Cycle Programmes
➢ A project portfolio is a group of projects carried out under the sponsorship or
management of an organization.
➢ Prioritizing projects must be based on decisions made by the project manager to handle
them in different situations.
➢ If one project needs more resources than expected, expenses can be incorporated from
other projects giving preference to the former one.
➢ Importance must be given to individual projects inside the portfolio.
Infrastructure Programmes
➢ Organizations differ in the way they exist. Some of them have distinct departments
while others have integrated systems.
➢ Each department might be unique in handling different information having distinct
databases defined.
➢ A uniform infrastructure will allow sharing of applications between various departments
which would help in the development process.
Creating a Programme
➢ The various phases involved in creating a programme are defined as:
• Creation of programme mandate
• Programme brief
• Vision statement
• Blueprint of programme
• Programme portfolio
Programme brief
➢ A programme brief defines the feasibility study of the programme. It includes:
• Preliminary vision statement highlighting the capacity of the organization.
• Benefits generated from the programme
• Risks and other issues involved
• Estimated cost, effort and time limit for completion
Vision statement
➢ The vision statement describing the sponsoring group with a more detailed planning
process.
➢ To govern the day to day responsibilities a programme manager is appointed from within
the project management team for running the programme.
➢ Programme manager along with the project development team analyzes the vision
statement and formulates a refined plan for implementing the process.
Blueprint of programme
➢ The description of the vision statement and the changes that have been made to the
structure and the operations are represented in the blueprint.
➢ A blueprint must emphasize on:
• Requirement of business models for the new process
• Staff requirement by the organization
• Resources requirements
• Data and information requirements
• Cost, effort, performance and service level requirements
Programme portfolio
➢ Initially, a list of projects are created along with is objectives to create a programme
portfolio.
➢ An outline schedule of the entire development process is presented by the sponsoring
group with all estimation factors.
➢ Groups are identified with similar interest and drawn out as a stakeholder map.
➢ A communication strategy and plan shows the appropriate information flow between
stakeholders.
The preliminary plan produces the project portfolio, estimation of costs, expected
benefits, risks identified and the resources needed
Analyze Project
Characteristics
Estimate Effort
Iterative for
each activity
Review
Activity Risks
Allocate Resources
Review Plan
Execute Plan
Step 0: Selecting Project
➢ This is the initial step which starts well outside the project planning process.
➢ Feasibility study of the project helps in choosing the appropriate one.
➢ Strategic planning process helps in evaluating the metrics of selecting the project.
➢ Different methodologies are inevitable, stemming directly from the questions of
what constitutes a methodology and what are a methodology's underlying
principles.
➢ Projects differ according to size, composition, priorities, and criticality.
➢ The people on a project have different biases based on their experiences,
principles, and fears.
➢ These issues combine so that, what is optimal differs across projects.
➢ Projects are undertaken to produce a product or a service for various reasons.
➢ This includes factors like market share, financial benefits, return on investment,
customer retention and loyalty, and public perceptions.
➢ Organizations might receive several projects at a time. They have to select the
best among the received projects request.
➢ They make decisions based on the best information they have about a particular
project at a given point of time when selecting the project.
➢ Product flow diagram represents the flow of the product being developed.
➢ Product instances must be recognized when a product is related to more than one
product. Design Code
Module 1 Module 1
Design Code
Module 3 Module 3
System requirements
Design module 1
Code module 1
Design module 2
Code module 2
Integrated software
➢ Staff priority list is generated based on the task allotted to them because some staffs
are used for more than one task.
➢ A Gantt chart pictorially represents when activities have to take place and which one
has to be executed at the same time.
➢ The chart represents when staff will be carrying out the tasks in each month. It also
shows staff involved in more than one task.
➢ When allocating resources the constraints associated is estimated and included in the
overall cost.
• Select the appropriate tools : Now that the scope, the goal and the problem are
known, the data set needed for the project review are identified along with the
various activities that will used.
• Identify the participants : The Project Review Leadership Team guides the
Postmortem effort. As a group they determine the focus if the investigation, select
the tools that will be used, review the output from each step, decide who should
participate in each activity, and are responsible for reporting lessons learned and
recommendations for action. The Project Review Team usually consists of the
movers and shakers that drove the project or event. They work together to manage
the Project Review process. The team should consist of folks most intimate with
the project including any of the following representatives:
❖ Project Managers
❖ Product Managers
❖ Development Leads
❖ Quality Leads
❖ Content Experts
❖ Customer Support Leads
❖ Management
• Document the review plan : The project review template can be used so that
everyone responsible for implementation has a copy of the plan.
A Software product development process usually starts when a request for the product is
received from the customer.
• Starting from the inception stage:
o A product undergoes a series of transformations through a few identifiable stages
o Until it is fully developed and released to the customer.
• After release:
o the product is used by the customer and during this time the product needs to be
maintained for fixing bugs and enhancing functionalities. This stage is called
Maintenance stage.
• This set of identifiable stages through which a product transits from inception to
retirement form the life cycle of the product.
• Life cycle model (also called a process model) is a graphical or textual representation
of its life cycle.
The no. of inter related activities to create a final product can be organized in different
ways and we can call these Process Models.
A software process model is a simplified representation of a software process.
Each model represents a process from a specific perspective. These generic models are
abstractions of the process that can be used to explain different approaches to the software
development.
Any software process must include the following four activities:
1. Software specification (or requirements engineering): Define the main functionalities of the
software and the constrains around them.
2. Software design and implementation: The software is to be designed and programmed.
3. Software verification and validation: The software must conforms to it’s specification and
meets the customer needs.
4. Software evolution (software maintenance): The software is being modified to meet
customer and market requirements changes.
The various Process Models are
Water Fall Model
Spiral Model
Prototype Model
Incremental Delivery
Plan-driven process is a process where all the activities are planned first, and the progress is
measured against the plan. While the agile process, planning is incremental and it’s easier to
change the process to reflect requirement changes.
• Requirements
• Design
• Implementation
• Testing
• Maintenance
In principle, the result of each phase is one or more documents that should be approved and the
next phase shouldn’t be started until the previous phase has completely been finished.
In practice, however, these phases overlap and feed information to each other. For example,
during design, problems with requirements can be identified, and during coding, some of the
design problems can be found, etc.
The software process therefore is not a simple linear but involves feedback from one phase to
another. So, documents produced in each phase may then have to be modified to reflect the
changes made.
The spiral model is similar to the incremental model, with more emphasis placed on risk
analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and
Evaluation. A software project repeatedly passes through these phases in iterations (called
Spirals in this model). The baseline spiral, starting in the planning phase, requirements is
gathered and risk is assessed. Each subsequent spiral builds on the baseline spiral. It is one of
the software development models like Waterfall, Agile, V-Model.
Planning Phase: Requirements are gathered during the planning phase. Requirements like
‘BRS’ that is ‘Bussiness Requirement Specifications’ and ‘SRS’ that is ‘System Requirement
specifications’.
Risk Analysis: In the risk analysis phase, a process is undertaken to identify risk and alternate
solutions. A prototype is produced at the end of the risk analysis phase. If any risk is found
during the risk analysis then alternate solutions are suggested and implemented.
Engineering Phase: In this phase software is developed, along with testing at the end of the
phase. Hence in this phase the development and testing is done.
Evaluation phase: This phase allows the customer to evaluate the output of the project to date
before the project continues to the next spiral.
Advantages of Spiral model:
• High amount of risk analysis hence, avoidance of Risk is enhanced.
• Good for large and mission-critical projects.
• Strong approval and documentation control.
• Additional Functionality can be added at a later date.
• Software is produced early in the software life cycle.
Disadvantages of Spiral model:
• Can be a costly model to use.
• Risk analysis requires highly specific expertise.
• Project’s success is highly dependent on the risk analysis phase.
• Doesn’t work well for smaller projects.
2.2.3 Software Prototyping
A prototype is a version of a system or part of the system that’s developed quickly to
check the customer’s requirements or feasibility of some design decisions. So, a prototype is
useful when a customer or developer is not sure of the requirements, or of algorithms, efficiency,
business rules, response time, etc.
In prototyping, the client is involved throughout the development process, which increases
the likelihood of client acceptance of the final implementation. While some prototypes are
developed with the expectation that they will be discarded, it is possible in some cases to evolve
from prototype to working system.
A software prototype can be used:
[1] In the requirements engineering, a prototype can help with the elicitation and validation of
system requirements. It allows the users to experiment with the system, and so, refine the
requirements. They may get new ideas for requirements, and find areas of strength and weakness
in the software. Furthermore, as the prototype is developed, it may reveal errors and in the
requirements. The specification maybe then modified to reflect the changes.
[2] In the system design, a prototype can help to carry out deign experiments to check the
feasibility of a proposed design. For example, a database design may be prototype-d and tested to
check it supports efficient data access for the most common user queries.
The phases of a prototype are:
1. Establish objectives: The objectives of the prototype should be made explicit from the start
of the process. Is it to validate system requirements, or demonstrate feasibility, etc.
2. Define prototype functionality: Decide what are the inputs and the expected output from a
prototype. To reduce the prototyping costs and accelerate the delivery schedule, you may
ignore some functionality, such as response time and memory utilization unless they are
relevant to the objective of the prototype.
3. Develop the prototype: The initial prototype is developed that includes only user interfaces.
4. Evaluate the prototype: Once the users are trained to use the prototype, they then discover
requirements errors. Using the feedback both the specifications and the prototype can be
improved. If changes are introduced, then a repeat of steps 3 and 4 may be needed.
Prototyping is not a standalone, complete development methodology, but rather an
approach to be used in the context of a full methodology (such as incremental, spiral, etc).
Incremental software development is better than a waterfall approach for most business, e-
commerce, and personal systems.
By developing the software incrementally, it is cheaper and easier to make changes in the
software as it is being developed.
Compared to the waterfall model, incremental development has three important benefits:
1. The cost of accommodating changing customer requirements is reduced. The amount of
analysis and documentation that has to be redone is much less than that’s required with
waterfall model.
2. It’s easier to get customer feedback on the work done during development than when the
system is fully developed, tested, and delivered.
3. More rapid delivery of useful software is possible even if all the functionality hasn’t been
included. Customers are able to use and gain value from the software earlier than it’s possible
with the waterfall model.
Disadvantages
It assumes constant involvement of customers
Centered approach rather than design-centered approach
Lack of proper documentation
2.5.2 SCRUM
SCRUM is an Agile methodology that consists of a more complex set of development principles.
SCRUM is one of the frameworks that revolutionized the software development industry. It
became popular because of its fast iterations and active collaboration between teams, customers,
and stakeholders. For the sake of better collaboration, there are predefined team roles:
• Product Owner. The PO is responsible for understanding the business and market
requirements. After this, she/he need to prioritize work, build a product backlog and
make sure that everyone understands the work items.
• Scrum Master. The SM educates the team, the product owner, and the business on
scrum processes. It’s her/his responsibility to manage the workflow of the team and to
schedule all resources needed for the completion of each task.
• Scrum Team. The team usually consists of people with different skills such as
developers, automation engineers, and testers. All team members have to support each
other in order to be successful. Most efficient scrum teams are usually co-located and
with the size of 5 to 8 members.
Feature-Driven Development (FDD)
Centered on the developer, the FDD methodology involves turning models into builds at
fortnightly iterations. In contrast to XP and SCRUM, FDD centers on strict operations that
involve the walkthrough of domains, as well as design, code and inspection.
The model is then built up along with a list of features. For every feature, a development and
design plan is implemented. Following a series of inspections, a unit test is performed to see
whether it’s ready for the build stage.
Crystal Methodology
The Crystal methodology is actually a family of smaller agile methodologies such as Crystal
clear, Crystal yellow, Crystal red and etc. This set of agile methodologies is introduced
by Alistair Cockburn who actually participated in writing the Agile manifesto for software
development. There are 3 main factors that will determine the characteristics of different
projects: team size, system criticality, and project priorities. Projects are categorized depending
on the system criticality as there are four levels of criticality: Comfort (C), Discretionary Money
(D), Essential Money (E), and Life (L).
The maximum number of people that need to be involved in a project depends on the size of the
project. Bigger projects, more people. The number of team roles also depends on the project’s
size. If the project is huge there are many different roles and vice versa. Additionally, these agile
methodologies are focused on:
1. Interaction
2. People
3. Community
4. Skills
5. Communications
6. Talents
2.6 Managing Interactive Processes
• No precise definition
• Difficult to estimate at start of a project
• Only a code measure
• Programmer-dependent
• Does not consider code complexity
o Analogy, where a similar, completed project is identified and its actual effort is
used as the basis of the estimate.
o Parkinson, where the staff effort available to do a project becomes the estimate.
o Price to win, where the estimate is a figure that seems sufficiently low to win a
contract.
o Top-down, where an overall estimate for the whole project is broken down into
the effort required for component tasks.
o Bottom-up, where component tasks are identified and sized and these individual
estimates are aggregated.
2.9 COSMIC full function points
Putnam was the first to study the problem of what should be a proper staffing pattern for
software projects. He extended the classical work of Norden who had earlier investigated the
staffing pattern of general research and development type of projects. In order to appreciate the
staffing pattern desirable for software projects, we must understand both Norden’s and Putnam’s
results.
Norden’s Work
• Nordern studied the staffing patterns of several R&D projects.
• He found the staffing patterns of R&D projects to be very different from the
manufacturing or sales type of work.
• Staffing pattern of R&D types of projects changes dynamically over time for efficient
man power utilization.
• He concluded that staffing pattern for any R&D project can be approximated by the
Rayleigh distribution curve.
Putnam’s Work
➢ Project and its activities must be clearly defined to achieve the target. An activity plan
will contain the following factors:
• A project is basically, composed of number of interrelated activities.
• The initiation of a project happens only if atleast one activity is ready to start.
• An activity is clearly defined with its start and end point that produce good
deliverables.
• Activity requiring resources must be analyzed well in advance and made
available during the execution.
• Some activities would depend on other activities for them to complete.
• A project can attain its completion only when all activities have been
completed.
Activity-based approach
➢ In the activity-based approach, all the activities are listed and created for the project.
➢ This is achieved by a brainstorming session where the entire project team analysis the
various activities needed a0t different stages with the help of similar projects.
➢ This approach usually generates the list of activities using a work breakdown
structure (WBS).
➢ WBS helps in identifying the lowest level of effort i.e. the task required to complete a
project by breaking down into lower sets of tasks.
Project
➢ Task defined at lower level includes everything that is required to complete the task at
the higher level.
➢ The work breakdown structure provides an in-depth knowledge about the lowest level
of activity that has to be completed.
➢ WBS is a refined structure that clearly defines the milestones that has to be achieved
in accomplishing a specific task.
➢ The ordering of sequence of activities can also be done in this approach by defining
those activities that have to be completed for others to start.
➢ In a purely activity-based approach, activities are identified and defined in five
levels:
• Level 1 : Project – goals, objectives defined
• Level 2 : Deliverables – software, manuals, training
• Level 3 : Components – work items, modules, tests
• Level 4 : Work-packages – major work items, related tasks
• Level 5 : Tasks – responsibility of an individual in accomplishing it
Product-based approach
➢ The product-based approach produces a product breakdown structure along with a
product flow diagram.
➢ The approach accepts the products as inputs which is transformed into an ordered list
of activities.
➢ Product Flow Diagram do not leave out any activity from its ordered list and adopts a
methodology which clearly specifies what are the products required and what are the
activities required to produce the product.
Requirement Specification
Hybrid approach
➢ WBS deals with list of final deliverables whereas PBS deals in producing the
products using the product flow diagram.
➢ Hybrid approach combines both the activity-based and product-based approach to
structure both activities and products.
➢ Structuring of product-based or activity-based approach depend on the nature of the
project type.
PROJECT
Deliver the
System
➢ Scheduling is required for every activity that is planned along with the resources and
can be represented using a bar chart.
➢ The chart describes the nature of the development process and the resources available
for completing the specified activities.
Weeks
1 2 3 4 5 6 7 8 9 10 11 12
Person
Requirements
Design Module1
Design Module2
Design Module 3
Code Module1
Code Module2
Code Module 3
Integration
System Acceptance
➢ The chart defines two factors: sequencing of tasks and the schedule of the task.
Scheduling includes the staff availability and the activities allocated to them.
➢ Combining sequencing – scheduling approach is suitable only for smaller projects and
needs to be separated for complex projects as individual process.
➢ In case of larger projects, the logical relationship between the activities are grouped
together and then scheduled for resources.
Sample Data
Precedence Network
• Flow of activities: Activities are always started from the left most one and
precedes in the forward direction. Usually, networks are drawn from left to right.
Arrows can be drawn to show the flow of direction.
• Loop free network: Activity network must not contain any loop and if any loop
exists, it results in error in the network. But certain process can be iterative in the
development and such activities involved in iterative process should not be
visually seen in the network. All network planning applications have the criteria
of finding the loops and generate errors for both small and complex projects.
Preparation of
User manual
Preparation of
User manual
Activity Activity
A B
(+10)
Activity
C
➢ The logical network model represents the inter-relationships between the activities
and is used in estimating the duration of the activity.
➢ Critical Path Method ensures that the planned project must be completed as quickly
as possible. It also governs those activities that have delay in execution which can
affect the overall project schedule.
➢ The critical path method analyses the precedence of activities to predict the total
project duration.
➢ The focus is based on the slack, free float and path float available between the
activities.The method calculates which sequence of activities has the least amount of
schedule flexibility.
➢ CPM analysis starts with a WBS that has singe point estimates for each activity and
uses the precedence diagramming method to relate the precedence in the network.
➢ With the network drawn, two-pass analysis can be performed through the network of
activities and calculate the node quantities for each activity.
Forward Pass
➢ Forward pass is used to calculate the earliest dates on which each activity may be
started and completed.
➢ The steps involved in forward pass are:
• Start at the start node
• Compute the top pair of numbers
• Always add the duration to the connecting node’s earliest finish time.
➢ For example, given the following data,
Activity : 1-2 1-3 2-4 2-5 3-4 4-5
Duration : 8 4 10 2 5 3
The network is drawn below:
8 2 2
1 5
10
4 3
3 4
5
Backward Pass
➢ Backward pass is used to calculate the latest dates at which each activity may be
started and completed without delaying the end date of the project..
➢ The steps involved in backward pass are:
• Start at the end node
• Compute the bottom pair of numbers
• Always subtract the duration from the connecting node’s earliest start time.
➢ Considering the above example and representing network diagram with both the
passes:
The network with the earliest and latest occurrence of events is drawn below:
E=8
L=8
8 2 2 E=21
1 5 L=21
E=0
L=0 10
4 3
3 4
5 E=18
L=18
E=4
L=13
➢ The critical path is a single path that defines the duration of the project.
➢ Activity float is a measure which calculates the difference between the activity’s
earliest start date and the latest start date.
➢ An activity with a float value to be zero is called critical because delay in carrying out
the activity will affect the project completion date.
➢ Free float is the delay time taken by single activities that do not affect other activities
where as interfering float represents how much the activity can be delayed without
affecting the end date.
➢ Atleast one path exists in the network joining the critical activities which forms the
critical path of the network.
➢ Critical path must be established because monitoring critical activities have a greater
impact on the completion of the project and it shortens the overall duration of the
project.
➢ For the same example, the critical path and the activity float is calculated as:
Earliest Latest
Duration Start Finish EF Start LS Finish Activity Float /
Activity
Days ES EF = ES LS = LF LF Total Float
+ tij - tij
8 0 8 0 8 0
1–2
4 0 4 9 13 9
1-3
10 8 18 8 18 0
2-4
2 8 10 19 21 11
2-5
5 4 9 13 18 9
3–4
4-5 3 18 21 18 21 0
The critical path is 1→2 →4 →5 and all the activities in the critical path are termed as
critical activities.
Rules and Conventions
➢ The following rules apply for the activity–on–arrow network. They are
• The project must have only one start node and only one end node.
• The link between nodes represents the duration but the nodes do not have any
duration.
• The nodes are numbered sequentially and the arrows move only from left to
right.
• The activity-on-arrow network should not contain any loop or dangle.
Dummy Activities
➢ When there are two different paths having the common activity then, it can be
represented using dummy activity.
➢ The model below describes a situation where the third node is a common event.
Activity
A Activity
Activity D
C
Activity Activity
B E
A probability impact grid or summary risk profiles are described in a matrix which indicates the
position of risk. The top right of the matrix denotes the tolerance line with serious risks levels.
3.8.3 Risk Planning
➢ Risk planning involves the following factors:
• Risk acceptance: A risk that has already occurred according to he prioritization
process cannot be avoided. Accept the risk that happens and minimizes the
damage and the costs of action.
• Risk avoidance: Some risks that happen regularly can be categorized and
avoided before it occurs.
• Risk reduction: Precautionary measures are taken to reduce the probability of
risk. Risk reduction attempts to reduce the occurrence of risk whereas risk
mitigation ensures that the risk impact is much lesser when actually occurs.
• Risk transfer: Certain complex risks can be transferred to other organizations
where experienced professionals can carry out the possibility of its occurrence.
Description of Risk
Impact
Pre-mitigation
Post-mitigation
History of action
A PERT chart is a project management tool used to schedule, organize, and coordinate
tasks within a project. PERT stands for Program Evaluation Review Technique, a methodology
developed by the U.S. Navy in the 1950s to manage the Polaris submarine missile program.
PERT uses time as a variable which represents the planned resource application along
with performance specification. In this technique, first of all, the project is divided into activities
and events. After that proper sequence is ascertained, and a network is constructed. After that
time needed in each activity is calculated and the critical path (longest path connecting all the
events) is determined.
Expected time: Helps to carry out a forward pass through a network similar to CPM
Activity standard deviation: Used as ranking measure of the degree of uncertainty or risk for
each activity
A 5 6 8 6.17 0.5
B 3 4 5 4.00 0.33
C 2 3 3 2.83 0.17
E 1 3 4 2.83 0.5
F 8 10 15 10.50 1.17
G 2 3 4 3.00 0.33
A Monte Carlo method is a technique that involves using random numbers and
probability to solve problems. This method is often used when the model is complex, non linear
or involves more than just a couple uncertain parameters. A simulation can typically involve
over 10,000 evaluations of the model, a task which in the past was only practical using super
computers. The Monte Carlo method is just one of many methods for analyzing uncertainty
propagation, where the goal is to determine how random variation, lack of knowledge, or error
affects the sensitivity, performance, or reliability of the system that is being modeled.
Monte Carlo simulation is categorized as a sampling method because the inputs are
randomly generated from probability distributions to simulate the process of sampling from an
actual population. So, we try to choose a distribution for the inputs that most closely matches
data we already have, or best represents our current state of knowledge. The data generated
from the simulation can be represented as probability distributions (or histograms) or converted
to error bars, reliability predictions, tolerance zones, and confidence intervals.
The main steps involved in carrying out Monte Carlo Simulation for a project consisting of n
activities are as follows.
Step 1: Express the project completion time in terms of the duration of the n activities (xi, i=1
to n) and their dependences as a precedence graph, d = f(x1, x2, …xn).
Step 2: Generate a set of random inputs, xi1, xi2, ..., xin using specified probability distributions.
Step 3: Evaluate the project completion time expression and store the results in di.
Step 5: Analyze the results di using histograms, summary statistics, confidence intervals, etc.
• Activity Schedule – including the planned start and completion dates for each activity
• Resource Schedule – showing the dates on which each resource will be required and the
level of that requirement
• Cost Schedule – planned cumulative expenditure incurred by the use of resources over
time
• What resources are required along with the expected level of demand
Scheduling Resources
Activities are ordered according to their total float .Those with the smallest float are
assigned the highest priority
Scheduling resources can create new critical paths. Delaying the start of an activity
because of lack of resources will cause that activity become critical if this uses up its float.
Manage the allocation of resources within programmers
The resources of an organization consist of people, materials, equipment, knowledge and
time. Organizations typically have limited resources; therefore, tradeoffs on what project
resources are expended and when are made every day within organizations. A resource allocation
plan is an important tool in effective management of scarce resources. The timing of the need of
those resources can be and should be determined within the project schedules. A resource plan,
which describes the type of resource needed and the timing of that need, is critical to effective
resource management. As the project schedule changes, the resource plan must also be flexible
enough to adjust as these changes occur.
Examples
Allocating resources is fairly self-explanatory. If allocating stone for building a house,
the project manager must ensure that she procures enough stone to complete the project.
Regarding leveling, if renting equipment, the project manager must ensure it will be used
steadily rather than sporadically rented and returned. If contracting carpenters, the project
manager should aim to strive to keep a set number of carpenters working at a set number of
hours for the duration of the project to ensure consistency. Carpenters may have difficulty
scheduling more sporadic hours into their schedule, meaning the firm might then have to contract
more workers, leading to inconsistent results. Meanwhile, materials don't necessarily need to be
leveled as they have been purchased rather than rented or paid by the hour.
Calculating cost is straightforward where organization has standard cost figures for staff
and other resources. Staff costs includes not just salary, but also social security contributions by
the employer, holiday pay etc. Timesheets are often used to record actual hours spent on each
project by an individual. One issue can be how time when a staff member is allocated and
available to the project, but is not actually working on the project, is dealt with. Overheads e.g.
space rental, service charges etc. Some overheads might be directly attributable to the project, in
other cases a percentage of departmental overheads may be allocated to project costs. Usage
charges are some charges can be on a ‘pay as you go’ basis e.g. telephone charges, postage, car
mileage – at the planning stage an estimate of these may have to be made.
In general, costs are categorized as follows.
• Staff Costs
• Overheads
• Usage Charges
Cost profile
This shows how much is going to be spent in each week. This could be important where an
organization allocates project budgets by financial year or quarter and the project straddles more
than one of these financial periods
Accumulative costs
The project manager will also be concerned about planned accumulative costs. This chart
can be compared to the actual accumulative costs when controlling the project to assess whether
the project is likely to meet its cost targets.
UNIT IV - PROJECT MANAGEMENT AND CONTROL
Publish
Initial Plan
Gather
project
Information
Compare Publish
progress vs revised Plan
targets
Take
Satisfactory NO remedial
? action
YES
Project NO
Completed
?
YES
End Project
Review
project
Document
conclusions
End
PROJECT BOARD
PROJECT MANAGER
➢ Collecting information of the project progress at regular instances provides much control
over the project.
➢ However, gathering of partial completion of activities can be used to calculate the
remaining work needed to complete.
➢ Intermediate products that are achieved can specify a milestone in the development of the
project.
Worked Hours
Project Activity Description Hours Percentage Scheduled Estimated
Code this of Completion Completion
week Completion
Weekly Timesheet
➢ Weekly timesheets contain the breakdown activities and holds information about the
scheduled and estimated completion time of individuals and do not contain the project
completion dates.
4.2.2 Reporting Risk
➢ Risk reporting uses a traffic light method concept and consists of the following steps:
• Identify the first level elements for assessment
• Break the first level elements into second level elements
• Assess the second level elements and mark the color as
Green – on target
Amber – not on target but recoverable
Red – not on target and difficult to recover
• Review all the second level elements to reach the first level assessments
• Review both first and the second level assessments to produce an overall
assessment
➢ This method only focuses on non-achievement factors and do not mention about any
delay in the development process.
➢ Assessment forms can be used to evaluate the overall status of the project.
➢ Critical activities denoted by red color must be reconsidered during the revision of
project schedule.
TODAY
Planned Week 15 16 17 18
Work Days M T W T F M T W T F M T W T F M T W T F
Code & Test Module 1
Review Meetings . . .
TODAY
Planned Week 15 16 17 18
Work Days M T W T F M T W T F M T W T F M T W T F
Code & Test Module 1
Review Meetings . . .
Slip Chart
➢ Additional slip lines can be included at regular intervals as they are build p which
provides the project manager a clear idea about the projects progress.
System 30/5/10
22/5/10
10/6/10
31/5/10 Integration
Ball Chart
➢ An activity is denoted by a red circle (colored darker in the figure) when the start and
the end dates are later than the target dates whereas green circle (colored lighter in the
figure) denotes that the activity is ahead of its schedule.
➢ The color to the circles reminds the project team about the status of each activity.
➢ In general, all the three types of chart techniques do not show clearly the slippage in the
project completion date for the project life cycle. This is overcome by timeline charts.
4.3.5 Timeline Charts
➢ Timeline usually records and displays the target changes during the project life cycle.
➢ The chart represents the planned time along the horizontal axis and the actual time along
the vertical axis.
➢ A line down the horizontal axis represents the scheduled activity completion dates and
the slip in the line indicates a delay in the respective activities.
➢ This timeline chart is used to calculate the duration of execution of the project as a part of
post-implementation review.
1
Analyze
existing
system
Issue Tender
2
requirements
Plan offline
Draft tender
Obtain User
4 layout
5
Timeline Chart
Planned Cost
Cumulative Cost
Actual Cost
Time in Weeks
Revised Estimate
Revised Completion Date
Original Completion Date
Original Total
Cumulative Cost
Cost
Time Now
Original
Estimate
Time in Weeks
➢ An assigned value to each task or work package based on original cost forecasts yields
earned value for the project.
➢ The assigned value is the original budgeted cost value and termed as a planned value
(PV) or budgeted cost of work schedule (BCWS).
➢ Earned value (EV) denotes the total value credited to a project at any point. It is also
termed as budgeted cost of work performed (BCWP).
200
Week - Days
150
100
50
0
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Elapsed Days
Baseline Budget Chart
4.5.2 Monitoring Earned Value
➢ The next step in earned value analysis is to monitor the project progress.
➢ Monitoring process indicates the completion of tasks and includes the activity start and
milestone achievement of the project.
➢ The actual cost (AC) is calculated by the actual cost of each task and is also called as
actual cost of work performed (ACWP).
➢ Certain inferences can be obtained from the earned chart such as:
• Schedule variance (SV) : the difference between the earned value and the
planned value indicates the degree of the completed work with the planned.
• Cost variance (CV): the difference between the earned value and the actual cost
of a completed work results in cost variance. A positive CV value indicated that
the project is under control and a negative CV denotes that the actual cost
incurred is much more than the planned one.
➢ The diagram depicts the earned value analysis along with the schedule and cost variance.
100
Baseline
90 Time Now Budget (PV)
80
Actual Cost
70
Budget
Cumulative Cost
Cost
60 Variance Variance
SV (cost)
50
40 Earned Value
30 SV (time)
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Month Number
Earned Value with Variances
➢ Change control implies the authority to approve and rank the changes. It combines the
automated tool with human to provide a mechanism for control of change.
➢ Any changes or alteration done to a single document often implies changes to other
documents as well.
➢ Change request is evaluated to assess the technical aspect of configuration items and the
budget.
4.7.1 Role of Chang Control Manager
➢ The responsibilities of change control manager or the configuration librarian are:
• Identification of configuration items that are subjected to change control.
• All project documentation and software products must be maintained in the
central repository.
• A formal set of procedures have to be setup to have control over changes.
• Maintenance of library items in the repository
If user accepts, copies of master are chosen User do not accept the change
After baseline changes the state of the software is defined by the most recent baseline
and the changes that were made. Some of the common baselines are functional or requirements
baseline, design baseline, and product or system baseline. Functional or requirement baseline is
generally the requirements document that specifies the functional requirements for the software.
Design baseline consists of the different components in the software and their designs. Product
or system baseline represents the developed system.
It should be clear that a baseline is established only after the product is relatively stable.
Though the goal of SCM is to control the establishment and changes to these baselines, treating
each baseline as a single unit for the purpose of change is undesirable, as the change may be
limited to a very small portion of the baseline.
Configuration control
Most of the decisions regarding the change are generally taken by the configuration
control board (CCB), which is a group of people responsible for configuration management,
headed by the configuration manager. For smaller projects, the CCB might consist of just one
person. A change is initiated by a change request.
The reason for change can be anything. However, the most common reasons are requirement
changes, changes due to bugs, platform changes, and enhancement changes. The CR for change
generally consists of three parts. The first part describes the change, reason for change, the SCIs
that are affected, the priority of the change, etc.
The second part, filled by the CM, describes the decision taken by the CCB on this CR,
the action the CM feels need to be done to implement this change and any other comments the
CM may have. The third part is filled by the implementer, which later implements the change.
Status accounting and auditing
For status accounting, the main source of information is the CRs and FRs themselves.
Generally, a field in the CR/FR is added that specifies its current status. The status could be
active, complete, or not scheduled. Information about dates and efforts can also be added to the
CR, the information from the CRs/FRs can be used to prepare a summary, which can be used
by the project manager and the CCB to track all the changes.
4.9 Managing Contracts
4.9.1 Introduction
➢ The acquisition and supply process are depicted for pre-contract and post-contract as
follows:
➢ The success of a contract requires considerable amount of time management.
➢ An ISO 12207 standard defined for acquisition and supply of software defines five major
processes namely,
• Acquisition
• Supply
• Operation
• Maintenance
• Development
ACQUIRER SUPPLIER
Initiation
Pre - contract
Request for Initiation
proposal
Preparation of
Contract
Response
Preparation
Contract
Post - contract
Planning
Supplier Execution
Monitoring
➢ Contract management studies and monitors the conversation between the supplier and the
customer while the contracted work is being carried out.
➢ Customer can make changes to the future direction of the project and make decisions.
➢ The entire project will require representative of the supplier and the customer to interact
with each other at different points in the development process.
➢ Activities involved in contract management include:
• Identifying customer approval;
• Negotiating successfully;
• Project deliverables;
• Managing change;
• Decision making;
• Legal obligations;
• Business laws.
Accepting the Contract
➢ Customer has to undergo acceptance testing towards the end of the process.
➢ Every contract would have defined a time limit for the acceptance testing and the result has
to be produced before the time expires.
➢ Certain software suppliers are concerned with pre-acceptance testing where the user tests
the system than the developer.
➢ The supplier will not like to retain their staff to a specific project after its completion.
➢ Customer finds that the modifications needed by them are handled only by the junior level
staffs that are not aware of the delivered product.
➢ All the payment to the supplier solely depends on the acceptance testing.
➢ Every bug that is raised must be fixed within the period of warranty.
UNIT V – STAFFING IN SOFTWARE PROJECTS
Understanding Behavior
➢ Handling of projects with practical experience becomes a vital role in the aspect of
project management.
➢ The managers must be able to decide on whether it is better to have experienced staff or
get an expert advice.
➢ There are numerous theories defined to explain people’s behavior.
➢ The theories are structures based on “If A is the situation then B is likely to be the
solution”.
➢ Other than the structures, there a wide range of influences on a situation which are
invisible to the users which makes it difficult to decide on the solution.
5.4 Motivation
Motivation Theories
There are various theories formulated by different persons for motivating the
people to work. They are,
• Taylorist Model
• Maslow’s Hierarchy of Needs
• Herzberg’s Two-Factor Theory
• Expectancy Theory of Motivation.
1. Physiological Needs: These are the basic needs for sustaining human life itself, such as
food, water, warmth, shelter, and sleep. Maslow felt that until these needs are satisfied to
the degree necessary to maintain life, other needs will not motivate people.
2. Security or Safety Needs: These are the needs to be free of physical danger and of the
fear of losing a job property, food, or shelter.
3. Affiliation or Social Needs: Since people are social beings; they need to belong, to be
accepted by others. It includes friendship, the need to love and be loved, socializing, etc.
4. Esteem Needs: Once people begin to satisfy their need to belong; they tend to want to
be held in esteem both by themselves and by others. This kind of need produces such
satisfactions as respect, power, prestige, status, and self-confidence.
5. Self-actualization Needs: This is the highest need in the hierarchy. It is the desire to
become what one is capable of becoming—to fully realizes one's potential and to
accomplish what one is capable of achieving.
➢ Oldman and Hackman coined a rule that managers should group together the
elements of tasks that is carried out must be meaningful and satisfying assignments.
➢ The satisfaction of any job will depend on the following factors:
• Skill variety
• Task identity
• Task significance
• Autonomy
• Feedback
➢ Factors that make the job meaningful to the person who is doing it are skill variety,
task identity and task significance.
➢ Skill variety is the number of different skills that the job holder has the opportunity
to exercise.
➢ Task identity is the degree to which the person’s work and its results are identifiable
as belonging to the person.
➢ Task significance is the degree to which the job has an influence on others.
➢ The autonomy factor is the discretion about the way the person works.
➢ Feedback is the information the person receives back about the results of his/her
work.
➢ Personal growth needs and their working environment also influence the perception
of the job.
➢ In general, activities of the developing product should be designed in such a manner
that the person must feel personally associated with it.
5.5.2 Methods to Improve Motivation
➢ Managers must involve the following measures to enhance the job design: .
• Job enlargement
• Job enrichment
➢ Job enlargement is exactly reverse of specialization where the person doing the job
carries out a wider variety of activities.
➢ Say for example, a software developer associated with maintenance group might be
given additional responsibility for specifying minor changes in other phases.
➢ Job enrichment is where the job holder carried out tasks at managerial and
supervisory level.
➢ Say for example, programmers in maintenance group might be given authority to
accept requests for changes for a very small period (five days) without getting
manger’s approval.
Ethics relates to the moral obligation to respect the rights and interests of others – goes beyond
strictly legal responsibilities.
Three groups of responsibilities:
Social Responsibility
Small companies also have an obligation to protect the community. For
example, the owner of a small chemical company needs to communicate certain dangers
to the community when explosions or other disasters occur. The owner must also
maintain certain safety standards for protecting nearby residents from leaks that affect
the water or air quality. There are state and federal laws that protect people from
unethical environmental practices. Business owners who violate these laws may face
stiff penalties. They may also be shut down.
Financial Ethics
Business owners must run clean operations with respect to finances, investing
and expanding their companies. For example, organizations must not bribe state
legislators for tax credits or special privileges. Insider trading is also prohibited. Insider
trading is when managers or executives illegally apprise investors or outside parties of
privileged information affecting publicly traded stocks, according to the Securities and
Exchange Commission. The information helps some investors achieve greater returns on
their investments at the expense of others. Executives in small companies must strive to
help all shareholders earn better returns on their money. They must also avoid collusive
arrangements with other companies to deliberately harm other competitors.
Considerations
A small company's organizational ethics can also include taking care of
employees with mental illnesses or substance abuse problems, such as drug and alcohol
dependency. Ethical business owners help their employees overcome these types of
problems when possible. They often put them through employee advisor programs,
which involves getting them the treatment they need. Employees may have issues that
lead to these types of problems. Therefore, they deserve a chance to explain their
situations and get the help they need.
Professional ethics
Professionals have knowledge about the technical domain that the general public
does not. Ethical duty of the expert to warn lay people of the risks involved in a particular
course of action. Many professions, or would be professions, have codes of conduct for
their members
➢ Not all people involved in the development process like to work in groups.
➢ But major software projects always have to work in groups and many people do not
like to work in groups.
➢ Any organization involved in the development process will have various departments
reflecting its structure.
➢ Formal groups can be formulated based on the different departments and task groups
can be formed based on specific tasks carried.
➢ Task group can contain different people from different departments to work together
to carry out a specific task.
➢ Every task group formed for specific activities to be carried out are dissolved once the
task is completely achieved.
➢ Making people work together is the most difficult task that the project manager has to
carefully handle.
➢ A team cannot perform instantly; it has to develop over time.
➢ Every team has to go through five different stages of development as depicted in the
Team Formation Model namely,
• Forming
• Storming
• Norming
• Performing
• Adjourning
➢ Forming : basic ground rules and general behavior are set up to try and get to know
each other in the team.
➢ Storming: grouping methods of operation have to establish as there is a chance of
conflicts arising due to leadership.
➢ Norming: a group identity emerges as the conflicts are largely settled.
➢ Performing: how the tasks are handled by the team.
➢ Adjourning: disbanding of the group.
5.7.3 Individual Characteristics
➢ Any project team must be formed with the best mix of different personalities.
➢ Belbin formulated the need of balanced teams based on individual characteristics of
people.
• Chair: these people must be good at conducting meetings, must be calm,
strong and tolerant. Need not be excellent leaders.
• Plant: these people must be good at generating ideas and giving potential
solution to problems.
• Monitor-Evaluator: they must be good evaluators and best in selecting the
most feasible solution.
• Shaper: helps in directing the team’s attention to important issues.
• Team worker: must be efficient in creating a good working environment.
• Resource investigator: helps in finding resources in terms of both physical
resources and information.
• Complete-finisher: people who are concerned with completing the tasks.
• Company-worker: must be good team player willing to undertake less
attractive work for team’s success.
➢ To be a good team member, the person must be flexible, restrained, timely and
keeping the common goals of the team in mind all the time.
➢ There is a strong question raised often: “Are groups more effective than
individuals working alone?”.
➢ It is the responsibility of the project manager to distinguish the tasks which are
supposed to be carried out together and those tasks to be carried out by individuals.
➢ Some works yield better results when worked together as a team, while some others
are slowed down because of the work be compartmentalized based on individuals.
➢ There are four different ways of categorizing group tasks. They are:
• Additive Tasks: in this the effort of every person are added to reach the final
result. People involved in additive tasks are interchangeable.
• Compensatory Tasks: here, the judgements of individual group members are
taken and the results are then averaged. These result in effective group work
rather than the efforts of individuals.
• Disjunctive Tasks: these tasks have only one correct solution to the task.
Here, if someone comes with a solution and everybody in the team accepts it.
• Conjunctive Tasks: here, the progress is governed by the rate of the slowest
performer where until each and every person completes their own tasks, the
overall tasks do not attain its completion. In this case, a cooperative attitude of
the team becomes productive.
➢ A major problem can arise with additive tasks that lead to social loafing.
➢ Social loafing is a problem where some individuals do not make their proper
contribution when carrying out group assignments.
➢ To make group decision making process to be more effective and efficient the Delphi
Technique can be adopted.
➢ Delphi technique endeavourers to collate the judgements of a number of experts
without actually bringing them face to face.
➢ The set of procedures is carried out as follows:
• Cooperation of a number of experts is enlisted.
• Problem is presented to the experts.
• Experts record their recommendations.
• Recommendations are collated and are reproduced.
• Collected responses are recirculated.
• Experts comment on the ideas of others and modify their
recommendations.
• If the leader finds any discrepancy, the process is stopped, otherwise it is
recirculated to the experts.
➢ This method can be adopted to geographically dispersed experts but the process
becomes time consuming.
Chief programmer,
Democratic, and
The mixed control team organizations
➢ If the number of groups is larger, then the work will be slower because of increased
communication. So large projects must be formalized and must be represented in an
centralized structure.
➢ One way to avoid this, to reduce the number of people and giving them more support to
make the work done which led to the formulation of chief programmer team.
➢ The chief programmer defines the specification, design, code, tests and documents the
entire software.
➢ The chief programmer can have a co-pilot who can assist in writing some code and
discussions.
➢ An editor can be used to write up the documentation drafted by the chief programmer,
along with a program clerk who maintains the actual code and a tester who validates
the code.
➢ The disadvantage of chief programmer teams is that the chief programmer is overloaded
with lots of information and cannot manage at some point of time.
➢ Extreme programming concept can overcome this disadvantage where the software is
developed by pairs of developers with a chief programmer / co-pilot relationship.
Chief programmer
Team Members
In this team organization, a senior engineer provides the technical leadership and
is designated as the chief programmer.
The chief programmer partitions the task into small activities and assigns them to
the team members.
He also verifies and integrates the products developed by different team
members.
Advantages
The chief programmer provides an authority, and this structure is arguably more
efficient than the democratic team for well-understood problems.
However, the chief programmer team leads to lower team morale, since team-
members work under the constant supervision of the chief programmer.
This also inhibits collective and their original thinking.
The chief programmer team is subject to single point failure since too much
responsibility and authority is assigned to the chief programmer.
Since the chief programmer carries out many tasks individually, there is a danger
of information overload on the chief programmer
The democratic team structure, as the name implies, does not enforce any formal
team hierarchy. Decisions are taken based on discussions, where any member is free to discuss
with any other matters. Typically, a manager provides the administrative leadership. At
different times, different members of the group provide technical leadership.
Advantages:
Disadvantages:
The mixed team organization, as the name implies, draws upon the ideas from
both the democratic organization and the chief-programmer organization. This
team organization incorporates both hierarchical reporting and democratic set up.
The democratic connections are shown as dashed lines and the reporting structure
is shown using solid arrows.
The mixed control team organization is suitable for large team sizes.
The democratic arrangement at the senior engineer’s level is used to decompose
the problem into small parts. Each democratic setup at the programmer level
attempts solution to a single part. Thus, this team organization is eminently
suited to handle large and complex programs.
This team structure is extremely popular and is being used in many software
development companies.
A major influence on the nature of communication genres is the constraints of time and
place. Modes of communication can be categorized as combinations of two opposite: Same
time/Different time and Same Place/Different Place.
o Is it easy to understand? Is the context well known to both the sender and the
recipient?
Face-to-face contacts
Team members need to build up their trust and confidence in their co-
workers
Decision making
Intermediate stages (design) – teleconferencing
The result of the communication process could be documented in a table with the following
column headings.
5.13 Leadership
➢ Leadership means the ability to influence others in a group to act in a particular way
to achieve group goals.
➢ A leader need not be a very good manager or vice-versa since managers have
different roles such s organizing, planning and controlling.
➢ It is very difficult to list the common characteristics of good leaders.
➢ But every leader have a greater need for power and achievement and must have more
self-control and self-confidence than others.
➢ Leadership is generally based on the idea of authority or power.
5.13.1 Positional Leadership Power
➢ Power can take the form based on the position of the person. Positional power can be
analyzed as:
• Coercive power: ability to force someone to do something by threatening
punishment.
• Connection power: based on having access to those who have power.
• Legitimate power: based on person’s title giving a special status.
• Reward power: here the holder gives rewards to those who carry out tasks to
the satisfaction of their leader.
5.13.2 Personal Leadership Power
➢ Personal power depicts the person’s individual qualities. Personal power can be
analyzed as:
• Expert power: person who is capable of doing specialized tasks.
• Information power: here, the holder has exclusive access to information.
• Referent power: based on the personal attractiveness of the leader.
5.13.3 Leadership Styles
➢ In order to make best use of the expertise and commitment of the people involved the
leaders must be an authoritative but at the same time more flexible and tolerant.
➢ Sometimes, the leaders must be democratic as well, to have a very disciplined
execution of the plan.
➢ Leadership styles can be classified as:
• Directive vs. permissive
• Autocratic vs. democratic.
➢ Directive autocrat makes decisions alone and will be person very closely associated
with the implementation.
➢ Permissive autocrat also makes decisions alone, but subordinates have latitude in
implementation.
➢ Directive democrat makes decisions participative and will be a person very closely
associated with the implementation.
➢ Permissive democrat also makes decisions participative, but subordinates have
latitude in implementation.
➢ The emphasis is that there are no one best style of leadership which has to be chosen
by the management but it truly depends on the situation.