h

Friday, May 1, 2015

Introduction Fundamentals Classic Mistakes of software Project Mnagement

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.

•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.
 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

 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?
 
•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,
 Cost constraint may lead to less quality because of ?
 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
 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