• No results found

Agile Project Management

N/A
N/A
Protected

Academic year: 2021

Share "Agile Project Management"

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)

Agile Project

Management

Overview

Fabrizio Morando

Application Development Manager

(2)

What is Agile?

Agile is used to denote the ability of Agile Methods to respond to changing requirement in a controlled but flexible manner

Agile methodologies can equip experienced Project Managers with new tools to manage projects that are set in environments of constant

(3)

Why Agile

Agile software developmment is a group of lightweight software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross functional teams. Main elements of agile:

o Iterative o Adaptable o Rapid

(4)

Why do we need new Project Management

Methods?

Information Technology (as well as other

industries) are continuously being challenged by emerging technologies and requirements. Traditional Project Management “Best

Practices” suggest that we should lock down requirements and setup a change control

system up front.

(5)

Project noise level

Simple Complex Anarchy Technology Req ui rem en ts Far from Agreement Close to Agreement Cl ose to Ce rtain ty F ar fr om Ce rtain ty

Source: Strategic Management and

Organizational Dynamics by Ralph

Stacey in Agile Software Development

with Scrum by Ken Schwaber and Mike

(6)

Traditional Project Management Practices can

Lead to….

Chaos – Junior Project Managers tend to either:

allow too much uncontrolled changed to take place (to ensure customer satisfaction)

(7)

Traditional Project Management Practices can

Lead to….

Dramatic Project Underperformance –

According to the Standish Group’s Chaos

Reports, only 16 percent of IT projects are

successful, the remainder are: Late.

Over Budget.

Deliver only a fraction of original scope in order to meet budget restrictions.

(8)

What Is Different About Agile

Methods?

They are all about managing the impact of change on a project.

They allow change to be introduced into a project in a orderly way that that attempts to maximize the benefits for the sponsor.

(9)

What is different about Agile

Methods?

Iterative and Incremental development that

break down development into a number of repeating cycles called Iterations

Short iterations are used to keep the feedback

flowing (allowing for increased responsiveness to change and reducing the risk of building the

wrong thing).

Open, Flexible and Extensive design using open

(10)

What is different about Agile

Methods?

Empowered Teams – Experienced specialists are

encouraged to work out the detail design on their own.

Personal Communication – Rather than relying

on written documentation to communicate design decisions, technical approaches and other typically documented items, agile method suggest that the team work in the same physical space

(co-location). Use of white boards in the work area is encouraged rather than lengthy formal detail

(11)

The Benefits of Being Agile

Reducing Risk – The benefits from improved

control and improved communication lead to reduced risks. Examples of risks include:

Risk of building (or doing) the wrong thing. Did the

sponsor get what they asked for but not what they actually wanted?

Risk of building the right thing poorly. For example,

was the product poorly crafted. Was it thoroughly tested as a part of each iteration? Is the final produce

extensible?

Risk of being placed into an endless cycle of design updates and reviews due to changing requirements or

(12)

The Benefits of Being Agile

(13)

The Benefits of Being Agile

Improved Control – Agile methods allow the Project Manager to their

(14)

The Benefits of Being Agile (Improved

Control)

Frequent delivery of working code allows progress to be objectively measured.

Early and frequent stakeholder feedback allows the Project Manager to redirect project priorities when needed to ensure that real value is delivered. Misunderstandings are cleared up early in the

project life-cycle.

(15)

The Benefits of Being Agile (Improved

Control)

Short daily meetings allow team members to share both successes and problems with each other.

Each team member should share:

What they have just completed (so that team members working on dependent tasks are notified).

What are they going to work on next (allows other team members to contribute information that may be helpful to the task).

