 |
Project Leader
 |
Manages the project cost, schedule, personnel |
 |
I strongly recommend that a project have only one person that
has ultimate authority, responsibility, and accountability for a
project, and use committees only as advisors. |
|
 |
Systems Analyst
 |
Designs and develops an information system. |
 |
Liaison between users and programmers. |
 |
Converts user requests into technical specifications. |
 |
While not necessarily a programmer, a systems analyst is often
an experienced programmer. |
|
 |
Programmer: Writes programs to implement a system according to
design specifications. |
 |
Steering Committee: Decision making body,
such as a board of directors, used when decision by consensus
is needed.
 |
Widens the range of issues considered. |
 |
Dilutes responsibility. |
|
 |
|
Leader Makes Decision |
Use Committee or Consult Others |
Use When |
 |
The issue is trivial |
 |
Personnel issues |
 |
You are unwilling to negotiate or compromise |
 |
Speed is more important that commitment from others |
|
 |
You need commits from others |
 |
You lack the expertise |
 |
*
You lack authority over all the players |
|
Advantages |
 |
*
Best decision when leader is the most competent person
available |
 |
Faster
decisions |
 |
*
When information security is essential and
trustworthiness of players is questionable |
|
 |
Broader perspective |
 |
Draw on others experience and ideas |
 |
Get commitments from members |
|
Disadvantages |
 |
*
Human relations aspects can scuttle your effectiveness
if your authority is limited and the decision in
unpopular |
|
 |
Increasing committee size slows decision making |
|
Larry Richman, PhD,
PMP, "Making Team Decisions Wisely",
IEEE Today's Engineer (November 2002) http://www.todaysengineer.org/Nov02/decisions.htm,
06 December 2002 [except as noted with *]. |
|
 |
Requirements
The Leader |
The Team |
 |
Leader must set the agenda |
 |
Must be willing to negotiate |
 |
Leader must be able to control the team |
 |
Leader must be able to handle those who are
alienated. Not everyone will get their way. |
 |
Leader must separate helpful from unhelpful members. |
|
 |
All team members must actively participate |
 |
Each team member must listen with respect |
 |
Each team member must express their point of view |
 |
The team must focus on what is best for the organization |
 |
The team makes the final decisions |
 |
The team must agree on follow-up, assignments, and
evaluation |
|
Larry Richman, PhD,
PMP, "Making Team Decisions Wisely",
IEEE Today's Engineer (November 2002) http://www.todaysengineer.org/Nov02/decisions.htm,
06 December 2002 [except as noted with *].
|
|
 |
Balance the effort and cost of management to the value of the
project and decisions to be made. The role of management
is to
 |
Focus attention to mission related goals |
 |
Increase effectiveness |
 |
Reduce risk, cost, and time to acceptable completion |
|
 |
Plan, schedule, control
 |
Scope:
 |
goals, objectives, expectations |
 |
Activities to be completed |
|
 |
Schedule
 |
Time estimates for each activity |
 |
Order in which activities may occur |
 |
Identify concurrent activities |
|
 |
Cost estimates for each activity |
|
 |
Project Plan and Management Tools and Methods
 |
Quantitative methods: Decision Theory, Bayesian Statistics, Utility Curves,
Decision Tables |
 |
Gantt Chart (time versus activity) [Named
after Henry L. Gantt.]
 |
The Gantt Chart allows a manager to quickly determine
what events in a project are occurring at a specific
point in time. |
 |
The Gantt Chart is
good for managing projects having
concurrent activities. |
 |
Good
for detecting unplanned project growth, called scope creep
by the text. |
 |
Chart
from QuickDraw template. [Do not publish this commercially
without permission of QuickDraw.]

|
|
 |
Microsoft
Project
 |
A
good collection of project management software. |
 |
Used
successfully by the US government for major project
management. |
 |
Includes
the following displays that take data from a common
database:
Calendar, Gantt Table, Gantt Chart, Pert Chart, Project
Resource Table, Project Resource Graph, Project Resource
Usage, Project Task Usage Chart, Project Task Usage Composite |
|
 |
Critical Path Analysis / Critical Path Method (CPM) /
Critical Path Chart
 |
The number above each box refers to the amount of a
critical resource used (usually time). |
 |
All events in the Critical Path Chart must be
completed before the project is considered complete. |
 |
The Critical Path is the path that uses the most
resources (like time). |
 |
If an event along the critical path consumes more than
the scheduled amount of resources, the whole delivery
date of the project is delayed. |
 |
The Critical Path Chart helps a project manager focus
attention and resources on the path that consumes the
largest amount of resources to complete a project. |
|
 |
