What is project management?
Software project management is concerned with activities involved in ensuring that software is delivered on time and within budget and in accordance with the requirements of the organisations developing and procuring the software (while also satisfying legal and ethical obligations).
What does success look like for a project?
Good project management is essential if software engineering projects are to be developed on schedule and within budget
What are some factors affecting project management
What are some generic project management activities?
What does project planning involve
What is the project plan
The project plan, created at the start of the project is used to communicate how the work will be done to the project team and customers, and help assess progress on the project.
Describe project planning in plan-driven development (with pros and cons).
Plan-driven projects are organised around a complete project plan from the outset.
What is project scheduling
Process of deciding how the work is organised into tasks, and when these will be executed.
Estimate
- Time taken to complete task
- Effort required
- Who will work on the task
- Resources needed for the task
What are the key concepts and strategies in scheduling?
Concepts
- Tasks / activities
- Milestones (points in the schedule against which you can assess progress)
- Deliverables (work products that are delivered to the customer)
Strategies
- Organise tasks concurrently to make optimal use of workforce
- Minimise task dependencies to avoid delays caused by one task waiting for another to complete
What are some scheduling challenges?
Which charts can we use for scheduling?
Activity bar chart: A chart that displays tasks, durations and their dependencies.
Staff allocation chart: Shows which tasks the staff are working on in each week
Describe project planning in agile development (with pros and cons).
Agile project plans are produced incrementally
What are the agile planning stages?
Release planning
Looks ahead for several months and decides on the features that should be included in a release of a system.
Iteration planning
Short term outlook. Focuses on planning the next increment of a system, typically 2-4 weeks of work for the team
What is task allocation?
User stories are broken down into development tasks.
- A development task should take 4–16 hours
- All of the tasks that must be completed to implement all of the stories in that iteration are listed
- Individual developers then sign up for the specific tasks that they will implement
The whole team gets an overview of the tasks to be completed in an iteration and developers have a sense of ownership over the tasks- motivating them to complete the task.
What is risk management?
Risk management is concerned with identifying risks and drawing up plans to minimise their effect on a project.
These uncertainties can stem from:
- Loosely defined requirements
- requirements changes due to changes in customer needs,
- difficulties in estimating the time and resources required for software development
- differences in individual skills
How do we classify risk?
What is affected by the risk
- Project risk (affects schedule, resources)
- Product risk (quality, performance)
- Business risk (affects organisation)
What is the type of risk
- Technical
- Organisational
- People
- Estimation
- Tools
- Requirements
What are 4 risk management activities
Risk identification
- Identify project, product and business risks
Risk analysis
- Assess the likelihood and consequences of these risks, low to high, insignificant to catastrophic
Risk planning
- Draw up plans to avoid or minimise the effects of the risk, avoidance strategies, minimisation strategies, contingency plans
Risk monitoring
- Monitor the risks throughout the project, changes in risk likelihood and severity