SlideShare a Scribd company logo
1 of 46
Cross-Functional Teams + Emergent Design =
           Holistic Product Development
Gary Pedretti, Erik Weber, Pradeepa Narayanaswamy, Dan Piessens
Who are we? Gary Pedretti
• Solutions Manager in Centare’s Agile Practice
• 15 years in the software industry with highly cross-functional
  experience – DBA, Developer, BA, Application Architect
• Scrum: Development Team member, Scrum Master, Coach,
  Certified Scrum Trainer for Scrum.org
• http://blog.GaryPedretti.com/
• Twitter: @GaryPedretti
• http://www.linkedin.com/in/garypedretti
•   MCPD 4.0 Web, MCTS 4.0 WCF/Web/Data Access, MCDBA MSSQL 2000, PSM, PSD .NET, PSD Java, CSM, MCPD 3.5 ASP.NET, MCTS 3.5 WCF/ASP.NET/ADO.NET, MCTS SharePoint 2003
    Infrastructure, MCPD 2.0 Enterprise, MCTS 2.0 Distributed/Web/Windows, MCSD 1.1, MCAD 1.1, MOUS
Who are we? Erik Weber

•   Solutions Manager in Centare’s Agile Practice
•   Healthcare, Finance, Green Energy
•   Huge Conglomerates, Small Employee Owned, Fortune 500
•   Scrum Coach & Trainer for Scrum.org
•   Passionate about Agile
•   Twitter: @ErikJWeber
Who are we? Pradeepa Narayanaswamy

• Senior Consultant in Centare’s Agile Practice
• 12 years in the software industry: Programmer, Analyst, Web
  Designer, Tester, QAT Lead, Agile Consultant, etc.
• Extremely passionate about Agile
• Specialized in Agile Testing
• LinkedIn: www.linkedin.com/in/pradeepanarayanaswamy/
• Twitter: @nPradeepa
Who are we? Dan Piessens

• Staff Consultant for Centare
• Over 12 years of development experience developing and
  designing software in agile teams
• Microsoft Patterns & Practices Champion 2008 through 2013
• Twitter: @dpiessens
Working Software ASAP, Cross-Functional Teams, Emergence

THE VISION OF AGILE SOFTWARE
DEVELOPMENT
What is Agility?
ag·ile      ˈajəl, -ˈ
              -       jī(-ə)l           adjective
• 1: marked by ready ability to move with quick
  easy grace <an agile dancer>
• 2: having a quick resourceful and adaptable
  character <an agile mind>
Synonyms: graceful, featly, feline, gracile, light, light-footed (also light-
foot), lightsome, lissome (also lissom), lithe, lithesome, nimble, spry
                                                 http://www.merriam-webster.com/dictionary/agile
What is Agility in Software Development?
A group of software development methods based on
iterative and incremental development, where
requirements and solutions evolve through collaboration
between self-organizing, cross-functional teams. It
promotes adaptive planning, evolutionary development
and delivery, a time-boxed iterative approach, and
encourages rapid and flexible response to change.
                                http://en.wikipedia.org/wiki/Agile_software_development
Welcome to 1999!
The Gold Standard – Working Software ASAP

• Allows for faster feedback from real end users,
  and the ability to respond to that feedback
• Aligns with businesses’ concerns
  – They never cared about “done but not tested”
  – Must be able to deliver value, earn revenue, etc.
• Eliminates the “80% done” phenomenon
  – You’re never sure you’re done until you are done
The Gold Standard – Working Software ASAP

Agile Manifesto
• “Working software over comprehensive
  documentation”
The Gold Standard – Working Software ASAP
The 12 Principles Behind the Manifesto
• “Working software is the primary measure of
  progress”
• “Early and continuous delivery of valuable
  software”
• “Deliver working software frequently”
The Gold Standard – How? Slices, Not Layers
Layers = delayed value   Slices = value every Sprint




                                   © 1993 - 2013 Scrum.org, All Rights Reserved
What Follows? Cross-Functional Teams
• Whatever skills necessary to complete a slice
• Coders and testers working together
• But also: BAs, UI Designers, UX, Technical
  Writers, Ops/Infrastructure, DevOps, etc. – all
  working together
Cross-Functional Teams

