Project Management Flashcards
What aspects does project management oversee
- people management
- project scope
- project planning/scheduling
- risk management
Importance of People Management
- software development is complex
- there are many dependencies and people involved
- inter-dependencies between several artefacts
- allows coordination between and within teams
- ensure software is efficient, effective, on time and within budget
Difficulties of software development (Aristotle)
- essence - conceptual structure of software itself is difficult to understand and implement
- accidents - difficulties arising from realizing the conceptual structure in its executable form
Project Scope:
- the scope encapsulates:
- functions and features for end-users
- data inputs and outputs
- goals for the project
- scope indicates content presented to users as consequence of using software
- addresses non-functional requirements - performance, constraints, UI, reliability
What are functional requirements?
> requirements that end user demands as basic facilities the system should offer
functionalities need to be necessarily incorporated
stated in the form of an input, operation performed and an output
can be directly seen by the user in the final product
What are non-functional requirements?
> quality constraints that the system must satisfy
priorities or extent to which these are implement varies
non-behavioral requirements and software quality attributes
e.g., portability, security, performance, maintainability, reliability, scalability, performance, etc.
How is scope defined?
- scope communicated by client
- needs to be documented (clear and unambiguous)
- team and client needs to agree on what is necessary to the system
- defined by:
> narrative description
> set of use cases
Scope - What is performance and constraints?
performance - processing capabilities and responsiveness of product
constraints - identify limits on software
> device limitations
> load expectations
> external hardware or other system limitations
What is feasibility?
- given scope, are there necessary resources to build product
- need to determine resources
> not only money
> people with correct skills
> hardware available
> resources available to be reused and leveraged (open source, libraries)
What are stakeholders
- someone (in)directly impacted by project and project outcome
- project sponsor, customer of deliverables (client), end users, project manger and project team
Project Goals:
- aside from features/functions, need to look at overall project and team goals that needs to be worked towards in order for project to be considered successful
- goals derived from needs and expectations of stakeholders
- stakeholders may have conflicting goals (different visions of scope and priorities)
> most important opinion is from whoever is paying - find true needs that create real benefits and prioritize those
Smart Goals:
- create measurable goals
S - specific, significant
M - measurable, meaningful
A - agreed upon, acceptable, attainable
R - realistic, relevant, reasonable
T - timely, trackable, tangible
- goals need boundaries in order to be tracked accordingly
Project Schedule:
- schedule gives overview of:
> amount of effort required w.r.t time
> people needed
> other resources - deliverables help form and determine project schedule
What happens if a schedule is unrealistic?
- if unrealistic, schedule can be updated:
> renegotiation deadline (delay)(time)
>asking for additional resources(more expenses)(resource)
> reducing scope(fewer deliverables)(scope)
Deliverables:
- list of project items/artefacts that to be delivered to customer in order to meet goals
- needs to be clear expectation between all stakeholders on what deliverable will be and its expected quality
It is important that deliverables have:
- need to be/have:
> verifiable and specific
> e.g., report, module of executable code
> has a stakeholder who needs the deliverable
> a due date and scheduled time to be completed within - deliverables need to adhere to a quality standard
Supporting plans:
- human resource plan
- communications and management plan
- risk management plan
Human Resource Plan:
- contains key individuals/organizations and their roles and responsibilities (what is needed from them)
- describes no. and type of people needed
- what are key responsibilities and how do they align with people available for project
Communications and Management Plan
- who needs to be kept informed about project
- how to communicate information
> weekly review, progress reports
Risk Management Plan:
- identify risk that might affect project
- rank and assess risks and thereafter create mitigation and management plans
- prepare for anything
Range of Management Activities:
- people:
> managers, PO, team, customers - product:
> scope and decomposition
> features to be included, how and who - process:
> software development lifecycle
>unified process - project:
> size, scheduling, risk management
Range of duties in a small project team:
- project management
- system analyst
- UI designer
- Architect
- developers
- specialists
- documentation
How to choose people for project:
- choose people who have worked well with before
- use cv, experiences and references to judge candidates
- also judge communication and social skills, ability to perform tasks
How to manage different people:
- cater for different backgrounds and personalities
- not everyone is the same
- wont always agree
- different personalities need different motivation, recognition and rewards
Management and team success:
- software development is group activity
> impossible to complete projects alone
> people motivated by group success and own goals
Individual success depends on:
- ability and interest for work on hand
- experience and training with similar training and developer tools
Team success depends on:
- abilities to communicate and express ideas within team
- ability to interact and work efficiently as a group
What are metrics?
- tools to help estimate and determine time and other resources for project
- main metrics are milestones and deliverables and activities
Activities:
- a task that takes time
- has:
duration
due date
precursor activity on which this activity depends
Milestones
- marks completion of an activity or group of activities
- does not necessarily correspond to deliverables
- recognizable end-product of a task
- used as checkpoints to evaluate what has been competed and plan ahead
- requires formal, measurable output
Deliverables:
- project result or output that is required to be delivered to the customer
- has quality standards, due date, duration, stakeholder attached
- could be artefacts produced in milestone completion
Milestone vs Deliverable:
deliverable: measurable, tangible output of project
- developed in alignment with project goals
milestones: checkpoints throughout project life cycle
- identified with one or groups of activities being completed
Software Metrics:
- in order to manage and plan for project
> estimate resources required for activities
> based on size and complexity of activity and artifact produced
software metrics measure aspects of software development
- project level - cost and duration
- application level - size and complexity
need to be SMART
KPIs
- key performance indicators
- specific objective and quantitative measures to track aspects of project
- SMART metrics
- counts, percentages, totals, averages
Metric Types:
process metrics
product metrics
result metrics
predictor metrics