29
Welcome! Agile Software Development for 3 Screens and the Cloud Stephe n Forte

Agile Keynote at PDS Romania

Embed Size (px)

DESCRIPTION

My keynote speech at the PDS in Romania on 09 Dec, 2010.

Citation preview

Page 1: Agile Keynote at PDS Romania

Welcome!

Agile Software Development for 3 Screens and the Cloud

Stephen Forte

Page 2: Agile Keynote at PDS Romania

Speaker.Bio.ToString();• Chief Strategy Officer of Telerik• Certified Scrum Master• Active in the Community:

– International Conference Speaker for 13+ Years– RD, MVP and INETA Speaker – Co-moderator & founder of NYC .NET

Developers Group http://www.nycdotnetdev.com– Wrote a few books: SQL Server 2008 Developers Guide

• MBA from the City University of New York• Past:

– CTO and co-Founder of Corzen, Inc. (TXV: WAN)– CTO of Zagat Survey

• Blog: www.stephenforte.net• Email: [email protected]

Page 3: Agile Keynote at PDS Romania

Building Software Today is a Challenge

• Developing quality software has gotten more complex:– Many different platforms• Three screens and the cloud

– Remote teams/outsourcing– Rapidly changing marketplace– More and more interoperability is required– More transparency is required

Page 4: Agile Keynote at PDS Romania

Agile Benefits

• Same methodology can be used across multiple products and platforms– Reducing risk and increasing quality

• Agile will increase communication– Great for remote teams/outsourcing!

• Agile will help teams react to the rapidly changing market

• Agile will deliver business value sooner

Page 5: Agile Keynote at PDS Romania

What is Agile?

Page 6: Agile Keynote at PDS Romania

The Agile Manifesto–a statement of values

Process and toolsProcess and toolsIndividuals and interactions

Individuals and interactions

over

Following a planFollowing a planResponding to change

Responding to change

over

Source: www.agilemanifesto.org

Comprehensive documentationComprehensive documentationWorking softwareWorking software over

Contract negotiationContract

negotiationCustomer

collaborationCustomer

collaborationover

Page 7: Agile Keynote at PDS Romania

Iteration 1

Iteration 2

Iteration 3

Iteration 4

Iteration 5

Traditional Building of an Application

Database

Data Access Layer

Business Logic Layer

User Interface Layer

(whatever)

BV = 0%

BV = 0%

BV = 0%

BV = 0%

BV = 100%

0% VALUE

* Created by Stephen Bohlen http://blog.unhandled-exceptions.com Used with permission

Page 8: Agile Keynote at PDS Romania

Iteration 2

Iteration 3

Iteration 4

Iteration 5

Iteration 1

Database

Data Access Layer

Business Logic Layer

UI

(whatever)

BV = 20%

Database

Data Access Layer

Business Logic Layer

UI

(whatever)

BV = 40%

Database

Data Access Layer

Business Logic Layer

UI

(whatever)

BV = 60%

Database

Data Access Layer

Business Logic Layer

UI

(whatever)

BV = 80%

Database

Data Access Layer

Business Logic Layer

UI

(whatever)

BV = 100%

60% VALUE

Agile Building of an Application

Page 9: Agile Keynote at PDS Romania

What is Scrum?

Page 10: Agile Keynote at PDS Romania

We’re losing the relay race

Hirotaka Takeuchi and Ikujiro Nonaka, “The New Product Development Game”, Harvard Business Review, January 1986.

“The… ‘relay race’ approach to product development…may conflict with the goals of maximum speed and flexibility. Instead a holistic or ‘rugby’ approach—where a team tries to go the distance as a unit, passing the ball back and forth—may better serve today’s competitive requirements

Page 11: Agile Keynote at PDS Romania

What is Scrum?

• Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.

• Stresses communication• It allows us to rapidly and repeatedly inspect actual

working software (every two weeks to one month).• The business sets the priorities. • Teams self-organize to determine the best way to

deliver the highest priority features.

Page 12: Agile Keynote at PDS Romania

Scrum

Page 13: Agile Keynote at PDS Romania

