agile development - a nerdery interactive primer
DESCRIPTION
Watch the video from this presentation at http://vimeo.com/35599097TRANSCRIPT
#AGILENERDS
MATT TONAKCOMMUNITY MANAGER
#AGILENERDS
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
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
MICHAELSOFTWARE PROJECT MANAGER
#AGILENERDS
AGILE DEVELOPMENTLOTS OF WORDS AND ONE PICTURE.
#AGILENERDS
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
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
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
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
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
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
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
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
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
5. BACKLOG MAINTENANCE
Clients understand the remaining elements in their project.
Future Sales!
Clients often request additional time for more Sprints.
In advance!
#AGILENERDS
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
PEANUT BUTTER JELLY TIME!
Interactive fun.
#AGILENERDS
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
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
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
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
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
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
#AGILENERDS