The values from the Agile Manifesto don’t seem to say much about the craft of software engineering. In fact, they don’t say anything about engineering at all. However, digging a little bit deeper, one quickly realizes that the benefits of Agile methods and practices cannot be realized with low quality software. Agile depends on engineering excellence.
So forget about Agile for a moment, at least the process side of things, and pay attention to the craft of software engineering; or in other words pay attention to building software the right way. Because only then you will be able to rapidly and continuously build the right software.
3. 3
INDUSTRY SOLUTIONS
MEDIA & ENTERTAINMENT
FINANCIAL SERVICES
LIFE SCIENCES
ENERGY RETAIL & DISTRIBUTION
TRAVEL & HOSPITALITY
SOFTWARE & HI-TECH
HEALTHCARE
PRODUCT
DEVELOPMENT
MINDSET
4. 4
INDUSTRY SOLUTIONS
MEDIA & ENTERTAINMENT
FINANCIAL SERVICES
LIFE SCIENCES
ENERGY RETAIL & DISTRIBUTION
TRAVEL & HOSPITALITY
SOFTWARE & HI-TECH
HEALTHCARE
BUSINESS PRACTICES
DIGITAL ENGAGEMENT
CORE PRODUCT ENGINEERING
INTELLIGENT ENTERPRISE
ADVANCED TECHNOLOGY
PRODUCT
DEVELOPMENT
MINDSET
CORE
PRODUCT
ENGINEERING
5. 5
BELARUS
RUSSIA
HUNGARY
UKRAINE
USA, CANADA, MEXICO
POLAND
20
50
50 2800 780
110 125
60 800 320
20 2400 670
30 900 210
60 420 224
TECHNICAL
ARCHITECTS
AGILE-TRAINED
RESOURCES
DEVOPS-TRAINED
RESOURCES
12,600+ PROFESSIONALS
7,700 PROFESSIONALS TRAINED IN AGILE
3,000 PROFESSIONALS TRAINED IN DEVOPS
4,000 PROFESSIONALS SPECIALIZED IN JAVA
500 PROFESSIONALS SPECIALIZED IN MOBILE
NOT JUST A HEADCOUNT
6. 6
POLL
I consider myself one of
• Software engineer
• Architect
• Tester
• Business analyst
• Customer
• Project manager
• Support engineer
• Other...
9. 9
MANIFESTO FOR AGILE SOFTWARE DEVELOPMENT
INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS
RESPONDING TO CHANGE OVER FOLLOWING A PLAN
CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION
WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION
WORKING AS A TEAM
1
10. 10
MANIFESTO FOR AGILE SOFTWARE DEVELOPMENT
INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS
RESPONDING TO CHANGE OVER FOLLOWING A PLAN
CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION
WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION
WORKING AS A TEAM
BUILDING THE RIGHT THING
1
2
11. 11
MANIFESTO FOR AGILE SOFTWARE DEVELOPMENT
INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS
RESPONDING TO CHANGE OVER FOLLOWING A PLAN
CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION
WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION
WORKING AS A TEAM
BUILDING THE RIGHT THING
1
2
BUILDING IT RIGHT
3
12. 12
MANIFESTO FOR AGILE SOFTWARE DEVELOPMENT
INDIVIDUALS AND INTERACTIONS OVER PROCESSES AND TOOLS
RESPONDING TO CHANGE OVER FOLLOWING A PLAN
CUSTOMER COLLABORATION OVER CONTRACT NEGOTIATION
WORKING SOFTWARE OVER COMPREHENSIVE DOCUMENTATION
WORKING AS A TEAM
BUILDING THE RIGHT THING
1
2
CRAFTSMANSHIP OVER CRAP
BUILDING IT RIGHT
3
— Robert C. Martin
13. 13
POLL
I care most about one of
• Working as a team
• Building the right thing
• Building it right
14. 14
BUILDING IT RIGHT
We strive to achieve the highest standards of excellence:
continuously learn, develop, innovate and improve;
and take pride in our engineering and accomplishments
STRIVE FOR EXCELLENCE
VALUE THE INDIVIDUAL
ACT WITH INTEGRITY
ACT AS A TEAM
FOCUS ON THE CUSTOMER
17. 17
2
1
3
LEARNING FROM THE MASTERS
Quality is not negotiable
Design is a series of unvalidated assumptions
The biggest defect is to tolerate defects
18. 18
2
1
3
LEARNING FROM THE MASTERS
Quality is not negotiable
Design is a series of unvalidated assumptions
The biggest defect is to tolerate defects
— Martin Fowler
26. 26
• Rigourous testing
• Automated build
• Automated test execution
QUALITY IS NOT NEGOTIABLE
ENGINEERING PRACTICES
27. 27
POLL
In our project, we use any of
• Automated build
• Automated deploy
• Continuous build/deploy
• Automated tests
• Automated tests on every build
28. 28
2
1
3
LEARNING FROM THE MASTERS
Quality is not negotiable
Design is a series of unvalidated assumptions
The biggest defect is to tolerate defects
— Alistair Cockburn
31. 31
DESIGN IS A SERIES OF UNVALIDATED ASSUMPTIONS
Test
Spike
Spike
Spike
32. 32
DESIGN IS A SERIES OF UNVALIDATED ASSUMPTIONS
Test
Customer
Feedback
Customer Feedback
Customer
Feedback
33. 33
• Rigourous testing
• Automated build
• Automated test execution
• Use spikes to validate technical assumptions
• Use incremental delivery to get early user/customer feedback
DESIGN IS A SERIES OF UNVALIDATED ASSUMPTIONS
ENGINEERING PRACTICES
34. 34
POLL
In our project, we use any of
• Architectural spikes
• Spikes to increase confidence in estimate
• Incremental delivery, building a valuable product
increment regularly
• Product demonstrations to get feedback from our
users/customers
• A/B or variation to get feedback from the end-user
35. 35
2
1
3
LEARNING FROM THE MASTERS
Quality is not negotiable
Design is a series of unvalidated assumptions
The biggest defect is to tolerate defects
— Mary Poppendieck
40. 40
THE BIGGEST DEFECT IS TO TOLERATE DEFECTS
Red, Green,
Refactor
Red, Green,
Refactor
41. 41
THE BIGGEST DEFECT IS TO TOLERATE DEFECTS
Validate Understanding
Test &
Customer Feedback
42. 42
• Rigourous testing
• Automated build
• Automated test execution
• Use spikes to validate technical assumptions
• Use incremental delivery to get early user/customer feedback
• Use test first development to prevent technical defects from being introduced
• Use examples/BDD to prevent functional defects from being introduced
THE BIGGEST DEFECT IS TO TOLERATE DEFECTS
ENGINEERING PRACTICES
43. 43
POLL
In our product we use any of
• Test first development
• Regular planning sessions to align on the
understanding of the functionality
• Examples to clarify the requirements
• Behaviour driven development
44. 44
• Rigourous testing
• Automated build
• Automated test execution
• Use spikes to validate technical assumptions
• Use incremental delivery to get early user/customer feedback
• Use test first development to prevent technical defects from being introduced
• Use examples/BDD to prevent functional defects from being introduced
SO FAR...
ENGINEERING PRACTICES
47. 47
2
1
3
LEARNING FROM THE MASTERS
Quality is not negotiable
Design is a series of unvalidated assumptions
The biggest defect is to tolerate defects