22
Project management the Agile way

Project managemen, the agile way

Embed Size (px)

DESCRIPTION

This talk given at MeetMagento Poland 2014 presents my experience with doing Agile development and its challenges on development vs support projects. It will be a practical approach to project management, with how Agile can be applied inside a modern web development agency. Talk covers resource assignment, Scrum, Kanban, developer empowerment and continuous delivery with client satisfaction.

Citation preview

Page 1: Project managemen, the agile way

Project managementthe Agile way

Page 2: Project managemen, the agile way

About me

• CEO and CTO @ MindMagnet• Dev agency founded in 2005• 30+ developers• Strong focus on Magento and custom PHP solutions• Background of PHP development and PM• Organizer of Meet Magento Romania

MM14PL

Page 3: Project managemen, the agile way

Disclaimer

What this presentation is not:

● complete description of the Agile Manifesto● full presentation of Scrum / Kanban framework● the perfect recipe

What this presentation tries to be is:

● brief presentation of Scrum● our implementation of Agile● tips from our experience

MM14PL

Page 4: Project managemen, the agile way

The ProjectsEach project is different, but it generally falls in one of the 2 categories:

Development projects Support projects

● a scope of work● has a clear timeline for delivery (weeks)● requires a team assigned full-time● last from a few weeks to a few months● ends with a release

● unpredictable workflow● deadline is always “asap”● requires developers part-time and most of

the times inconsistently● ongoing

Both are profitable, but they require a different approach in management.

MM14PL

Page 5: Project managemen, the agile way

Developer PoolsYou will have 2 developer pools:

1. developers on development project2. available developers

A few tips on these pools:

● try to assign support work to the available developers as much as possible● for “most requested” developers, maybe schedule a day in the week they’re available for support work

(keep that day fixed)● when developers finish their development (scrum) project, they go into the available pool● for new development projects, select the adequate developers from the available pool● don’t overbook your resources, or you’ll fail in the support projects

MM14PL

Page 6: Project managemen, the agile way

Agile Values

Values (agilemanifesto.org):

● Individuals and interactions over processes and tools● Working software over comprehensive documentation● Customer collaboration over contract negotiation● Responding to change over following a plan

Key principles:

● (#2) Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

● (#3) Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

● (#5) Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

● (#7) Working software is the primary measure of progress.

MM14PL

Page 7: Project managemen, the agile way

Scrum Projects

MM14PL

Page 8: Project managemen, the agile way

Scrum Projects

Roles

Product Owner ● adds items to backlog

● sets priorities on the product backlog

● the only person who talks to strangers

Scrum Master ● makes sure the framework is respected

● removes obstacles

● identifies and manages conflicts

● empowers team and helps team improve

Development Team ● delivers an increment after each iteration

● owns the sprint backlog and tasks

● ideally 7 (+/- 2), but not more than 12

● self-organising, empowered, generalising specialists

Sponsor (optional) ● empowers the scrum master and or product owner

MM14PL

Page 9: Project managemen, the agile way

Scrum Projects

Project Planning & Estimates

Step 1● Receive client requirements● Clarify vision, requirements, goal for delivery● Agree on a ballpark estimate (money and time)

MM14PL

Page 10: Project managemen, the agile way

Scrum Projects

Project Planning & EstimatesStep 2: Breakdown into Epics

MM14PL

Page 11: Project managemen, the agile way

Scrum Projects

Project Planning & EstimatesStep 3: Breakdown into Stories

MM14PL

Page 12: Project managemen, the agile way

Scrum Projects

Project Planning & EstimatesStep 4: Developer breakdown into tasks (only when inside sprint)

MM14PL

Page 13: Project managemen, the agile way

Scrum Projects

Definition of doneRule: “Done is Done”Definition of done is defined by the team.

Example: ● a task is done when:

● acceptance criteria is met● code is committed and pushed onto story branch

● a story is done when:● all sub-tasks are done● acceptance criteria is met● code is reviewed and approved● code is merged into dev branch

You might also want to have “Definition of ready”

MM14PL

Page 14: Project managemen, the agile way

Scrum Projects

The Sprint

Sprint planning 1At the beginning of the sprint, the product owner presents his goals for the sprint, selects stories from the product backlog he would like completed.

Sprint planning 2The team (with SM, without PO) places points estimates on the stories (doing pocker planning) and commits to a delivery. The team then breaks up the stories into tasks. The result of these 2 meeting is the Sprint Backlog.

Daily stand-upsThe team meets (with SM, without PO) and everybody mentions what they did the day before, what they’ll do today and if they have any blockers.

Sprint review & DemoThe team meets (with SM and PO) and discusses what has been completed this sprint. Then, a demo is done by the team to the client.

Sprint retrospectiveThe team meets (with SM, optionally with PO) and discusses the framework: what went well, what should change. The goal is to increase the velocity.

MM14PL

Page 15: Project managemen, the agile way

Scrum Projects

Sprint WorkInside the sprint, use a Kanban board view.

MM14PL

Page 16: Project managemen, the agile way

Scrum Projects

Tips

● “done is done”● always have a demo at the end of the sprint● never force the team to commit● never extend the sprint● expose problems (don’t cover up overruns)● have the product owner be inside your company● have the scrum master be one of the developers● respect the framework (hold the meetings)● have developers do their own basic QA

MM14PL

Page 17: Project managemen, the agile way

Support Projects

Use a Kanban board, with more statuses.

We use:● To Do (backlog from client)● In Progress (developer pulls)● In Review (client is reviewing)● Pending Deployment● Done (deployed to live)

Define them however the team/project needs it.Set definition of done and definition of ready.

MM14PL

Page 18: Project managemen, the agile way

You’ll need an efficient way to:● allow developers to see what support projects have pending tasks they can take on● allow project managers to see what the progress is on the tasks and set priorities

between projects● allow the client to see what the status is for their task (and what the ETA is)

If you’re favorite tool isn’t doing it, you can try a classic KanBan Board.

Support Projects

Centralised View

MM14PL

Page 19: Project managemen, the agile way

Support Projects

Tips

● “done is done”● promise deadlines you can keep● never un-assign developers from scrum projects● check the definition of ready on a task right when you

receive it (working credentials, required resources, etc.)● try to use available developers as much as possible

MM14PL

Page 20: Project managemen, the agile way

Developer Empowerment

Advantages of agile for developers:

● requires the whole team to understand the client● makes the whole team responsible (good and bad)● creates a flat structure and encourages collaboration● gives the developers a feel of empowerment (they make

decisions, not only execute)● creates a self-organised collaborating team● team’s efficiency increases with each sprint

MM14PL

Page 21: Project managemen, the agile way

Client Education

Advantages of agile for client:

● shows very quick tangible results in deliveries (not just reports)● allows for scope changes late in the project● allows to calibrate effort based on budget● quickly delivers a usable MVP● develops client’s idea using the team’s know-how● agency is being proactive with client’s needs

MM14PL

Page 22: Project managemen, the agile way

Thank you!Email [email protected] @vladstanescu

www.mindmagnetsoftware.com