Академический Документы
Профессиональный Документы
Культура Документы
Management
S. Ramanathan
Introduction to Account
Management
Account
Account Qualification
Program Management
Program: a group of projects
large, complex efforts that combine the delivery of
software elements, new and changed business
models, and overall changes to organizational
structure and capabilities
More complex governing structure
than Project Management
Program Management
Tactical
Focus on realization of
strategic business objectives
Single function
Cross-functional
Technical
Goals: on-time delivery,
budgetary control and
performance level targets
Software Estimation
What is Estimation?
Attempt to determine how much
Money
Effort (in person months)
Resources
Time
Challenges in Estimation
Establishment of Scope
First step in estimation
Coverage of scope
functional requirements
data to be processed
control requirements
performance requirements
constraints
interfaces
reliability requirements
Project Repository
International Software Benchmarking Standards
Group (ISBSG) maintains information on 1200
projects http://www.isbsg.org.au
Helps with data on project estimation, risk
analysis, productivity and benchmarks
Adv: ready availability of data for
comparison
Disadv: The repository data may not
contain all information about the context,
which if applied to a dissimilar
environment, may lead to wrong results
Decomposition Techniques
Decomposition of the problem to
manageable smaller problems
Two decomposition approaches
Problem decomposition
Process decomposition
Process
Top Down
Bottom up
3.
4.
Bottom Up Approach
1. Identify the first level breakdown
2. Divide into as many groups
3. Each group identifies the activities
needed to achieve the first level
breakdown
4. Integrating the group efforts, the
team removes redundant activities
more like brainstorming than an organized approach to
building WBS
t Projects
WBS is Proper, if
Date
Parent id
End date
Software Sizing
Whole project: Compare with similar
Project
Processes and tasks
Standard Components (modules, screens,
reports)
LOC or FP or OP
Easy to measure,
but
Programming language dependent
Penalizes efficient programming
Line itself is not easy to define (Software Engineering
Institute, have published some guidelines in an
attempt to standardize counting)
Is it possible to get detail of line count at the time of
analysis?
Feature to LOC ratio computation is difficult
There are no objective ways of defining LOC / feature
"the use of lines of code metrics for productivity and
quality studies to be regarded as professional
malpractice starting in 1995." - Capers Jones
Measuring software productivity by lines of code is
like measuring progress on an airplane by how much
it weighs." Bill Gates.
FUNCTION POINTS
SOFTWARE COST ESTIMATION
Function Point
Measure of functionality derived from
countable measures of information domain
and assessment of complexity, using an
empirical relationship
Function points are a measure of the size
of computer applications and the projects
that build them. The size is measured from
a functional, or user, point of view. It is
independent of the computer language,
development methodology, technology or
capability of the project team used to
develop the application
Data at rest
Internal Logical Files
External Interface Files
Elementary Processes
Information Domain
Functional Requirement
External Input
External Output
External Query
External interface
File
EI
Other
app
App
EI
Users
EO
ILF
EO
EQ
EQ
EIF
ILF
*
*
*
*
*
3
4
3
7
5
4
5
4
10
7
6
7
6
15
10
=
=
=
=
=
Brief Description
1. Data communications
3. Performance
5. Transaction rate
7. End-user efficiency
Brief Description
8. On-Line update
9. Complex processing
10. Reusability
FP = Count Total*{0.65+(0.01*Value
Adjustment Factor)}
Function Point does not have any physical
meaning and only a number
FP Definition Sequence
For a project > 1000 FP
Parameter
Output
Defn. Period
Uncertainty
Within 1 month +/- 40%
Input
Within 2 mths
+/- 20%
Interfaces
Within 3 mths
+/- 15%
Logical files
Within 4 mths
+ / - 10%
Inquiries
Within 5 mths
+ / - 5%
Class
Type
1. Subroutine
1. Individual software
1. Nonprocedural
2. Module
2. Shareware
2. Web applet
3. Reusable module
3. Batch
4. Disposable prototype
5. Multilocation - internal
4. Interactive
5. Evolutionary prototype
7. Timesharing
6. Standalone program
9. Internet
6,7. Database
7. Component of system
8. Client / Server
8. Release of system
11. Communications
9. New system
13.Outsourced contract
14. Embedded
15. Image processing
16. Multimedia
17. Robotics
18. Artificial Intelligence
Metrics
Collect data from each project on LOC /
FP / Use Case, Effort in person days, Cost,
Documentation in pages, Errors, Defects
Examples of size-oriented metrics:
Backfiring
1 FP equals
128 C statements
107 Cobol statements
50 Java statements
Guidelines An Example
Phase
% of total effort
Preliminary study
1 (max. 5 days)
Feasibility study
5-7
Systems Analysis
12-14
Logical design
4-6
Physical design
10-12
Program design
6-8
18-20
System testing
12-16
Acceptance testing
9-11
Implementation
12-14
Type
3 or less
Simple
Weightage
Factor
5
47
Medium
10
>7
Complex
15
Software Costing
Budgetary Estimates
Definitive Estimate
Bottom-up
Estimate individual work items and sum them to
get a total estimate
Also called activity based costing
Size of work items and the experience of
estimators drive accuracy
Having a detailed WBS helps to develop this
SW Project Break-down
Project
Project
Phase
Requirements
Analysis
Design
Coding
Testing
Installation
Activity
Discussions
Collection / Collation
Prototyping
Task
Planning
Architecture /Technology /
Reusability
Macro Design
Detailed Design
Design Review
Person-Hour Rate
Work hours per month
160
Rs. 60000
Overhead rate
200%
Monthly rate
180000
Hourly rate
Rs. 1125
Processes
Weak basis
Poor Knowledge
Software
Efforts
{work,
quality,
productivit
y}
Professionals
Estimates
Project
Size
Project
Attributes
Requirement volatility
Estimation
Schedule
Effort
Cost
Deliverable
Compliments
Conflicts
Costing Errors
Metric Errors
FP or LOC translation, phase % (Large to Small projects -> Coding
% moves up from 18% to 70% while documentation moves down
from 31% to 5%)
Sizing Errors
Activity mapping errors
Scope errors
Production rate errors
Changes non anticipation errors
Critical path errors Project Control errors
Staffing errors skills, knowledge, ramp up
Technology unknowns
Exceptions / emergencies / risk occurrence
Schedule
COCOMO (contd)
COCOMO defaults to a nominal value for
all factors when model is first used.
Cost estimators must calibrate the model
to the program being estimated to their
specific development environment and
productivity level of staff.
COCOMO uses analogy and parametric
methods based pm a historical,
proprietary database of data submitted
by consortium members. This allows
COCOMO to be compatible with current
design methods and evolving higher
order languages.
Ratings
ostDrivers
Very Low
Productattr
ibutes
Requiredso
ftwarerelia
0.75
bility
Sizeofappli
cationdata
base
Complexity
oftheprod
0.70
uct
Hardwarea
ttributes
Runtimeperfor
mancecons
traints
Memoryco
nstraints
Volatilityof
Low
Nominal
High
Very
High Extra High
0.88
1.00
1.15
1.40
0.94
1.00
1.08
1.16
0.85
1.00
1.15
1.30
1.65
1.00
1.11
1.30
1.66
1.00
1.06
1.21
1.56
COCOMO (contd)
The model makes its estimates of
required effort (measured in
Person-Months) based primarily on
the projects estimate of the
software size (as measured in
thousands of SLOC, KSLOC)):
Effort = 2.94 * EAF * (KSLOC)**E
EAF is the Effort Adjustment Factor
derived from the Cost Drivers and
E is an exponent derived from the
five Scale Drivers.
Costar
SoftCost R
System 4
Asset R
SASET
CA-FP Expert
Function Point
Manager
Function Point Mentor
Before You Leap
SEAT
Sfera
Software Pricing
Pricing Models
Fixed bid
Time & Materials
Fixed price per deliverable unit
Disadvantages:
Tendency to have higher margin for
contingencies
Difficulties in modifying requirements
Higher cost for changes to offset initial low cost
Quality a casuality to meet fixed cost
Disadvantages:
Higher customer liability
Lack of incentives for supplier
Disadvantages:
Agreement on the measure for the unit
Ability of the unit to represent all types of
changes
Impact of change may not be uniform
throughout the life cycle
Cost / FP
Initial
$ 1000
After 3 months
$ 1100
After 6 months
$ 1250
After 9 months
$ 1500
After 12 months
$ 1750
Deletion
$ 250
Market Opportunity
Resource commitment
Cost estimate uncertainty
Foreign exchange fluctuations
Contractual Terms (e.g. source code
ownership)
Requirements Volatility
Financial Health (e.g. cash flow
considerations)
Pricing to win
Consultant/Purchased
Services
Travel
Depreciation
Rents/Leases
Other Supplies
and Expenses
Total Costs
Estimated Costs
Explanation
13 Included are 9 programmer/analysts, 2
database analysts, 2 infrastructure
technicians.
$1,008,500 Calculated by employee change notices
(ECNs) and assumed a 4% pay increase in
June. Overload support was planned at
$10,000.
$424,500 Expected consulting needs in support of the
Project Accounting and Cascade
implementation efforts; maintenance
expenses associated with the HewlettPackard (HP) computing platforms;
maintenance expenses associated with the
software purchased in support of the BSR
project.
$25,000 Incidental travel expenses incurred in
support of the BSR project, most associated
with attendance of user conferences and
off-site training.
$91,000 Included is the per head share of
workstation depreciation, the Cascade HP
platform depreciation, and the depreciation
expense associated with capitalized
software purchases.
$98,000 Expenses associated with the Mach1
computing platforms.
$153,000 Incidental expenses associated with things
such as training, reward and recognition,
long distance phone charges, miscellaneous
office supplies.
$1,800,000
Proposal Writing
Background information
Project purpose and description
Project scope
Criteria of success
Project timeline
Budget
Terms and conditions
Payments, incentives and penalties
Bidder qualification
Standards and tools used
Proposal evaluation criteria and award process
Contact details for future correspondence
Organizing a Proposal
Problem:
What is the problem/need/gap in knowledge to be
addressed?
Objective(s):
What are the proposed outcomes that will address these
problems?
Significance:
Why is it important to accomplish these objectives?
What impact will it have?
Methods:
How will each objective be accomplished? What
activities will take place and when?
Organizing a Proposal
Contd.
Personnel:
Who will carry out each activity?
Equipment/Facilities:
What equipment and facilities are required to carry out each activity?
Budget:
What costs will be involved in the activities, personnel, equipment,
and facilities?
Evaluation:
How will it be measured whether or not the objectives were
accomplished? Sponsors, are more focused on measurable outcomes.
Address your plans for assessment and evaluation.
General Contents of a
Proposal
Title
choose a simple title that explains (to the
extent possible) what you plan to do. There is
no need for cute or catchy titles or fancy
acronyms
Abstract
A brief statement of the project objectives,
procedures, and methods of evaluation and
dissemination. The abstract should not
exceed two hundred and fifty words in length.
Objectives
Identification of anticipated outcomes of
the project in clearly specified terms.
Solution Architecture
How the objective is proposed to be met
Proposal Template
Company introduction
Services & Technology
<Main Portion>
Terms and conditions
Main Portion
Introduction
Background
Needs statement
Scope of work in scope and out of scope activities
Assumptions
Objective business goals addressed
Implementation plan
Team structure with roles
Customers responsibilities
Implementation approach
Testing strategy and approach
Training and knowledge transfer approach
Appendices
Resource profiles
Case studies of successful implementations
Software Documentation
It describes WHAT a system does but does not specify HOW it does.
Validateuser
Sensors::Calibrate
location
Actors
For each actor consider the behavior that each expects or requires the system to
provide
Factor common behavior into new use case that are used by others;
Factor variant behavior into new use cases that extend more main line flows
Model these use cases, actor, and their relationships in a use case diagram
Adorn these use cases with notes that assert nonfunctional requirements
Sample Scenario
System: Claims payment by an
Insurance Company
Primary Actor: The claimant
Goal: Claimant getting paid for an
accident
Condition: Everything is in order
Scenario
Extensions
2a1. Insurance company declines claim, notifies claimant, records all this, terminates
proceedings.
4a1. Insurance company declines claim, notifies claimant, records all this, terminates
proceedings.
The greatest value of the use case does not lie in the main scenario, but in alternative
behaviors
Variations
1. Claimant is
a. a person
b. another insurance company
c. the government
5. Payment is
a. by check
b. by interbank transfer
c. by automatic prepayment of next installment
d. by creation and payment of another policy
Contains only those use cases and actors that are essential to understand that aspect
Provides details consistent with its level of abstraction; you should expose only
those adornments that are essential to understanding.
Is not so minimalist (simple) as to misinform the reader about semantics that are
important.
Use notes and color as visual cues to draw attention to important features
of your diagram
Try not to show too many kinds of relationships. If you have any complicated
relationships, take these elements to another diagram.
Release Management
Release Control
Job of Project Support
Functions
Identify the products to be included in the release;
Ensure that all the required products have reached a status
which allows them to be released into live operation;
Report on any required products which do not have a
current approved status;
Build a release package;
List the changes since the previous release and the error
reports or requests for change solved by the release;
Distribute the release;
Be able to recreate any baseline (i.e. past release) if a site
reports problems on a release;
Know which site has what version and variant of the
product.
Release Identifier
when the new release of the product
provides changed functionality - the baseline
number is incremented up to the next whole
number (e.g. 2.1 becomes 3.0);
when the new release of the product
provides fault fixes only - the issue number is
incremented by one (e.g. 1.4 becomes 1.5);
optionally when the new release of the
product consolidates many (e.g. 20) minor
changes - the baseline number is
incremented up to the next whole number.
Expectation Management
So What is Expectations
Management?
They are not requirements, they are much broader, much deeper
They are your clients vision (or perception) of a future state or
action, usually unstated but is critical to your success.
They are a primary measure of your success.
In your clients mind, satisfaction is how close youre come to their
expectations, not necessarily how close you were to the wording in
the contract, or scope of work, or better yet the performance
criteria.
In some instances, it may not even be the actual results of the
project but the process with which you arrive there.
A good project management practitioner should be able to shape
and influence shaping and influencing stakeholders expectations
such that variance between project performance (outcome) and
stakeholders expectations are within acceptable limits.
Project success is in the eyes of the beholder
When to Manage
Expectations?
Expectation Management should begin at the point of first
contact between the vendor and prospective customer
How to Manage
Expectations?
EMM Rules
1. For any project, one must record
priorities P1, P2 and P3 within nine
available cells
2. No row may contain more than one
priority; a single measure of success
must have only one priority
designation
3. No column may contain more than
one priority
EMM Challenges
Project Manager does not establish priorities; he
or she merely enforces the rules of the matrix
Only the system owner sets the priorities
Managers to be educated on the reason for
priorities and they cannot maximize all
Intelligent compromises instead of guesswork
Those who do not believe in the principles (of the
matrix) will eventually know the truth. You do not
have to believe in gravity, but you will hit the
ground just as hard as the person who does
Dr. Friedlander
Managing Expectations
Documentation as a Tool?
Traditional approach is to rely on documentation
let us make sure we document every
conceivable aspect of the system in a functional
requirements specification. Have the customer
sign off the document. Then we are covered,
right?
users do not understand documentation
Documentation may help as a contractual
milestone, but does not serve the purpose of
managing user expectations
Influencing Expectations
1. Establish trust: It is not awarded; you must earn it
2. Communicate / educate, Communicate / educate,
Communicate / educate: communicate the big picture
and the details: the more your clients know the
better; through meetings, training, reports.
3. Explain why: it worked in my last three projects
(experience) it would cost less / work well if we did
(partnership)
4. Influence in private: People do not like to change
their mind / admit their mistakes in public
5. Show and sell: proof-of-concept, prototype
6. Balance the give and take