Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Curing the Agile Hangover  with Software Craftsmanship
BACKGROUND
Waterfall ProcessRequirements     Dev       Test    Release
Teams Divided By Roles  ProjectManagers     Developers   Testers/ Analysts
Component TeamsDev Team 1         Dev Team 2     Dev Team 3 Component 1        Component 2    Component 3
AGILE ADOPTION
Scrum Teams          Scrum                   DevelopersProduct   MasterOwner           QA         BA                      ...
The Hangover                 Lack of Technical Expertise     S  tagnant S     kill-set Long running buildsLate discovery o...
The Off-Shore Effect
Low Moral                Poor ROI                The              HangoverLow Quality          Us and Them Software       ...
Low Moral              Culture of Learning• Bring mentors in that could lead by example  and motivate people• Internal Com...
Low Moral                 Social Coding• Pair Programming• Feature Branches• Pull Request Based Commit Model     – Code re...
Low Moral                      Equality- No Special teams- No positions or hierarchies within the teams    - Individual ef...
Low Moral                  Recruitment- Recruitment is a team activity- Passion is a key criteria    - Foundations of soft...
Community of                          Poor ROIProfessionals                 The               Hangover Low Quality        ...
Poor ROIFocus on Quality• Time reserved for improvements  – Developers can make a call on what to improve    and when• Thi...
Poor ROIQuality is a team concern• Design Committee to discuss and  communicate System Design• Stop and Fix Attitude  – No...
Poor ROIContinuous Delivery• Continuous and Frequent Deployment to  Production  – Release even when minor changes are made...
Community of                    Steadily Add ValueProfessionals                 The               Hangover Low Quality    ...
A different mindset         • Emphasis on TDD              – Automated tests at all levels         • Business domain refle...
Basic quality checks • Comprehensive static analysis during CI      – Code Coverage, PMD, Findbugs, Checkstyle etc. • Qual...
Tools and Paradigms   • Technology decisions backed by Business     Requirements   • Understand different programming para...
Community of                Steadily Add ValueProfessionals             The           HangoverWell Crafted      Us and The...
Understand the Business- BAs are part of the team (at least one per  team)- BAs often pair with developers  - BDD and Spec...
Closer to Production Services- Close collaboration between developers and  production services  - DevOps                  ...
Community of               Steadily AddProfessionals                 Value                Software           Craftsmanship...
ThanksSandro Mancuso                     Mashooq Badarsandro.mancuso@ubs.com            mashooq.badar@ubs.com@sandromancus...
Prochain SlideShare
Chargement dans…5
×

Curing Agile Hangover: Sandro Mancuso and Mashooq Badar

1 198 vues

Publié le

Agile adoption brings into focus the shortcomings in the existing engineering practices. After undergoing an Agile transformation for a few years at UBS, where the focus was heavy on process and light on the technical disciplines, it is an understatement to say that we still have problems. We call this the Agile Hangover. Focusing on the technical practices is essential to a successful software project, regardless of the process. Software Craftsmanship principles have been essential in tackling the problems we face. In this talk we will share our experiences in how we are trying to find the right balance between technical practices and processes. Empowering professional software engineers, well defined testing strategy, process automation, high investment in people development, requirements management and strong emphasis on quality have been the key areas we have been focusing the most.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Curing Agile Hangover: Sandro Mancuso and Mashooq Badar

  1. 1. Curing the Agile Hangover with Software Craftsmanship
  2. 2. BACKGROUND
  3. 3. Waterfall ProcessRequirements Dev Test Release
  4. 4. Teams Divided By Roles ProjectManagers Developers Testers/ Analysts
  5. 5. Component TeamsDev Team 1 Dev Team 2 Dev Team 3 Component 1 Component 2 Component 3
  6. 6. AGILE ADOPTION
  7. 7. Scrum Teams Scrum DevelopersProduct MasterOwner QA BA Component 3 Component 2 Component 1
  8. 8. The Hangover Lack of Technical Expertise S tagnant S kill-set Long running buildsLate discovery of Bugs Low Moral Unstable S ystem Requirements not well understood Inefficient Develop, Debug, Deploy CyclesUnreliable and Costly Tests Mountain of Technical Debt
  9. 9. The Off-Shore Effect
  10. 10. Low Moral Poor ROI The HangoverLow Quality Us and Them Software Attitude
  11. 11. Low Moral Culture of Learning• Bring mentors in that could lead by example and motivate people• Internal Communities of Practice – Learning Sessions• Active participation in external communities
  12. 12. Low Moral Social Coding• Pair Programming• Feature Branches• Pull Request Based Commit Model – Code reviewed by members of another team
  13. 13. Low Moral Equality- No Special teams- No positions or hierarchies within the teams - Individual efforts are valued and recognised by everyone – No egos
  14. 14. Low Moral Recruitment- Recruitment is a team activity- Passion is a key criteria - Foundations of software development is more important than technology specific knowledge
  15. 15. Community of Poor ROIProfessionals The Hangover Low Quality Us and Them Software Attitude
  16. 16. Poor ROIFocus on Quality• Time reserved for improvements – Developers can make a call on what to improve and when• This time is agreed by the business – Improvements articulated so that the value is well understood – Improvements are communicated
  17. 17. Poor ROIQuality is a team concern• Design Committee to discuss and communicate System Design• Stop and Fix Attitude – No broken windows• Boy Scout Rule – Always leave the campground cleaner than you found it
  18. 18. Poor ROIContinuous Delivery• Continuous and Frequent Deployment to Production – Release even when minor changes are made• Strive towards One Button process for release and deployment – Release promoted through test environment
  19. 19. Community of Steadily Add ValueProfessionals The Hangover Low Quality Us and Them Software Attitude
  20. 20. A different mindset • Emphasis on TDD – Automated tests at all levels • Business domain reflected in the code and design – Focus on readability and maintainability • Simple design • Healthy intolerance of Bad Code – Develop an allergy for code smellsLow Quality Software
  21. 21. Basic quality checks • Comprehensive static analysis during CI – Code Coverage, PMD, Findbugs, Checkstyle etc. • Quality Gates based on Static Analysis – Builds fail if quality threshold is not reached • Well Understood Quality Metrics – Sonar to visualise and report MetricsLow Quality Software
  22. 22. Tools and Paradigms • Technology decisions backed by Business Requirements • Understand different programming paradigms • Leverage tools to increase efficiency – For example: build process efficiencyLow Quality Software
  23. 23. Community of Steadily Add ValueProfessionals The HangoverWell Crafted Us and Them Software Attitude
  24. 24. Understand the Business- BAs are part of the team (at least one per team)- BAs often pair with developers - BDD and Spec by Example- Developers understand that writing code is just one of their responsibilities - Holistic approach to software development Us and Them Attitude
  25. 25. Closer to Production Services- Close collaboration between developers and production services - DevOps Us and Them Attitude
  26. 26. Community of Steadily AddProfessionals Value Software CraftsmanshipWell Crafted Productive Software Partnership
  27. 27. ThanksSandro Mancuso Mashooq Badarsandro.mancuso@ubs.com mashooq.badar@ubs.com@sandromancuso @mashooq

×