Agile Manifesto
• Individuals and interactions over processes
  and tools
Cross-Functional Teams

The 12 Principles Behind the Manifesto
• “Business people and developers must work
  together daily throughout the project.”
Cross-Functional Teams – How?
• An attitude of optimizing for throughput (working
  software), not capacity (keeping everyone busy in
  their specialty)
• Culture of learning and sharing – moving towards
  “generalizing specialists”
• Attitude: “Whatever it takes to get this done”
• Group ownership of product, work, and “done”
What Else Follows? Emergence
• Admitting that you cannot or will not have all
  of the requirements up front means that you
  will learn things along the way
• Requirements, Architecture, UI Design, Tests,
  Documentation – all can emerge
Emergence
Agile Manifesto
• “Responding to change over following a plan”
Emergence
The 12 Principles Behind the Manifesto
• “Welcome changing requirements, even late
  in development”
• “The best architectures, requirements, and
  designs emerge from self-organizing teams.”
Emergence – How?
• An Iteration != Mini-Waterfall
• Asynchronous execution of all development
  tasks – no more sequential, phase-gated steps
• Each activity is encouraged to inform the
  others
  – Testing informs coding, coding informs
    architecture, analysis informs testing, etc.
Peter DeGrace/Jim Rising – Sashimi Process




      http://www.managedmayhem.com/2009/05/06/agile-software-development-process/
Scrum.org PSF Course
                                        Requirements
• Non Sequential execution is key          Design
• Everyone pitches in regardless of         Code
  individual skill specialty                Test
• The Development Team is held to account as a
  unit


                                   © 1993 - 2013 Scrum.org, All Rights Reserved
To Do: Validate Credit Card Numbers
I want customers’ credit card numbers to be validated so
that they don't have any surprises when ordering
products.

•   We accept MasterCard, Visa, and American Express
•   Should validate length of number as 15 digits
•   Should validate prefix of number
•   This validation should be reusable from other
    applications
THE TEAM DEMONSTRATION
Observations?
Observations?
• The team delivered something “done” and shippable!!!
• Requirements changed – sometimes they are wrong! Gasp!
• New requirements were discovered – but thin-slicing and time
  pressure resulted in many of them (including the Luhn algorithm)
  going to the “To Do” list
• Time pressure forces people to navigate the grey areas to some
  reasonable middle ground
   – Negotiating requirements – “reusable from other applications”
     requirement was negotiated away from a service, and to something
     that could be harvested later
   – Amount of testing that is reasonable – thinking of testing as risk
     management
Observations?
Practices:
• Emergent Design/Architecture
• TDD
• BDD Tools (sorry Liz), ATDD (SpecFlow, Gherkin)
• Swarming/Pairing – pairing across
specialties
• Structuring for Testing Pyramid
This Happens Without “Role Playing”

• Two-minute video…
Enough with the What and the How

HOW ABOUT SOME “WHY?”
The Gold Standard – Working Software ASAP –
                    Why?
• Fast Feedback
   – Opportunity to respond
   – Validate assumptions, requirements, value – validate learning
• Aligns with business and fosters trust
   – Delivers value
   – Earns revenue
• Sets an expectation for a single understanding of “done”
Cross-Functional Teams – Why?
• It’s how we get to working software, ASAP
• Systems Thinking and optimizing for
  throughput, not capacity
Emergence – Why?
• Requirements will never be
  – known completely
  – expressed well
  – up-to-date
• “Requirements = Assumptions” – Jeff Gothelf
• We know that we will always learn things along
  the way
Emergence – Why?
• If you like predictive project plans, I have a guy
  for you…
Winston Royce Told Us This Was Crazy in 1970!!

                   Managing the Development of Large Software Systems – Dr. Winston W. Royce
And He Told Us This Is Still “Risky and Invites Failure”!!!

                         Managing the Development of Large Software Systems – Dr. Winston W. Royce
And He Said Reality Looked More Like This

                Managing the Development of Large Software Systems – Dr. Winston W. Royce
Why Not Just Acknowledge This?




 http://www.managedmayhem.com/2009/05/06/agile-software-development-process/
Do this today!

