agile development - a nerdery interactive primer

25
#AGILENERDS

Upload: the-nerdery

Post on 16-Jan-2015

2.717 views

Category:

Technology


0 download

DESCRIPTION

Watch the video from this presentation at http://vimeo.com/35599097

TRANSCRIPT

Page 1: Agile Development - A Nerdery Interactive Primer

#AGILENERDS

Page 2: Agile Development - A Nerdery Interactive Primer

MATT TONAKCOMMUNITY MANAGER

#AGILENERDS

Page 3: Agile Development - A Nerdery Interactive Primer

THE NERDERY

WE PARTNER WITH CREATIVE MINDS AND BIG THINKERS TO ENGINEER AND EXECUTE THEIR INTERACTIVE PROJECTS

HTTP://WWW.NERDERY.COMTWITTER: @THE_NERDERY

952,679 4736HOURS WORKED SINCE 2003 PROJECTS DOGS IN OUR OFFICE BIKE COMMUTERS

HOURS WORKED, LAST 12 MONTHS

PEOPLE WHO WORK AT THE NERDERY

AVERAGE JANUARY TEMPERATURE

TWO HUNDRED NINETY

TWENTY-EIGHT

6

FOURº

#AGILENERDS

Page 4: Agile Development - A Nerdery Interactive Primer

HOW TO PARTICIPATEUsing the questions panels in the GoToMeeting app

On Twitter @The_Nerdery

Tweet with the #agilenerds hashtag

Send us an email at [email protected]

#AGILENERDS

Page 5: Agile Development - A Nerdery Interactive Primer

MICHAELSOFTWARE PROJECT MANAGER

#AGILENERDS

Page 6: Agile Development - A Nerdery Interactive Primer

AGILE DEVELOPMENTLOTS OF WORDS AND ONE PICTURE.

#AGILENERDS

Page 7: Agile Development - A Nerdery Interactive Primer

HOW IS AGILE DIFFERENT?

Agile development, in a nutshell, is not a rigid process. Following the base tenets of the Agile process and adapting to the needs of the client is what makes this production methodology work for both clients and development staff.

TRANSLATION: This makes people happy.

#AGILENERDS

Page 8: Agile Development - A Nerdery Interactive Primer

AGILE BUZZWORDSProduct Owner Quite simply, the person who makes decisions on the project

Scrum MasterThe person who maintains Agile process

SprintsThe length of time between iterations.

User StoriesItems in a project written out in a story format

Product BacklogWhere the User Stories are maintained.

#AGILENERDS

Page 9: Agile Development - A Nerdery Interactive Primer

FOUR CENTRAL TENETS OF THE AGILE PROCESS

1. TransparencyAllowing the client to see EXACTLY where development during production. With complete transparency into WHAT is being developed and WHERE the priorities are in the project.

2. CommunicationTransparency brings easy communication. Clients have an unobstructed view of their project status. Clients can be as active or removed from the project as they like.

#AGILENERDS

Page 10: Agile Development - A Nerdery Interactive Primer

FOUR CENTRAL TENETS OF THE AGILE PROCESS

3. Iterative DevelopmentAgile development is broken down into Sprints that allow clients to understand and approve the focus of the development process where applicable. Adjusting Sprints to match the needs of the technology and timelines is easy with transparency and strong communication.

4. PrioritizationCommunication with the client allows a project to quickly change focus if necessary. Meeting a “demo date” is significantly easier if the client is directly involved in prioritizing the development focus. Adding and removing features now becomes a logical process rather than an endless cycle of change orders.

#AGILENERDS

Page 11: Agile Development - A Nerdery Interactive Primer

HOW IT WORKS

1. Understanding Client Needs

2. Prepare for Development

3. Setting Sprints

4. Iterative Delivery

5. Backlog Maintenance

A standard flow for an Agile project is broken down into five elements:

#AGILENERDS

Page 12: Agile Development - A Nerdery Interactive Primer

1. UNDERSTANDING CLIENT NEEDS

Sales Engineers work with the client to get an estimate and collect requirements for the project.

UX works with the client to clearly define those needs into a workable tool (wireframes, etc).

Development researches the needs of the client from the SE estimate, wireframes and client communication.

#AGILENERDS

Page 13: Agile Development - A Nerdery Interactive Primer

