Project Management Flashcards
(35 cards)
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