PERT Chart |
|
 |
Deliverable: any tangible item: software, hardware, reports,
documentation, etc |
 |
Methods: Directive versus Participative. Buzz word management
fads cycle.
 |
Directive
 |
Best for radical changes, innovation, revolution |
 |
High risk, high pay-off |
 |
Unsaturated market, best idea wins (cell phones,
portable computing) |
 |
Best leadership wins |
|
 |
Participative
 |
Best for incremental improvement, evolution |
 |
Efficiency, economy, safety |
 |
Saturated market (TV, automobiles, telephones, washing
machines) |
 |
Best business management wins |
|
 |
Management By Objectives
 |
Top-Down approach |
 |
Project progress and personnel performance are
measured against project objectives. |
|
 |
Management By Exception
 |
Decision making at the lowest competent level. |
 |
Good manager only makes decisions when necessary, and
does not do job of subordinates. |
|
 |
Management By Walking Around
 |
People-oriented approach |
 |
Situation awareness |
 |
Leadership by presence |
|
 |
Zero Defects (ZD) (Army Nike-Redstone project approach of 1960s)
 |
Quantitative measurement |
|
 |
Total Quality Management (TQM), Total Quality Manufacturing,
Total Quality Leadership (TQL): 14 points to Project
Correctness (PC)
 |
Appropriate in manufacturing operations, Industrial
Engineering |
 |
Malcomb Baldridge Award: The Golden Hammer [This is
considered a very prestigious achievement.], ISO 9000 |
 |
Bottom-Up approach |
 |
Quantitative measurement, minimize variance |
 |
Demming buzz words and magic 10 points or 14 points. |
 |
Based on statistical discipline of Design of
Experiments. |
|
 |
Tough Positive Management (TPM) |
|
 |
The bane of all technical people, geeks, and nerds. |
 |
Programmers need a very easy method for recording thoughts during
program development. |
 |
Need a good bureaucrat in charge of logistic support planning and
management. |
 |
Documentation used for project planning and development is not
identical with documentation needed for life cycle support.
Neophyte project managers often confuse these. |
 |
For large, sophisticated systems with long life expectancy, it may
be good to have a separate group do documentation.
 |
Creative programmers often dislike (in the extreme) detailed
program documentation. |
 |
Development programmers may be too close to the problem to
anticipate documentation a person new to the project will need
to learn, use, maintain, and modify the program. |
|
 |
Large systems must be documented throughout the development
cycle. Personnel changes occur. You need new people to learn
quickly. You cannot have a project held hostage by a
disgruntled employee that has key knowledge only in the head. |
 |
Operational feasibility
 |
Will the system meet real needs? |
 |
Will it get used?
 |
Human factors issues. Is the system for purpose of
evolution or revolution? Whose jobs are threatened? Who
cares? Who has the power to direct change? Who has the
resources to finance and implement change? |
|
|
 |
Schedule feasibility
 |
Are deadlines reasonable?
 |
External versus internal deadlines. |
 |
Real versus artificial deadlines. |
 |
Deadlines you control, influence, or cannot influence. |
|
 |
The first 90 % of the job is completed in the first 90 % of
the time. The second 90 % of the job is completed in the
second 90 % of the time. |
 |
Schedules are frequently squeezed by proponents (middle
managers) to get (upper) management to approve a project. The "Can Do" is more
appropriately termed "Canned Doo". The working
level project team members are often skeptical. Often, the
working level people are right. |
|
 |
Technical feasibility
 |
Can you obtain the hardware, software, and people? |
 |
Can you bring the pieces together, test them, and deliver a
working system? |
|
 |
Economic feasibility
 |
Is the benefit worth the cost over the lifetime of the
project? |
 |
Will enough cost be recovered soon enough to provide necessary
cash flow? |
 |
Is the financing available? |
 |
What investment in local public infrastructure is required to
establish and sustain the system? |
 |
Considering competition, technology changes, etc, when will
the system cease being profitable? |
|
 |
State Diagrams
 |
States |
 |
Transitions between states |
 |
Finite
State Automata (FSA) |
 |
Queuing
Theory |
 |
Markov
Processes |
|
 |
Simon Fraser University Database Systems and Structures http://www.cs.sfu.ca/CC/354/han/material/notes/notes-contents.html
 |
Entity Relationship Model |
 |
Relational Model |
|
 |
Entity-Relationship Diagrams
(ERD)
|
 |
Data Flow Diagram: State Diagram
 |
States
 |
Initial state: source or agent |
 |
