Agile Keynote at PDS Romania

Preview:

DESCRIPTION

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

Citation preview

Welcome!

Agile Software Development for 3 Screens and the Cloud

Stephen Forte

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: stephenforte@hotmail.com

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

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

What is Agile?

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

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

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

What is Scrum?

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

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.

Scrum

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

Agile Estimation

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

The Cone of Uncertainty

Story from the Real World

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

– How to Estimate?!??!

Agile and Remote Teams

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

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

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

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?

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

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

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

Agile Tools for Teams

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

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

Questions?

Recommended