CALL TO ACTION
Let’s Walk It Backwards This Time
• Expect, allow, and foster Emergence
• Build Cross-Functional Teams
• Get Working Software ASAP
Expect, Allow, and Foster Emergence
• Communication with the business, requirements, testing, domain
   knowledge – learn about Behavior Driven Development (BDD) – Liz
   Keogh http://lizkeogh.com/
• Architecture and modeling - http://www.agilemodeling.com/
• User Experience (UX) – Lean UX by
Jeff Gothelf
• Automated deployment, CD, DevOps,
“Production Hygiene” – The Phoenix Project
by Gene Kim
Build Cross-Functional Teams
• You’re not pulling people away from their boss or
  department to put them in “your area”
• You’re suggesting the company build teams
  horizontally across departments, not vertically within
  departments
• Focus on “Competencies, not Roles” – Jeff Gothelf
• Just encourage things we already did anyway (Tester
  <-> BA and Architect <-> Coder connections, etc.)
Build Cross-Functional Teams



Complete Cross-Functionality   Condescending Jerks
All Generalists
Pure Teamwork


…at least don’t be a Jerk
Get Working Software ASAP
• Challenge yourselves – it can be done…in
 30 Days or Less

• Get cross-functional training for patterns
and practices
Get Working Software ASAP
• What will the challenges be in your
  organization?

• Questions?
Thank You!!!

•   http://blog.GaryPedretti.com/
•   @GaryPedretti
•   http://www.linkedin.com/in/garypedretti
•   Gary.Pedretti@Centare.com

More Related Content

What's hot

A CTOs Perspective on Agile
A CTOs Perspective on AgileA CTOs Perspective on Agile
A CTOs Perspective on AgileBradley Brown
 
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoftChallenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoftXBOSoft
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Adrian Carr
 
Lean sw development il tech-talks
Lean sw development   il tech-talksLean sw development   il tech-talks
Lean sw development il tech-talksElad Sofer
 
Introducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanDimitri Ponomareff
 
Introduction to Agile Values & Principles
Introduction to Agile Values & PrinciplesIntroduction to Agile Values & Principles
Introduction to Agile Values & PrinciplesAndreea Visanoiu
 
Becoming Agile - Challenge the Traditional Thinking
Becoming Agile -  Challenge the Traditional ThinkingBecoming Agile -  Challenge the Traditional Thinking
Becoming Agile - Challenge the Traditional ThinkingAgileSparks
 
Scrum & Kanban Introduction
Scrum & Kanban IntroductionScrum & Kanban Introduction
Scrum & Kanban IntroductionChihyang Li
 
Agile Project Management at The Washington Post
Agile Project Management at The Washington PostAgile Project Management at The Washington Post
Agile Project Management at The Washington PostDave Burke
 
Applying Organizational Change and Leadership in Agile Transformations
Applying Organizational Change and Leadership in Agile TransformationsApplying Organizational Change and Leadership in Agile Transformations
Applying Organizational Change and Leadership in Agile TransformationsCprime
 
Agile - One Size Does Not Fit All
Agile - One Size Does Not Fit AllAgile - One Size Does Not Fit All
Agile - One Size Does Not Fit AllMaurizio Mancini
 
Agile Outside Software
Agile Outside SoftwareAgile Outside Software
Agile Outside Softwareallan kelly
 
Comparing Ways to Scale Agile at Agile Product and Project Manager Meetup
Comparing Ways to Scale Agile at Agile Product and Project Manager MeetupComparing Ways to Scale Agile at Agile Product and Project Manager Meetup
Comparing Ways to Scale Agile at Agile Product and Project Manager MeetupBernd Schiffer
 
How to build rubust org structure for Agile at scale
How to build rubust org structure for Agile at scaleHow to build rubust org structure for Agile at scale
How to build rubust org structure for Agile at scaleYuriy Kudin
 
Scrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile TransformationScrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile TransformationAndreea Visanoiu
 
I don't do agile, i am agile (Barry O'Reilly)
I don't do agile, i am agile (Barry O'Reilly)I don't do agile, i am agile (Barry O'Reilly)
I don't do agile, i am agile (Barry O'Reilly)Ontico
 
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly DistributedDevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly Distributeddev2ops
 
