Chapter 6: Software Project Management,
Hardware & Software Selection
Silas Gebretsadik
MU-MIT
E-mail:
[email protected]Managing and Controlling the project
The science (or art) of project management is in making trade-offs among three important concepts:
1) The size of the system (in terms of what it does)
2) The time to complete the project (when the project will be finished)
3) The cost of the project
Think of these three things as interdependent components that the project manager controls throughout the
SDLC.
Whenever one component is pulled, the other two components are affected in some way. For example, if a
project manager needs to readjust a dead-line to an earlier date, then the only solution is to decrease the size
of the system or to increase costs by adding more people or having team members work overtime.
Often, a project manager will have to work with the project sponsor to change the goals of the project, such as
developing a system with less functionality or extending the deadline for the final system, so that the project
has reasonable goals that can be met.
Managing and Controlling the project…
Once the project begins, the project manager monitors the progress of the team on
the project tasks. As the project team members make periodic status reports, the
project manager updates the project work plan. The Gantt chart and PERT chart are
valuable tools for the project manager to use to evaluate project progress and, if
necessary, redirect resources. As the project proceeds, it may be necessary for the
project manager to revise the original estimates made for the project. In addition, the
manager must be on the watch for increases in project scope, which can make
completing the project on time and under budget very difficult. Finally, the project
manager should constantly assess the risk profile of the project and take steps to
manage those risks.
Tools for project manager
A Gantt chart is a horizontal bar chart that shows the same task
information as the project work plan, but in a graphical way. Sometimes
a picture really is worth a thousand words, and the Gantt chart can
communicate the high-level status of a project much faster and easier
than the work plan. Creating a Gantt chart is simple and can be done
with a spreadsheet package, graphics software (e.g., Microsoft VISIO),
or a project management package.
PERT Chart: A second graphical way to look at the project work plan
information is the PERT chart, which displays the project tasks in a
flowchart.
Refining Estimates
The estimates that are produced during the planning phase will need to be refined as the project
progresses. This does not necessarily mean that estimates were poorly done at the start of the project;
it is virtually impossible to develop an exact assessment of the projects schedule before the analysis
and design phases are conducted. A project manager should expect to be satisfied with broad ranges
of estimates that become more and more specific as the projects product becomes better defined. In
the planning phase, when a system is first requested, the project sponsor and project manager attempt
to predict how long the SDLC will take, how much it will cost, and what the system will ultimately
do when it is delivered (i.e., its functionality). However, the estimates are based on very little
knowledge of the system. As the project moves into the analysis phase, more information is gathered,
the system concept is developed, and the estimates become even more accurate and precise. As the
system moves closer to completion, the accuracy and precision increase until the final system is
delivered.
Managing Scope
You may assume that your project will be safe from scheduling problems because
you carefully estimated and planned your project up front. However, the most
common reason for schedule and cost over runs occurs after the project is under way
scope creep. Scope creep happens when new requirements are added to the project
after the original project scope was defined and ”frozen.” It can happen for many
reasons: Users may suddenly understand the potential of the new system and realize
new functionality that would be useful; developers may discover interesting
capabilities to which they become very attached; a senior manager may decide to let
this system support a new strategy that was developed at a recent board meeting.
Managing Risk
One final facet of project management is risk management, the process of assessing and addressing
the risks that are associated with developing a project. Many things can cause risks: weak personnel,
scope creep, poor design, and overly optimistic estimates. The project team must be aware of
potential risks so that problems can be avoided or controlled well ahead of time. Typically, project
teams create a risk assessment, or a document that tracks potential risks along with an evaluation of
the likelihood of the risk and its potential impact on the project. There are many options: A risk could
be publicized, avoided, or even eliminated by dealing with its root cause. For example, imagine that a
project team plans to use new technology, but its members have identified a risk in the fact that its
members do not have the right technical skills. They believe that tasks may take much longer to
perform because of a high learning curve. One plan of attack could be to eliminate the root cause of
the risk the lack of technical experience by team members by finding time and resources that are
needed to provide proper training to the team.
Managing Risk…
RISK ASSESSMENT
RISK#1: The development of this system likely will be slowed considerably because project team members
have not programmed in Java prior to this project
Likelihood of risk: High probability of risk
Potential impact on the project: This risk likely will increase the time to complete programming tasks by 50%.
Ways to address this risk:
It is very important that time and resources are allocated to up front training in Java for the programmers who
are used for this project. Adequate training will reduce the initial learning curve for Java when programming
begins. Additionally, outside Java expertise should be brought in for at least some part of the early programming
tasks. This person should be used to provide experiential knowledge to the project team so that Java related
issues are overcome.
The risk management process
Risk identification
Identify project, product and business risks;
Risk analysis
Assess the likelihood and consequences of these risks;
Risk planning
Draw up plans to avoid or minimize the effects of the risk;
Risk monitoring
Monitor the risks throughout the project;
Risk identification
Technology risks.
People risks.
Organizational risks.
Requirements risks.
Estimation risks.
The risk management process…
Risk identification
The risk management process…
Risk Analysis
Assess probability and seriousness of each risk.
Probability may be very low, low, moderate, high or very high.
Risk effects might be catastrophic, serious, tolerable or insignificant.
The risk management process…
Risk Analysis
The risk management process…
Risk planning
Consider each risk and develop a strategy to manage that risk.
Avoidance strategies
The probability that the risk will arise is reduced;
Minimization strategies
The impact of the risk on the project or product will be reduced;
Contingency plans
If the risk arises, contingency plans are plans to deal with that risk;
The risk management process…
Risk planning…
The risk management process…
Risk monitoring
Assess each identified risks regularly to decide whether or not it is becoming less or more probable.
Also assess whether the effects of the risk have changed.
Each key risk should be discussed at management progress meetings.
Risk indicators
Procedure for Hardware and Software selection
Requirement analysis: System configuration requirements are clearly identified and a decision to acquire the system is
taken in this step.
Preparation of tender specifications: - After studying the feasibility and deciding upon the configuration, tender documents
are prepared for the benefit of vendors to clarify the details of various specifications, as follows:
Purchase procedure and schedule: it includes
Date of tender submission
Evaluation criteria
Scope for negotiations, if any
Expected usage environment and load pattern
Equipment specification
Detailed technical specifications of each item required for both mandatory and optional items.
Procedure for Hardware and Software selection…
Proposed terms of contract
Expected delivery schedule.
Uptime warranties required
Penalty clause, if any
Payment terms (Whether advance payment acceptable)
Arbitrary clauses
Training needs.
Post warranty maintenance terms expected.
Any additional information required.
Inviting tenders: - After the preparation of tender specifications, tenders are invited. Invitation of tenders may depend upon the magnitude of
purchase (estimate equipment cost). It may be through
Open tender (through newspaper advertisement)
Limited tender (queries sent to a few selected vendors)
Propriety purchase (applies mostly to upgrade requirements)
Direct purchase from market. (applies mostly to consumables)
Procedure for Hardware and Software selection…
Technical study and short listing: -This step involves the following activities.
All tendered bids are opened on a pre-defined date and time.
Deviations from the specifications, if any, in each bid are noted.
A comparative summary is prepared against the list of tendered technical features.
Additional factors to considered are:
Financial health of the vendor (from balance sheets)
Nature and extent of support (from information provided on number of support
staff per installed site an cross-check with selected customers)
Engineering quality pf products (factory inspection of product facilities, QA
procedures and R&D)
Procedure for Hardware and Software selection…
Detailed evaluation of short listed vendors: - This step primarily involves getting
any finer technical clarifications. Visits to customer sites and factory inspections
may be planned. If any specific performance requirement is stipulated, the offered
product is to be examined at this stage through suitable benchmark tests. For
benchmark tests, standard benchmarks may be used as adequate performance
indicators.
Negotiation and procurement decision: - Because of the extensive competition,
computer system vendors may offer significant concessions. Negotiations are held
to maximize these concessions. However, price negotiations are often not
permitted by some organizations. When price negotiations are permitted, the
committee members should have a good knowledge of the prevailing market
prices, current trends, and also the duty/tax structure.
Procedure for Hardware and Software selection…
Delivery and installation: - In this step, the vendor delivers the
hardware/software to the buyers organization, where it is matched with
the specifications mentioned in the purchase order. If conforms to
these specifications, the vendor installs the system in the premises of
the organization.
Post-installation review: - After the system is installed, a system
evaluation is made to determine how closely the new system conforms
to the plan. A post installation review, in which system specifications
and user requirements are audited, is made. The feedback obtained in
this step helps in taking corrective decision.
The End!!!
•Thanks for your attention
•If you have any question?