Story from the Real World

• Situation:– Telerik (an ISV) has many different products and

teams• Cloud, database, developer UI, TFS tools, CMS

• How to Manage the teams?– How to rotate teams members

Page 14: Agile Keynote at PDS Romania

Agile Estimation

Page 15: Agile Keynote at PDS Romania

Agile Estimation

• Wikipedia: Estimation is the calculated approximation of a result which is usable even if input data may be incomplete or uncertain.– Problem is that estimates become a unbreakable

schedule, where any deviation is considered bad

• Agile Estimation throws this logic away and always re-estimates a project after each iteration– Different value system, deviations are not deviations,

they are more accurate estimations– Uses the cone of uncertainty to your advantage

Page 16: Agile Keynote at PDS Romania

The Cone of Uncertainty

Page 17: Agile Keynote at PDS Romania

Story from the Real World

• Situation:– Telerik has three releases a year• March, July, and November

– How to Estimate?!??!

Page 18: Agile Keynote at PDS Romania

Agile and Remote Teams

Page 19: Agile Keynote at PDS Romania

Remote Team Characteristics • A team where one or more members are not in the

same office• Usually in another time zone• Sometimes in another country– Language barriers

• Sometimes a 3rd party– Contractor– Outsourcing

Page 20: Agile Keynote at PDS Romania

Key Challenges for Agile

• Due to lack of proximity, time zones, and language barriers you lose the high bandwidth communication

• Hard to do sprint planning• Hard to do a “Stand-Up” daily meeting

remotely

Page 21: Agile Keynote at PDS Romania

Implementing Agile I• Extra reliance on tools– Web/Cloud based tools for collaboration and

planning• TeamPulse

– Communication tools are a must• Skype• IM• Google Docs• Sharepoint

– Reliance on CI and TFS• Automated test, build, and reporting tools a must

Page 22: Agile Keynote at PDS Romania

Implementing Agile -Time Zones

• The Daily Scrum is flexible!– If the team is ahead of you in Time Zone– Hold the meeting at the end of their day

• What did I do today?• What will I do tomorrow?• What do I need from you today?

– If the team is behind of you in Time Zone– Hold the meeting at the start of their day

• What did I do yesterday?• What will I do today?• What do I need from you today?

Page 23: Agile Keynote at PDS Romania

Best Practices

• Make the communication a measurable deliverable– Write it into the contract

• If the remote team is large enough (off-shore environment) place a FTE from your office on site– Developer rotation

Page 24: Agile Keynote at PDS Romania

Supporting Tools

• Skype, Skype, Skype• Online collaboration and planning tolls– Mingle, TeamPulse, Rally

• www.planningpoker.com • TFS, Gated check-in, SharePoint, Build Reports• Telerik TFS Team Dashboard (Free!)• Web based documentation tools– Google Docs– Wikis

Page 25: Agile Keynote at PDS Romania

Story from the Real World

• Situation:– Remote developers in Egypt• Work week is Sunday to Thursday

– Steve missed the scrum on Easter Sunday• Steve was at Disneyworld with his Nice and Nephew

Page 26: Agile Keynote at PDS Romania

Agile Tools for Teams

Page 27: Agile Keynote at PDS Romania

Why use tools?• Tools help make a developer or team more

efficient in a specific task• Some tools are like “crack cocaine” for developers• Tools are not a “silver bullet” or solution for a lack

of process or bad process– If you have a poor process, the tools will make it worse

Page 28: Agile Keynote at PDS Romania

Popular Tools for Project Mgnt• TFS/Team Explorer– Don’t put your work items into TFS too soon– Scrum templates for TFS• Many but Conchango is most popular

– http://scrumforteamsystem.com/en/default.aspx

– Telerik Work Item Manager and Dashboard (TFS)• http://www.telerik.com/products/tfsmanager-and-

tfsdashboard.aspx

• Agile Project management tools– ThoughtWorks Mingle

http://studios.thoughtworks.com/mingle-agile-project-management

Page 29: Agile Keynote at PDS Romania

Questions?