Introductionto Agile Executive Overview Gpi Asia Rev2
Introductionto Agile Executive Overview Gpi Asia Rev2Introductionto Agile Executive Overview Gpi Asia Rev2
Introductionto Agile Executive Overview Gpi Asia Rev2Benjamin Scherrey
 

What's hot (20)

A CTOs Perspective on Agile
A CTOs Perspective on AgileA CTOs Perspective on Agile
A CTOs Perspective on Agile
 
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoftChallenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
Challenges & Successes of Agile Implementation Webinar with BlackLine - XBOSoft
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009
 
Lean sw development il tech-talks
Lean sw development   il tech-talksLean sw development   il tech-talks
Lean sw development il tech-talks
 
Introducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and Kanban
 
Introduction to Agile Values & Principles
Introduction to Agile Values & PrinciplesIntroduction to Agile Values & Principles
Introduction to Agile Values & Principles
 
Agile Methods Overview ]
Agile Methods Overview ]Agile Methods Overview ]
Agile Methods Overview ]
 
Becoming Agile - Challenge the Traditional Thinking
Becoming Agile -  Challenge the Traditional ThinkingBecoming Agile -  Challenge the Traditional Thinking
Becoming Agile - Challenge the Traditional Thinking
 
Scrum & Kanban Introduction
Scrum & Kanban IntroductionScrum & Kanban Introduction
Scrum & Kanban Introduction
 
Agile Project Management at The Washington Post
Agile Project Management at The Washington PostAgile Project Management at The Washington Post
Agile Project Management at The Washington Post
 
Applying Organizational Change and Leadership in Agile Transformations
Applying Organizational Change and Leadership in Agile TransformationsApplying Organizational Change and Leadership in Agile Transformations
Applying Organizational Change and Leadership in Agile Transformations
 
Agile - One Size Does Not Fit All
Agile - One Size Does Not Fit AllAgile - One Size Does Not Fit All
Agile - One Size Does Not Fit All
 
Agile Outside Software
Agile Outside SoftwareAgile Outside Software
Agile Outside Software
 
Agile Webinar: Managing Distributed Teams
Agile Webinar: Managing Distributed TeamsAgile Webinar: Managing Distributed Teams
Agile Webinar: Managing Distributed Teams
 
Comparing Ways to Scale Agile at Agile Product and Project Manager Meetup
Comparing Ways to Scale Agile at Agile Product and Project Manager MeetupComparing Ways to Scale Agile at Agile Product and Project Manager Meetup
Comparing Ways to Scale Agile at Agile Product and Project Manager Meetup
 
How to build rubust org structure for Agile at scale
How to build rubust org structure for Agile at scaleHow to build rubust org structure for Agile at scale
How to build rubust org structure for Agile at scale
 
Scrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile TransformationScrum. Beginning Your Agile Transformation
Scrum. Beginning Your Agile Transformation
 
I don't do agile, i am agile (Barry O'Reilly)
I don't do agile, i am agile (Barry O'Reilly)I don't do agile, i am agile (Barry O'Reilly)
I don't do agile, i am agile (Barry O'Reilly)
 
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly DistributedDevOps: The Future is Already Here — It’s Just Unevenly Distributed
DevOps: The Future is Already Here — It’s Just Unevenly Distributed
 
Introductionto Agile Executive Overview Gpi Asia Rev2
Introductionto Agile Executive Overview Gpi Asia Rev2Introductionto Agile Executive Overview Gpi Asia Rev2
Introductionto Agile Executive Overview Gpi Asia Rev2
 

Similar to Holistic Product Development

Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentSynerzip
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryNaveen Kumar Singh
 
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко АнтонSolit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антонsolit
 
How to create awesome customer experiences
How to create awesome customer experiencesHow to create awesome customer experiences
How to create awesome customer experiencesMorgan Simonsen
 
Business Agility - Pivot or Perish v1.5
Business Agility - Pivot or Perish v1.5Business Agility - Pivot or Perish v1.5
Business Agility - Pivot or Perish v1.5Richard Cheng
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Naresh Jain
 
Standardization and strategy in agile
Standardization and strategy in agileStandardization and strategy in agile
Standardization and strategy in agileNaveen Gupta
 
sitHH16 - The Implications of Becoming Agile
sitHH16 - The Implications of Becoming AgilesitHH16 - The Implications of Becoming Agile
sitHH16 - The Implications of Becoming AgileMarkus Theilen
 
Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...Andy Talbot
 