Terminal state |
 |
Nodes: Data store |
|
 |
Transitions (Process) |
 |
Top-Down design approach, showing only necessary detail at
each level |
|
 |
Drawing Tools
 |
SmartDraw:
Easy to learn. Basic symbols. Does
not have all symbols shown in text for Entity-Relationship
Diagram or Data Flow Diagram. There are enough symbols
that you could still do a nice job. 30-day free trial
download. Beginner's version is $69. (11 NOV
2001) http://www.smartdraw.com |
|
 |
Project Dictionary,
or Project Repository
 |
Contains
all documents and deliverables of a project |
 |
Definitions, specifications |
|
 |
Structured English
 |
Pseudocode describing processes |
|
 |
Decision Tables and Decision Trees
 |
Rule based artificial intelligence |
|
 |
Data Dictionary
 |
Name of each data item |
 |
Description of each data item |
 |
Data characteristics (type, length, default value,
validation rules) |
|
 |
An
object is a data structure and accompanying procedure code for manipulating that data.
 |
Each
data element is called an attribute, property, or variable. |
 |
Each
procedure is called a method, operation, or behavior. |
|
 |
Unified
Modeling Language (UML) is a graphical
language that is used to represent object-oriented designs using a common
notation.
 |
Rational
Unified ProcessTM by Rational Software Corporation is
a commercial tool that applies UML. |
 |
Use
Case diagram. [See Deitel and Deitel, How to
Program C++, 3rd Edition, pages 124-125.]
 |
An
actor is a user, an
external client of the system, other systems, or other entity,
such as application software. |
 |
The
function that the actor
can perform is called the use case.
 |
Each
use case represents
a different function the system provides the actor. |
|
 |
The
use case diagram models
the interactions between the actors and the use
cases of the system. |
|
|
 |
Class
 |
A
generic object from which objects are created or "instantiated". |
 |
Base class |
 |
Derived class: usually has more features than base class. |
 |
Subclass,
Superclass |
|
 |
Inheritance: subclass inheriting methods and attributes of parent class. |
 |
Abstraction: Ability to create an hierarchy of objects. |
 |
Encapsulation
 |
Combining procedures and data into a single object |
|
 |
Information Hiding
 |
Internal code and data structures from external modules are not accessible to external code,
except under closely controlled circumstances. |
|
 |
Message: Procedure call for an object. |
 |
Class
Diagram: Graphically shows hierarchy of classes and subclasses in a
system. |
 |
Commercial Off-The-Shelf (COTS)
Software; Packaged
Software
 |
COTS is the buzzword in government contracting |
 |
Goal: reduce cost, speed development of solutions
 |
Competitive market |
 |
Large market spreads out recovery of development cost |
 |
Available immediately |
|
 |
Often has features compatible with other common software |
 |
Often has customer service support infrastructure |
 |
Often has adequate documentation |
 |
Often has associated training |
 |
Feedback and testing by a large number of users improves
reliability |
 |
Horizontal application software: used by many different
types of organizations |
 |
Vertical application software: designed specifically for a
particular business or industry
 |
Real estate, libraries, dental offices, insurance
companies, construction firms, lawyers |
|
 |
Reviewed in trade publications: PC World, etc |
|
 |
Custom Software: Developed by or for user
 |
Meet specific requirements |
 |
For the same set of goals, custom software uses less
storage and executes faster. |
 |
Not dependent on external organizations for support |
 |
Own copyright
 |
Can resell for profit without paying royalties |
 |
Can encode and protect trade secrets |
|
|
 |
Solutions Providers (Outsourcing, subcontracting whole
functions like Information Technology)
 |
Hardware and software currency responsibility of
contractor |
 |
Reduces in-house training requirements |
|
 |
Acquiring Necessary Hardware and Software |
 |
Identifying Technical Specifications |
 |
Soliciting Vendor Proposals
 |
RFP: Request For Proposal |
 |
RFQ: Request For Quotation |
 |
RFI: Request For Information |
 |
Value-Added Reseller (VAR): support, equipment
maintenance, training, installation, warranties. |
 |
Warranty: guarantee that a product will function properly
under specified conditions for a predetermined period of
time. |
|
 |
Testing and Evaluating Vendor Proposals
 |
Proposal Evaluation Plan |
 |
Benchmark
 |
Choosing good measures of performance is critical
 |
Long term storage use |
 |
Temporary storage use |
 |
Transaction processing time |
 |
Personnel required to complete a transaction or
operation |
|
 |
Use data set typical of expected operations
 |
Type of data and output |
 |
Volume of data and output |
|
 |