2. PREPARE FOR DEVELOPMENTDevelopment functionality needs are broken into granular User Stories.User Story example: “As a user, I want to be able to…”

A Backlog of User Stories is created and clearly defines the entire project’s needs.

User Stories are given point values (1,2,3,5,8,13) based on:DifficultyPotential RiskTesting timeOverall development time

Developers set Sprint velocityWhat can they do in X weeks development?Velocity set by development team for accuracy.

#AGILENERDS

Page 14: Agile Development - A Nerdery Interactive Primer

3. SETTING SPRINTS

Client sets Sprint priorities.Where applicable. Often a first Sprint can be a longer development cycle to set up a development environment like Drupal. When this occurs, Sprint 1 is given a longer duration, and subsequent Sprints are more client-focused priorities.

Velocity allows client control.

“Wouldn’t it be cool if…” is much easier to maintain.

#AGILENERDS

Page 15: Agile Development - A Nerdery Interactive Primer

4. ITERATIVE DELIVERY

Projects with Sprint goals leave clients much more content.YES! Even when their overall project may not be complete, they UNDERSTAND where the project is because they have been directly involved in prioritizing the project needs.

Clients know when the Sprints are ending and can accurately plan to meet their needs.

#AGILENERDS

Page 16: Agile Development - A Nerdery Interactive Primer

5. BACKLOG MAINTENANCE

Clients understand the remaining elements in their project.

Future Sales!

Clients often request additional time for more Sprints.

In advance!

#AGILENERDS

Page 17: Agile Development - A Nerdery Interactive Primer

SO… DOES THIS WORK FOR EVERY PROJECT?

No. In fact, many clients have heard the buzzword “Agile” thrown around and assume every project is capable of fitting into the methodology.

Many clients do it wrong.

#AGILENERDS

Page 18: Agile Development - A Nerdery Interactive Primer

PEANUT BUTTER JELLY TIME!

Interactive fun.

#AGILENERDS

Page 19: Agile Development - A Nerdery Interactive Primer

DOES NOT FIT

Typically, an Agile project should be at least 3 Sprint cycles. Remember that a good Agile project needs ramp-up and preparation time. A 200 hour project could easily add 20-30 hours to properly prepare for an Agile development process.

Resolution: Use the core tenets of Agile, but not a “pure” Agile system.

Small Projects

#AGILENERDS

Page 20: Agile Development - A Nerdery Interactive Primer

DOES NOT FIT

Development tools like some CMS tools tend to be very heavy on back end development. It can often take over a month to set up the development environment before iterative builds can be developed.

Resolution: Long Sprint 1, followed by iterative Sprints

Heavy Back End

#AGILENERDS

Page 21: Agile Development - A Nerdery Interactive Primer

DOES NOT (ALWAYS) FIT

The User Experience development cycle is TYPICALLY much more suited to a waterfall approach. Agile is really in existence for a development process where elements can take “10 minutes or 10 days”.

UX!

#AGILENERDS

Page 22: Agile Development - A Nerdery Interactive Primer

SCOPE OF WORK ANDTHE NERDERY PROCESS

Key elements of Agile development can benefit the Nerdery development team and the client.

Agile is a “pay for time” development cycle. Time & Materials.

Example: Commerce Guys wanted to hire 2 developers and a PM for 3 Sprints

2X Developers = 80 hrs/wk1X PM = 20hrs/wk= 100 hrs/wk3 Sprints@ 2 weeks each = 600 hours total

#AGILENERDS

Page 23: Agile Development - A Nerdery Interactive Primer

SCOPE OF WORK ANDTHE NERDERY PROCESS

Set expectations early!

Client transparency allows a client to know exactly what to expect in the overall project, what to budget for now, when they will get the project, what will be in the project, and what to budget for in the future.

“Hands-on” Clients

Not that any of us have ever had to deal with this, but…Hands-on clients can prioritize.Developers can adjust to meet new priorities.The client can be in control of the development.

#AGILENERDS

Page 24: Agile Development - A Nerdery Interactive Primer

QUESTIONS?Using the questions panels in the GoToMeeting app

On Twitter @The_Nerdery

Tweet with the #agilenerds hashtag

Send us an email at [email protected]

More answers online at http://nerdery.com

#AGILENERDS

Page 25: Agile Development - A Nerdery Interactive Primer

#AGILENERDS