Way to Agile - USTH
Way to Agile - USTHWay to Agile - USTH
Way to Agile - USTHHien Nguyen
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training Anat (Alon) Salhov
 
Lean and agile in a chestnut
Lean and agile in a chestnutLean and agile in a chestnut
Lean and agile in a chestnutGeorge Stamos
 
T1dbpcgirhu9afyr9fgf signature-e1e8931182a0dcf02346befbfa9f0fcf644737855bed1e...
T1dbpcgirhu9afyr9fgf signature-e1e8931182a0dcf02346befbfa9f0fcf644737855bed1e...T1dbpcgirhu9afyr9fgf signature-e1e8931182a0dcf02346befbfa9f0fcf644737855bed1e...
T1dbpcgirhu9afyr9fgf signature-e1e8931182a0dcf02346befbfa9f0fcf644737855bed1e...Damien Lee🏆PMI-ACP, SCT,SMC,L6σOB,ITMLP
 
Beyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleBeyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleTasktop
 

Similar to Holistic Product Development (20)

State of Agile 2017
State of Agile 2017State of Agile 2017
State of Agile 2017
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Fundamentals of Agile
Fundamentals of AgileFundamentals of Agile
Fundamentals of Agile
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Synerzip Agile Software Development
Synerzip Agile Software DevelopmentSynerzip Agile Software Development
Synerzip Agile Software Development
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
 
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко АнтонSolit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
Solit 2014, Agile ValueTeam, учимся понимать Scrum, Семенченко Антон
 
How to create awesome customer experiences
How to create awesome customer experiencesHow to create awesome customer experiences
How to create awesome customer experiences
 
Business Agility - Pivot or Perish v1.5
Business Agility - Pivot or Perish v1.5Business Agility - Pivot or Perish v1.5
Business Agility - Pivot or Perish v1.5
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
Standardization and strategy in agile
Standardization and strategy in agileStandardization and strategy in agile
Standardization and strategy in agile
 
sitHH16 - The Implications of Becoming Agile
sitHH16 - The Implications of Becoming AgilesitHH16 - The Implications of Becoming Agile
sitHH16 - The Implications of Becoming Agile
 
Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...Building enterprise platforms - off the beaten path - SharePoint User Group U...
Building enterprise platforms - off the beaten path - SharePoint User Group U...
 
Way to Agile - USTH
Way to Agile - USTHWay to Agile - USTH
Way to Agile - USTH
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training
 
Lean and agile in a chestnut
Lean and agile in a chestnutLean and agile in a chestnut
Lean and agile in a chestnut
 
T1dbpcgirhu9afyr9fgf signature-e1e8931182a0dcf02346befbfa9f0fcf644737855bed1e...
T1dbpcgirhu9afyr9fgf signature-e1e8931182a0dcf02346befbfa9f0fcf644737855bed1e...T1dbpcgirhu9afyr9fgf signature-e1e8931182a0dcf02346befbfa9f0fcf644737855bed1e...
T1dbpcgirhu9afyr9fgf signature-e1e8931182a0dcf02346befbfa9f0fcf644737855bed1e...
 
Fundamentals of Agile Methodologies - Part I
Fundamentals of Agile Methodologies - Part IFundamentals of Agile Methodologies - Part I
Fundamentals of Agile Methodologies - Part I
 
Agile från dag 1
Agile från dag 1Agile från dag 1
Agile från dag 1
 
Beyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleBeyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at Scale
 

More from Gary Pedretti

Territories, Not Hierarchies
Territories, Not HierarchiesTerritories, Not Hierarchies
Territories, Not HierarchiesGary Pedretti
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeGary Pedretti
 
King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut ArchitectureGary Pedretti
 
Agile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayAgile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayGary Pedretti
 
This IS Agile Development
This IS Agile DevelopmentThis IS Agile Development
This IS Agile DevelopmentGary Pedretti
 
TFS 2012 + VS 2012 = Agile Goodness???
TFS 2012 + VS 2012 = Agile Goodness???TFS 2012 + VS 2012 = Agile Goodness???
TFS 2012 + VS 2012 = Agile Goodness???Gary Pedretti
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arpGary Pedretti
 
