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