Issues that are slowing down or halting their progress (so that other team members and/or the Project

(16)

Waterfall (traditional) way to plan a

software project.

Analyze the problem Design the solution

Implement the code (Execution) Test the code

(17)

Agile method of planning a software

development project.

Initial Analysis

Initial Design (When problems are identified

they are pushed back into the analysis step, to improve it).

Initial coding, push back identified design

problems back. Perform another iteration of design to improve it.

Initial Testing. Identified problems are feed back into another iteration of coding.

Integration and deployment. Feedback any problems you encounter into the process. A system of incremental/continuous

(18)

Sequential vs. overlapping

development

Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.

Rather than doing all of one thing at a time...

...Agile teams do a little of everything all the time

(19)

Agile methods are all about

incremental progress

Working incrementally allows the most critical portions of the product to be delivered earlier. Working incrementally can help reduce risk by receiving stakeholder feedback in increments rather than at the end.

(20)

Agile – Sweat Spots

Dedicated developers Experienced developers Small collocated teams

(21)

Waterfall vs. Agile

(22)

Agile Documentation

(23)

Reasons to Create Documentation

Project stakeholders require it (a Business

decision with costs and benefits associated with it)

To define a contract model (to define how your

system and an external one interact with each other). Typically required when an external

(24)

Reasons to Create Documentation

To support communication with an external group (e.g. a

non-co-located group).

(25)

When is Documentation Agile

Generally – when it is “Good Enough”, but no more. This of course is subjective.

When it maximizes stakeholder investment.

When the documentation contains “just enough” information to fulfill its purpose (and no more). Is purpose driven. If you are not clear about the purpose you are creating the document, you

should not be doing so.

(26)

When is Documentation Agile

When the documentation contains critical information not readily available.

When the documents have a specific customer and facilitate the work efforts of that customer.

(27)

UN APPROCCIO VALUE-UP AL SOFTWARE

DEVELOPMENT

Plan Task 1 Task 4 Task 3 Task 2 Value-up Work-down L’approccio Work-Down è la scomposizione del progetto in task e successivo

smarcamento degli stessi

Nelle metodologie Value-up si da priorità al valore aggiunto prodotto ad ogni iteration piuttosto che ai task

(28)

Why working software

Working software encourages feedback – when users can see and

touch the product they can immediately

tell if it is what they want

Working software helps a team gauge

its progress – work shown to be complete allows for

real progress to be identified

Working software allows product to be

shipped early if desired – the opion to ship early can be very valuable to your customer to allow for

(29)

The Agile Manifesto – a statement of

values

Process and tools Individuals and interactions over Following a plan Responding to change over Source: www.agilemanifesto.org Comprehensive documentation

Working software over

Contract negotiation Customer

(30)

Going through SCRUM

Iterative and adaptive

Customer can see quickly at what stage the development is

Every 2-4 week there’s a potentially shippabile product increment Feedback is given routinely and often

Plans are in short durations (iterations) so change can be implemented quicker

Wasted development is reduced

(31)
(32)

Survey of Agile Methods

Dynamic System Development Method (Dane Faulkner) Adaptive Software Development (Jim Highsmith)

Crystal (Alistair Cockburn) SCRUM (Ken Schwaber) XP (Kent Beck)

Lean Software Development (Mary Poppendieck) Feature Driven Development (Jeff DeLuca)

(33)

A Generalized Agile Process

Release

Iteration 1 Iteration 2 Iteration 3 Iteration …

(34)
(35)
(36)

What Paradigms Are We Breaking?

Culture

Measure of Success

Waterfall

Development Iterative Development

Iterative and Incremental Development Parallel Development Acceptance Test Driven Development

Command-and-Control Leadership /Collaborative

Conformance to Plan Response to Change

Design

QA Process

Big Design Up Front Continuous

Big Test on Backend Continuous

Agile Development

(37)

New Measures of Success

Critical Path

---Work Breakdown Structure ---% Complete of tasks ---Serial functions ---Procedural process ---Fixed scope ---Critical Chain

Feature Breakdown Structure # of Features accepted

Parallel functions Empirical time boxes Fixed time and resources

Measure of Success

Waterfall

Development Iterative Development

Iterative and Incremental Development Parallel Development Acceptance Test Driven Development

Conformance to Plan Response to Change

Process

(38)

Culture of Discipline and Collaboration

Culture of sign-offs ---High-level plans = Roll-up of detailed plans

Detailed Planning early --Protect the Project Scope ---Demonstrate at End ---Weekly PM meetings

---Culture of learning

Gross estimates of backlog create the high-level plans

Detailed Planning in chunks Protect the Iteration Scope Demonstrate every Iteration Daily Stand-up meetings

Waterfall

Development Iterative Development

Iterative and Incremental Development Parallel Development Acceptance Test Driven Development Process Agile Development

(39)

Continuous Design & Test

Contract with Customer ---Big Design sign off -Dreaded Integration phase --Never miss Dev. Cmpt date ---Work in big phases ---Testing squeezed

---Partner with Customer LPM Design Decisions Continuous Integration Never break the build Work in small chunks Low Features squeezed

Waterfall

Development Iterative Development

Iterative and Incremental Development Parallel Development Acceptance Test Driven Development Process Agile Development Design QA

Big Design Up Front Continuous

(40)

Agile Project Tooling

Focus on Individuals ---Optimize the parts -Integrate with batch update ---Manage large inventories Un-integrated with the WBS

-Visibility through manual PM report ---

---Focus on the team Optimize the whole Tight integration

Manage rapid throughput Manage the FBS

Real-time visibility up, down and across the team

Waterfall

Development Iterative Development

Iterative and Incremental Development Parallel Development Acceptance Test Driven Development Process Agile Development

(41)

Benefits from Implementing Agile

1. Deliver benefits early (First Iteration is demonstrable)

2. Avoid significant rework by only doing just-in-time detailed design

3. Avoid dead-end design decisions by managing with LPM decisions and trade-off matrix

4. Raise quality by moving testing forward in the process

5. Become responsive by supporting scope adjustments every iteration

6. Become reliable by instituting regular heartbeats to the team

7. Increase estimating accuracy by working in small chunks

8. Decrease risk by always having working software

9. Increase throughput via real-time visibility

(42)

References

Related documents

Recently the fineness of POFA has been studied by some researchers on the pore size distribution and microstructure of cement paste (Ranjbar, Mehrali, Alengaram, Metselaar,

States, the basic financial statements of the Board of Trustees of the Classical Academy Charter School of Clifton (the “Charter School”) in the County of Passaic, State of New

Software Cost Estimating for Iterative/ Incremental Development Programs.. Agile

In addition, we developed solutions to interface patient data from the Electronic Medical Records systems of five clusters - SingHealth, Eastern Health Alliance, National

Food based dietary guidelines Nutrition Centre Guidelines Healthy Diet Health Council Reference intakes Health Council Nutritional composition NEVO Wo5 or not-Wo5. Amounts

These strategies include (1) problematising tasks by inserting obstacles to the solution, limiting problem information or requiring students to use particular representations

© 2012 IBM Corporation 40 Rapid Adaptation to Malware and Emerging Threats Trusteer Cyber Intelligence combined with… •   IBM X-Force Research & Development. •

In these oral English class, guided by the Interactive teaching method, the teacher achieve the teaching goals by leading students to fulfil various interactive activities,