L17: Project Management Flashcards

1
Q

What is project management?

A

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

  • The product is not tangible so it is hard to judge progress
  • Many software projects are ‘one-off’ projects
  • Software processes are variable and organisation specific, hard to predict success
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does success look like for a project?

A

Good project management is essential if software engineering projects are to be developed on schedule and within budget

  • Deliver the software to the customer at the agreed time
  • Keep overall costs within budget
  • Deliver software that meets the customer’s expectations
  • Maintain a coherent and well-functioning development team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are some factors affecting project management

A
  • Company size (policies, processes, communications)
  • Software customers (sector of customer)
  • Software size (team size, location, coordination)
  • Software type (consumer or safety-critical)
  • Organisational culture (attitude to risks)
  • Software development process (agile vs plan-driven)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are some generic project management activities?

A
  • Project planning (planning, estimating, scheduling project development, assigning work)
  • Risk management (monitor, mitigate and address risks)
  • People management (choose team members, improve performance and teamwork)
  • Reporting (report on progress, communicate to stakeholders)
  • Proposal writing (write proposal to win contract)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does project planning involve

A
  • breaking down the work into parts
  • assigning these to project team members
  • anticipating problems that might arise
  • preparing tentative solutions to those problems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the project plan

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Describe project planning in plan-driven development (with pros and cons).

A

Plan-driven projects are organised around a complete project plan from the outset.

  • Development process is planned in detail in advance
  • Managers use the plan to support project decision making and as a way of measuring progress
  • Early planning is helpful for organisational issues such as staff availability and other projects to be taken into account
  • Potential problems and dependencies can be identified early
  • Many early decisions may need to be revised due to changes in the development environment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is project scheduling

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the key concepts and strategies in scheduling?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are some scheduling challenges?

A
  • Estimating the difficulty of problems and the cost of developing a solution is hard
  • Productivity is not proportional to the number of people working on a task
  • Adding people to a late project makes it later because of communication overheads
  • The unexpected always happens so always need contingency in planning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Which charts can we use for scheduling?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Describe project planning in agile development (with pros and cons).

A

Agile project plans are produced incrementally

  • Incremental development with regular releases
  • Unlike plan-driven approaches, the functionality of agile increments is not planned in advance but is decided during the development
  • The decision on what to include in an increment depends on progress and on the customer’s priorities
  • The customer’s priorities and requirements change so a flexible plan that can accommodate these changes makes sense
  • A software increment is always delivered at the end of each iteration
  • Reliant on customer involvement and availability
  • Some customers may be more familiar with plan-driven, difficult to engage with agile
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the agile planning stages?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is task allocation?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is risk management?

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How do we classify risk?

A

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

17
Q

What are 4 risk management activities

A

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