Software
Project Management
Project
Management Skills:
•Leadership
•Communications
•Problem Solving
•Negotiating
•Influencing the Organization
•Mentoring (Mentor=a wise and trusted guide and advisor, mentor;mentee)
•Process and technical expertise
Project
Manager Positions:
•Project Administrator /
Coordinator
•Assistant Project Manager
•Project Manager / Program Manager
•Executive Program Manager
•V.P. Program Development
V.P=vice president;
an executive officer ranking immediately below a president; may serve in the
president's place under certain circumstances
•Software
Computer software, or
just software,
is the collection of computer programs and related data that provide the instructions telling a computer what to do
•A project in business and science is a collaborative enterprise,
frequently involving research or design, that is carefully planned to achieve a particular
aim
•Project Management
Project management is the application of knowledge, skills, tools, and techniques to project activities in order to meet or exceed stakeholder needs and expectations from a project.
Project management is the application of knowledge, skills, tools, and techniques to project activities in order to meet or exceed stakeholder needs and expectations from a project.
•Collaboration=act of working jointly
•A software project has two main
activity dimensions:
–engineering and Project Management.
–The engineering dimension deals with building the system and
focuses on issues such as how to design,
test, code, and so on.
–The project management dimension deals with properly planning and controlling the engineering activities to meet project goals for cost, schedule, and quality.
•For small projects an email may
be fine, but for large commercial projects you need:
–Defined
Processes, a degree of formality
–Tested and
Documented processes
–To Secure the
Quality of outcome
What
is a Process?
Technically, a process for a task comprises a sequence of steps that should be followed to execute the task.
Technically, a process for a task comprises a sequence of steps that should be followed to execute the task.
So, why we
require Processes?
–Processes represent collective knowledge. Using them
increases your chances of success.
–A process may
have some extra steps, but you will not always know beforehand which ones are
not needed, and hence you will increase your risks by taking shortcuts.
Without
processes, you cannot predict much about the outcome of your project.
You
and the organization cannot learn effectively without having defined processes.
Learning and improvement are imperative in today's knowledge-based world
imperative=requiring attention or action
imperative=requiring attention or action
Processes
lower your anxiety level. The checklists inevitably cover 80 % of what needs to be done. Hence, your task
reduces to working out the remaining 20 percent.
Inevitably=in such a
manner as could not be otherwise;necessarily
PM Tools: Software:
•Low-end
Basic features, tasks management, charting
–MS Excel, Milestones Simplicity
•Mid-market
–Handle larger projects, multiple
projects, analysis tools
–MS Project (approx. 50% of
market)
•High-end
–Very large projects, specialized
needs,enterprise
–AMS Realtime (Adv Mngt Solution)
–Primavera Project Manager
Four
Project Dimensions:
•People
•Process
•Product
•Technology
Every project has 3 constrains
Scope goals: What work will be done?
Time goals: How long should it take to complete?
Cost goals: What should it cost?
Scope goals: What work will be done?
Time goals: How long should it take to complete?
Cost goals: What should it cost?
•Time constraint may
lead to less quality because
of ?
less time for
analysis,
less time for planning,
less time for reviewing,
less time for checking,
less time for monitoring,
less time for control,
less time for planning,
less time for reviewing,
less time for checking,
less time for monitoring,
less time for control,
Cost constraint may lead to less quality because of
?
Hiring less skilled people,
Getting less quality resources (HW, NW) Ignoring some customer requirements
Hiring less skilled people,
Getting less quality resources (HW, NW) Ignoring some customer requirements
•Scope limitations may
lead to less quality because of ?
•Scope limitations may
lead to Ignore some customer requirements
•shortcuts
Process:
•Is process stifling?
•2 Types: Management &
Technical
•Development fundamentals
•Quality assurance
•Risk management
•Lifecycle planning
•Avoid abuse by neglect
•Customer orientation
•Process maturity improvement
•Rework avoidance
Product:
•The “tangible” dimension
•Product size management
•Product characteristics and
requirements
•Feature creep management
Technology:
•Often the least important
dimension
•Language and tool selection
•Value and cost of reuse
Planning:
•Determine requirements
•Determine resources
•Select lifecycle model
•Determine product features
strategy
Tracking:
•Cost, effort, schedule
•Planned vs. Actual
•How to handle when things go off
plan?
Measurements:
•To date and projected
–Cost
–Schedule
–Effort
–Product features
•Alternatives
–Earned value analysis
–Defect rates
–Productivity (ex: SLOC)
–Complexity (ex: function points)
Technical
Fundamentals:
•Requirements
•Analysis
•Design
•Construction
•Quality Assurance
•Deployment
Project
Phases:
•All projects are divided into
phases
•All phases together are known as
the Project Life Cycle
•Each phase is marked by
completion of Deliverables
•Identify the primary software
project phases
People-Related
Mistakes:
•Undermined motivation
•Weak personnel
Weak vs. Junior
•Uncontrolled problem employees
•Heroics
•Adding people to a late project
•Noisy, crowded offices
•Customer-Developer friction
•Unrealistic expectations
•Politics over substance
•Wishful thinking
•Lack of effective project
sponsorship
•Lack of stakeholder buy-in
•Lack of user input
Process-Related Mistakes :
•Optimistic schedules
•Insufficient risk management
•Contractor failure
•Insufficient planning
•Abandonment of plan under pressure
•Wasted time during fuzzy front end
•Shortchanged upstream activities
•Inadequate design
•Shortchanged quality assurance
•Insufficient management controls
•Frequent convergence
•Omitting necessary tasks from estimates
•Planning to catch-up later
•Code-like-hell programming
•Optimistic schedules
•Insufficient risk management
•Contractor failure
•Insufficient planning
•Abandonment of plan under pressure
•Wasted time during fuzzy front end
•Shortchanged upstream activities
•Inadequate design
•Shortchanged quality assurance
•Insufficient management controls
•Frequent convergence
•Omitting necessary tasks from estimates
•Planning to catch-up later
•Code-like-hell programming
Product-Related
Mistakes:
•Requirements gold-plating
–Gilding the
lily
•Feature creep
•Developer gold-plating
–Beware the pet
project
•Push-me, pull-me negotiation
•Research-oriented development
Technology-Related
Mistakes:
•Silver-bullet syndrome
•Overestimated savings from new
tools and methods
–Fad warning
•Switching tools in mid-project
•Lack of automated source-code
control