Agile Modeling using the Architecture Tools in VS 2010
Agile Modeling  using the Architecture Tools in VS 2010Agile Modeling  using the Architecture Tools in VS 2010
Agile Modeling using the Architecture Tools in VS 2010Gary Pedretti
 

More from Gary Pedretti (9)

Territories, Not Hierarchies
Territories, Not HierarchiesTerritories, Not Hierarchies
Territories, Not Hierarchies
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New Hope
 
King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut Architecture
 
Agile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayAgile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we Today
 
This IS Agile Development
This IS Agile DevelopmentThis IS Agile Development
This IS Agile Development
 
TFS 2012 + VS 2012 = Agile Goodness???
TFS 2012 + VS 2012 = Agile Goodness???TFS 2012 + VS 2012 = Agile Goodness???
TFS 2012 + VS 2012 = Agile Goodness???
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
T4 presentation
T4 presentationT4 presentation
T4 presentation
 
Agile Modeling using the Architecture Tools in VS 2010
Agile Modeling  using the Architecture Tools in VS 2010Agile Modeling  using the Architecture Tools in VS 2010
Agile Modeling using the Architecture Tools in VS 2010
 

Recently uploaded

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Holistic Product Development

  • 1. Cross-Functional Teams + Emergent Design = Holistic Product Development Gary Pedretti, Erik Weber, Pradeepa Narayanaswamy, Dan Piessens
  • 2. Who are we? Gary Pedretti • Solutions Manager in Centare’s Agile Practice • 15 years in the software industry with highly cross-functional experience – DBA, Developer, BA, Application Architect • Scrum: Development Team member, Scrum Master, Coach, Certified Scrum Trainer for Scrum.org • http://blog.GaryPedretti.com/ • Twitter: @GaryPedretti • http://www.linkedin.com/in/garypedretti • MCPD 4.0 Web, MCTS 4.0 WCF/Web/Data Access, MCDBA MSSQL 2000, PSM, PSD .NET, PSD Java, CSM, MCPD 3.5 ASP.NET, MCTS 3.5 WCF/ASP.NET/ADO.NET, MCTS SharePoint 2003 Infrastructure, MCPD 2.0 Enterprise, MCTS 2.0 Distributed/Web/Windows, MCSD 1.1, MCAD 1.1, MOUS
  • 3. Who are we? Erik Weber • Solutions Manager in Centare’s Agile Practice • Healthcare, Finance, Green Energy • Huge Conglomerates, Small Employee Owned, Fortune 500 • Scrum Coach & Trainer for Scrum.org • Passionate about Agile • Twitter: @ErikJWeber
  • 4. Who are we? Pradeepa Narayanaswamy • Senior Consultant in Centare’s Agile Practice • 12 years in the software industry: Programmer, Analyst, Web Designer, Tester, QAT Lead, Agile Consultant, etc. • Extremely passionate about Agile • Specialized in Agile Testing • LinkedIn: www.linkedin.com/in/pradeepanarayanaswamy/ • Twitter: @nPradeepa
  • 5. Who are we? Dan Piessens • Staff Consultant for Centare • Over 12 years of development experience developing and designing software in agile teams • Microsoft Patterns & Practices Champion 2008 through 2013 • Twitter: @dpiessens
  • 6. Working Software ASAP, Cross-Functional Teams, Emergence THE VISION OF AGILE SOFTWARE DEVELOPMENT
  • 7. What is Agility? ag·ile ˈajəl, -ˈ - jī(-ə)l adjective • 1: marked by ready ability to move with quick easy grace <an agile dancer> • 2: having a quick resourceful and adaptable character <an agile mind> Synonyms: graceful, featly, feline, gracile, light, light-footed (also light- foot), lightsome, lissome (also lissom), lithe, lithesome, nimble, spry http://www.merriam-webster.com/dictionary/agile
  • 8. What is Agility in Software Development? A group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. http://en.wikipedia.org/wiki/Agile_software_development
  • 10. The Gold Standard – Working Software ASAP • Allows for faster feedback from real end users, and the ability to respond to that feedback • Aligns with businesses’ concerns – They never cared about “done but not tested” – Must be able to deliver value, earn revenue, etc. • Eliminates the “80% done” phenomenon – You’re never sure you’re done until you are done
  • 11. The Gold Standard – Working Software ASAP Agile Manifesto • “Working software over comprehensive documentation”
  • 12. The Gold Standard – Working Software ASAP The 12 Principles Behind the Manifesto • “Working software is the primary measure of progress” • “Early and continuous delivery of valuable software” • “Deliver working software frequently”
  • 13. The Gold Standard – How? Slices, Not Layers Layers = delayed value Slices = value every Sprint © 1993 - 2013 Scrum.org, All Rights Reserved
  • 14. What Follows? Cross-Functional Teams • Whatever skills necessary to complete a slice • Coders and testers working together • But also: BAs, UI Designers, UX, Technical Writers, Ops/Infrastructure, DevOps, etc. – all working together
  • 15. Cross-Functional Teams Agile Manifesto • Individuals and interactions over processes and tools
  • 16. Cross-Functional Teams The 12 Principles Behind the Manifesto • “Business people and developers must work together daily throughout the project.”
  • 17. Cross-Functional Teams – How? • An attitude of optimizing for throughput (working software), not capacity (keeping everyone busy in their specialty) • Culture of learning and sharing – moving towards “generalizing specialists” • Attitude: “Whatever it takes to get this done” • Group ownership of product, work, and “done”
  • 18. What Else Follows? Emergence • Admitting that you cannot or will not have all of the requirements up front means that you will learn things along the way • Requirements, Architecture, UI Design, Tests, Documentation – all can emerge
  • 19. Emergence Agile Manifesto • “Responding to change over following a plan”
  • 20. Emergence The 12 Principles Behind the Manifesto • “Welcome changing requirements, even late in development” • “The best architectures, requirements, and designs emerge from self-organizing teams.”
  • 21. Emergence – How? • An Iteration != Mini-Waterfall • Asynchronous execution of all development tasks – no more sequential, phase-gated steps • Each activity is encouraged to inform the others – Testing informs coding, coding informs architecture, analysis informs testing, etc.
  • 22. Peter DeGrace/Jim Rising – Sashimi Process http://www.managedmayhem.com/2009/05/06/agile-software-development-process/
  • 23. Scrum.org PSF Course Requirements • Non Sequential execution is key Design • Everyone pitches in regardless of Code individual skill specialty Test • The Development Team is held to account as a unit © 1993 - 2013 Scrum.org, All Rights Reserved
  • 24. To Do: Validate Credit Card Numbers I want customers’ credit card numbers to be validated so that they don't have any surprises when ordering products. • We accept MasterCard, Visa, and American Express • Should validate length of number as 15 digits • Should validate prefix of number • This validation should be reusable from other applications
  • 27. Observations? • The team delivered something “done” and shippable!!! • Requirements changed – sometimes they are wrong! Gasp! • New requirements were discovered – but thin-slicing and time pressure resulted in many of them (including the Luhn algorithm) going to the “To Do” list • Time pressure forces people to navigate the grey areas to some reasonable middle ground – Negotiating requirements – “reusable from other applications” requirement was negotiated away from a service, and to something that could be harvested later – Amount of testing that is reasonable – thinking of testing as risk management
  • 28. Observations? Practices: • Emergent Design/Architecture • TDD • BDD Tools (sorry Liz), ATDD (SpecFlow, Gherkin) • Swarming/Pairing – pairing across specialties • Structuring for Testing Pyramid
  • 29. This Happens Without “Role Playing” • Two-minute video…
  • 30. Enough with the What and the How HOW ABOUT SOME “WHY?”
  • 31. The Gold Standard – Working Software ASAP – Why? • Fast Feedback – Opportunity to respond – Validate assumptions, requirements, value – validate learning • Aligns with business and fosters trust – Delivers value – Earns revenue • Sets an expectation for a single understanding of “done”
  • 32. Cross-Functional Teams – Why? • It’s how we get to working software, ASAP • Systems Thinking and optimizing for throughput, not capacity
  • 33. Emergence – Why? • Requirements will never be – known completely – expressed well – up-to-date • “Requirements = Assumptions” – Jeff Gothelf • We know that we will always learn things along the way
  • 34. Emergence – Why? • If you like predictive project plans, I have a guy for you…
  • 35. Winston Royce Told Us This Was Crazy in 1970!! Managing the Development of Large Software Systems – Dr. Winston W. Royce
  • 36. And He Told Us This Is Still “Risky and Invites Failure”!!! Managing the Development of Large Software Systems – Dr. Winston W. Royce
  • 37. And He Said Reality Looked More Like This Managing the Development of Large Software Systems – Dr. Winston W. Royce
  • 38. Why Not Just Acknowledge This? http://www.managedmayhem.com/2009/05/06/agile-software-development-process/
  • 39. Do this today! CALL TO ACTION
  • 40. Let’s Walk It Backwards This Time • Expect, allow, and foster Emergence • Build Cross-Functional Teams • Get Working Software ASAP
  • 41. Expect, Allow, and Foster Emergence • Communication with the business, requirements, testing, domain knowledge – learn about Behavior Driven Development (BDD) – Liz Keogh http://lizkeogh.com/ • Architecture and modeling - http://www.agilemodeling.com/ • User Experience (UX) – Lean UX by Jeff Gothelf • Automated deployment, CD, DevOps, “Production Hygiene” – The Phoenix Project by Gene Kim
  • 42. Build Cross-Functional Teams • You’re not pulling people away from their boss or department to put them in “your area” • You’re suggesting the company build teams horizontally across departments, not vertically within departments • Focus on “Competencies, not Roles” – Jeff Gothelf • Just encourage things we already did anyway (Tester <-> BA and Architect <-> Coder connections, etc.)
  • 43. Build Cross-Functional Teams Complete Cross-Functionality Condescending Jerks All Generalists Pure Teamwork …at least don’t be a Jerk
  • 44. Get Working Software ASAP • Challenge yourselves – it can be done…in 30 Days or Less • Get cross-functional training for patterns and practices
  • 45. Get Working Software ASAP • What will the challenges be in your organization? • Questions?
  • 46. Thank You!!! • http://blog.GaryPedretti.com/ • @GaryPedretti • http://www.linkedin.com/in/garypedretti • Gary.Pedretti@Centare.com

