2. 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
3. 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
4. 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
6. Process and tools Individuals and interactions Following a plan Responding to change Comprehensive documentation Working software Contract negotiation Customer collaboration over over over over The Agile Manifesto–a statement of values Source: www.agilemanifesto.org
7. Iteration 5 Traditional Building of an Application User Interface Layer BV = 100% Iteration 4 (whatever) BV = 0% Iteration 3 Business Logic Layer BV = 0% Iteration 2 0% VALUE Data Access Layer BV = 0% Iteration 1 Database BV = 0% * Created by Stephen Bohlen http://blog.unhandled-exceptions.com Used with permission
8. Agile Building of an Application Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 1 UI UI UI UI UI (whatever) (whatever) (whatever) (whatever) (whatever) 60% VALUE Business Logic Layer Business Logic Layer Business Logic Layer Business Logic Layer Business Logic Layer Data Access Layer Data Access Layer Data Access Layer Data Access Layer Data Access Layer Database Database Database Database Database BV = 20% BV = 40% BV = 60% BV = 80% BV = 100%
10. We’re losing the relay race “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 Hirotaka Takeuchi and IkujiroNonaka, “The New Product Development Game”, Harvard Business Review,January 1986.
11. 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.
13. 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
15. 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
19. 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
20. 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
21. 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
22. 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?
23. 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
24. 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
25. 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
27. 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
28. 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 ThoughtWorksMingle http://studios.thoughtworks.com/mingle-agile-project-management