Exercise all required features |
 |
Allow vendor to configure data to demonstrate best
performance |
|
 |
Warranty period |
 |
Vendor responsiveness and success in problem solving |
 |
Pilot / test period |
 |
Training requirements |
 |
Documentation |
|
 |
Making a Decision
 |
Purchase, lease, license |
 |
Contract out
 |
Type of solicitation
 |
Competitive bidding
 |
Open to the general public |
 |
Closed to a pre-qualified bidder list |
|
 |
Sole source contract
 |
Purchase order |
 |
Unsolicited proposal |
|
|
 |
Bid selection methods
 |
Lowest bidder wins |
 |
Lowest qualified bidder wins |
 |
Lowest negotiated bid from qualified proposals |
|
 |
Contract types
 |
Fixed price |
 |
Fixed price plus performance incentive |
 |
Cost plus fixed fee |
 |
Cost plus fixed fee plus performance incentive |
 |
Order now, negotiate later |
 |
Order now, negotiate later within constraints |
 |
Basic ordering agreement |
|
|
 |
In-house procurement
 |
Direct charge project |
 |
Overhead charge project |
|
|
 |
Prototyping
 |
Let users work with model before the system is completed. |
 |
Usually, a prototype is not economical for general
production use. |
 |
Problem: lack of documentation. |
 |
Examples:
 |
A business database problem might first be set up with MS
Access, which is easy and quick to do. An
example: use of Access to prototype a database. Access is
not suitable for large database applications, but is very
useful for concept development. Once inputs, outputs,
reports, and procedures are understood well, the system
can then be implemented using a more powerful system or
custom coded. After people
get experience, they can take the concepts and implement
them on a large scale, perhaps with Oracle or other
approaches. |
 |
In engineering,
MatLab, Pspice, and LabView are often
used for prototyping ideas. Engineers often use MatLab to construct solutions to
problems and to do simulations. After experience and
proofing of concepts, special purpose software is written
that greatly speeds up the process and tailors inputs and
outputs to specific needs. |
 |
Programmers may code ideas first with BASIC.
Once the code is working well, it can be recoded in a
compiled language to achieve execution time efficiency. |
|
|
 |
Rapid Applications Development
(RAD)
 |
RAD tutorial: http://csweb.cs.bgsu.edu/maner/domains/RAD.htm
|
 |
A software development process that allows usable software to be built within
60-90 days. |
 |
Schedule is fixed. Features, quality, and cost are balanced to meet
schedule requirements. |
 |
“Fitness for business purposes” is the acceptance
criteria for RAD deliverables. |
 |
Development is conducted at a higher level of
abstraction, and thus does not make as efficient use of resources as a
traditionally developed system. |
 |
Because of the higher level of abstraction, the
system is more likely to be portable. |
 |
Results are not always scalable to much
larger situations. |
 |
DSDM: Dynamic System Design
Method:
 |
http://www.dsdm.org |
 |
Corporations use these tools
to explore and try out new ideas or approaches. |
 |
It costs less than doing
development using production-oriented tools. |
 |
This is an appropriate approach
when the customer does not have a clear understanding of system requirements. |
 |
The concept is to develop the most important functions first. |
 |
Allow changes in
project goals as the project proceeds. (This is typical anyway.) |
|
|
 |
Computer-Aided Software Engineering (CASE) Tools
 |
Project
repository: diagrams, specifications, descriptions,
programs |
 |
Graphics facility |
 |
Prototyping facility |
 |
Quality assurance facility, to analyze deliverables for
accuracy and consistency |
 |
Code generators |
 |
Housekeeping facility
 |
Establish and maintain user accounts |
 |
Backup and recovery functions |
 |
UNIX Historian style function for code development |
|
 |
I-CASE: Integrated CASE tools
 |
Compatible file formats |
 |
Common human interface look and feel |
|
|
 |
Quality Review Techniques
 |
Structured walkthrough |
|
 |
Half
the cost of a typical product is in this phase. |
 |
Systems
Audit and Certification
 |
Post-implementation system review |
 |
Certify the system meets specifications. This is different than certifying that it performs well,
or that the specifications were good. This is a contractual
step.
|
|
 |
Debugging. Identify errors |
 |
Upgrading. Identify enhancements |
 |
Configuration Management, Documentation, Control
 |
Who has what versions of hardware and software |
 |
Upgrade schedule |
 |
Configuration certification methods and schedule |
|
 |
Monitor system performance: effectiveness and efficiency |
 |
Periodic
Evaluation. Monitor system performance: effectiveness and efficiency. |