Editor's Notes

  1. Working Software ASAP, Cross-Functional Teams, Emergence
  2. Note this is NOT the same as SPEED
  3. Note that the definition here aligns with the dictionary definition of Agile, and is NOT about SPEED
  4. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more.
  5. We follow these principles:Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Welcome changing requirements, even late in development. Agile processes harness change for the customer&apos;s competitive advantage.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.Business people and developers must work together daily throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity--the art of maximizing the amount of work not done--is essential.The best architectures, requirements, and designs emerge from self-organizing teams.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  6. Point out that the vertical lines on the right-hand (slices) diagram are never straightFor example, Sprint 2 may require the team to go back and refactor code/decisions made in Sprint 1Also, it takes a cross-functional team to do this effectivelyDoes it take smart people to do emergent architecture? No, it takes smart people to develop software
  7. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more.
  8. We follow these principles:Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Welcome changing requirements, even late in development. Agile processes harness change for the customer&apos;s competitive advantage.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.Business people and developers must work together daily throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity--the art of maximizing the amount of work not done--is essential.The best architectures, requirements, and designs emerge from self-organizing teams.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  9. You know, like what ‘Team’ is supposed to mean.
  10. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more.
  11. We follow these principles:Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.Welcome changing requirements, even late in development. Agile processes harness change for the customer&apos;s competitive advantage.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.Business people and developers must work together daily throughout the project.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.Working software is the primary measure of progress.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.Continuous attention to technical excellence and good design enhances agility.Simplicity--the art of maximizing the amount of work not done--is essential.The best architectures, requirements, and designs emerge from self-organizing teams.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  12. Where ACTIVITY formerly meant SEQUENTIAL STEP
  13. Emergent Design/Architecture: Following conventions of the original application, which does have some basic layering and use of good, known patterns (MVC, Repositories), negotiating for a “harvest, don’t grow” approach with CC ServiceTesting Pyramid – what’s interesting about the testing pyramid is that it’s not just about testing – yes, it shows that automation has a lot more ROI as you move towards the base, but it also talks about the amount or focus of tests, in a way that CANNOT be achieved without good application design