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.
@PavelChunyayev
Lifecycle of a microservices application
What does it take to develop and run a micro service
by Pavel Chu...
@PavelChunyayev
In theory, there is no difference
between theory and practice.
@PavelChunyayev
In theory, there is no difference
between theory and practice.
But, in practice, there is.
Jan L.A. van de...
@PavelChunyayev
It may be all right in practice, but
it will never work in theory.
Warren Buffett
@PavelChunyayev
What we will cover today
• Lifecycles
• Process for application delivery
• Best team to develop a microser...
@PavelChunyayev
Pavel Chunyayev
• Already three years in the Netherlands
• Background in IT operations, Ukraine, Estonia
•...
@PavelChunyayev
Project lifecycle
@PavelChunyayev
Application lifecycle
@PavelChunyayev
Lifecycle of a feature
Plan Code Build Test Release OperateEnvision
@PavelChunyayev
PDCA
@PavelChunyayev
Build
Measure
Learn
@PavelChunyayev
Business = IT
@PavelChunyayev
Build quality in
Shared responsibility
@PavelChunyayev
DTAP street
@PavelChunyayev
DTAP street
@PavelChunyayev
Continuous Delivery
Plan Code Build Test Release OperateEnvision
@PavelChunyayev
Continuous Delivery
Plan Code Build Test Release OperateEnvision
@PavelChunyayev
@PavelChunyayev
@PavelChunyayev
@PavelChunyayev
@PavelChunyayev
@PavelChunyayev
@PavelChunyayev
“Cease dependence on inspection to achieve quality. Eliminate the
need for inspection on a mass basis by b...
@PavelChunyayev
Build quality in
• Testing is not just presence or absence of defects
• Testing is not a separate process
...
@PavelChunyayev
Testing pyramid
Executiontime
Morebusinessfeedback
Moredevelopmentfeedback
@PavelChunyayev
@PavelChunyayev
Testing is a shared responsibility
@PavelChunyayev
Updating an API contract
Crucial monent in an application lifecycle
@PavelChunyayev
@PavelChunyayev
Updating the contract
@PavelChunyayev
Updating the contract
@PavelChunyayev
Updating the contract
@PavelChunyayev
Updating the contract
@PavelChunyayev
Updating the contract
@PavelChunyayev
A cross-functional team
@PavelChunyayev
High performing team – Purpose and Autonomy
• Does the mission/purpose of my company make me feel like my ...
@PavelChunyayev
High performing team - Mastery
• Do I have the materials & equipment I need to do my work right?
• At work...
@PavelChunyayev
DoI have the opportunity to do
what I do best every day?
@PavelChunyayev
People are companies’ best asset
@PavelChunyayev
“Developing people and the system
so that together they are capable of
achieving successful results is the...
@PavelChunyayev
Lean software development
@PavelChunyayev
Lean software development - Principles
• Eliminate waste
• Amplify learning
• Decide as late as possible
•...
@PavelChunyayev
Waste
• Partially done work (Starting more than finishing)
• Extra processes (Bureaucracy)
• Extra feature...
@PavelChunyayev
Amplify learning
• Pair programming
• Code reviews
• Documentation
• Wiki
• Commented code
• Knowledge sha...
@PavelChunyayev
Decide as late as possible
• For decisions that are irreversible or impractical to reverse
• Keep the opti...
@PavelChunyayev
Deliver as fast as possible
• Continuous Delivery
• DevOps
• Agile methodologies
• Shared responsibility
@PavelChunyayev
Empower the people
• Give responsibility to make decisions about their work
@PavelChunyayev
Build quality in
• Andon – stop the line
• Pair programming
• Test driven development
• Constant feedback
...
@PavelChunyayev
Optimize for the whole
• Optimize for the whole, not specific departments or teams
• E2e process with focu...
@PavelChunyayev
Problems of Lean
• Cargo cult
• Focus on tools, not on the philosophy and culture
• Decide on the solution...
@PavelChunyayev
Lean software development - Principles
• Eliminate waste
• Amplify learning
• Decide as late as possible
•...
@PavelChunyayev
@PavelChunyayev
+31 6 2117 5817
pavel@levi9.com
Common goal
Developer Product Owner Stakeholder
Prochain SlideShare
Chargement dans…5
×
Prochain SlideShare
What to Upload to SlideShare
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

0

Partager

Télécharger pour lire hors ligne

Lifecycle of a microservices application - Iasi, Levi9 meetup - 28-6-2017

Télécharger pour lire hors ligne

A talk delivered at a Levi9 meetup in Iasi. Ideas and important points to successfully deliver a microservices application are discussed.

  • Soyez le premier à aimer ceci

Lifecycle of a microservices application - Iasi, Levi9 meetup - 28-6-2017

  1. 1. @PavelChunyayev Lifecycle of a microservices application What does it take to develop and run a micro service by Pavel Chunyayev, 29-6-2017 Levi Nine, Iasi
  2. 2. @PavelChunyayev In theory, there is no difference between theory and practice.
  3. 3. @PavelChunyayev In theory, there is no difference between theory and practice. But, in practice, there is. Jan L.A. van de Snepscheut and/or Yogi Berra
  4. 4. @PavelChunyayev It may be all right in practice, but it will never work in theory. Warren Buffett
  5. 5. @PavelChunyayev What we will cover today • Lifecycles • Process for application delivery • Best team to develop a microservice • Lean ideas
  6. 6. @PavelChunyayev Pavel Chunyayev • Already three years in the Netherlands • Background in IT operations, Ukraine, Estonia • Help software development to achieve business goals • In company with 900 smart engineers
  7. 7. @PavelChunyayev Project lifecycle
  8. 8. @PavelChunyayev Application lifecycle
  9. 9. @PavelChunyayev Lifecycle of a feature Plan Code Build Test Release OperateEnvision
  10. 10. @PavelChunyayev PDCA
  11. 11. @PavelChunyayev Build Measure Learn
  12. 12. @PavelChunyayev Business = IT
  13. 13. @PavelChunyayev Build quality in Shared responsibility
  14. 14. @PavelChunyayev DTAP street
  15. 15. @PavelChunyayev DTAP street
  16. 16. @PavelChunyayev Continuous Delivery Plan Code Build Test Release OperateEnvision
  17. 17. @PavelChunyayev Continuous Delivery Plan Code Build Test Release OperateEnvision
  18. 18. @PavelChunyayev
  19. 19. @PavelChunyayev
  20. 20. @PavelChunyayev
  21. 21. @PavelChunyayev
  22. 22. @PavelChunyayev
  23. 23. @PavelChunyayev
  24. 24. @PavelChunyayev “Cease dependence on inspection to achieve quality. Eliminate the need for inspection on a mass basis by building quality into the product in the first place.” W. Edwards Deming Fourteen Points for the Transformation of Management
  25. 25. @PavelChunyayev Build quality in • Testing is not just presence or absence of defects • Testing is not a separate process • Test should not just raise the cost of maintenance • Stop thinking about functional testing only • Test early, move tests to the left • Quality goal need to be established early in the development process • Automated testing – part of Definition of Done • TDD
  26. 26. @PavelChunyayev Testing pyramid Executiontime Morebusinessfeedback Moredevelopmentfeedback
  27. 27. @PavelChunyayev
  28. 28. @PavelChunyayev Testing is a shared responsibility
  29. 29. @PavelChunyayev Updating an API contract Crucial monent in an application lifecycle
  30. 30. @PavelChunyayev
  31. 31. @PavelChunyayev Updating the contract
  32. 32. @PavelChunyayev Updating the contract
  33. 33. @PavelChunyayev Updating the contract
  34. 34. @PavelChunyayev Updating the contract
  35. 35. @PavelChunyayev Updating the contract
  36. 36. @PavelChunyayev A cross-functional team
  37. 37. @PavelChunyayev High performing team – Purpose and Autonomy • Does the mission/purpose of my company make me feel like my work is important? • Does my supervisor, or someone at work, seem to care about me as a person? • Do I understand how my everyday decision helps mission/purpose of my company? • Do I know what is expected of me at work? • At work, do my opinions seem to count?
  38. 38. @PavelChunyayev High performing team - Mastery • Do I have the materials & equipment I need to do my work right? • At work, do I have the opportunity to do what I do best every day? • Is there someone at work who cares about my development? • Are my co-workers committed to doing quality work? • In the last 6 months, have I talked with someone about my development? • At work, have I had opportunities to learn and grow?
  39. 39. @PavelChunyayev DoI have the opportunity to do what I do best every day?
  40. 40. @PavelChunyayev People are companies’ best asset
  41. 41. @PavelChunyayev “Developing people and the system so that together they are capable of achieving successful results is the point.” Mary and Tom Poppendieck
  42. 42. @PavelChunyayev Lean software development
  43. 43. @PavelChunyayev Lean software development - Principles • Eliminate waste • Amplify learning • Decide as late as possible • Deliver as fast as possible • Empower the team • Build quality in • Optimize for the whole
  44. 44. @PavelChunyayev Waste • Partially done work (Starting more than finishing) • Extra processes (Bureaucracy) • Extra features (Unnecessary code) • Task switching (Changing requirements and priorities) • Waiting (Delays in the development process) • Motion • Defects (Quality issues, rework)
  45. 45. @PavelChunyayev Amplify learning • Pair programming • Code reviews • Documentation • Wiki • Commented code • Knowledge sharing sessions • Training
  46. 46. @PavelChunyayev Decide as late as possible • For decisions that are irreversible or impractical to reverse • Keep the options for as long as possible • You will know a lot more by the time the decision needs to be made • Too early and you are limited by the choice you could have made without enough information
  47. 47. @PavelChunyayev Deliver as fast as possible • Continuous Delivery • DevOps • Agile methodologies • Shared responsibility
  48. 48. @PavelChunyayev Empower the people • Give responsibility to make decisions about their work
  49. 49. @PavelChunyayev Build quality in • Andon – stop the line • Pair programming • Test driven development • Constant feedback • Minimize handovers (time between stages) • Continuous integration • Automation
  50. 50. @PavelChunyayev Optimize for the whole • Optimize for the whole, not specific departments or teams • E2e process with focus on customer needs • Prefer product orientation vs project orientation • Focus on quality and innovation, not on quick execution
  51. 51. @PavelChunyayev Problems of Lean • Cargo cult • Focus on tools, not on the philosophy and culture • Decide on the solution without understanding true problem
  52. 52. @PavelChunyayev Lean software development - Principles • Eliminate waste • Amplify learning • Decide as late as possible • Deliver as fast as possible • Empower the team • Build quality in • Optimize for the whole
  53. 53. @PavelChunyayev
  54. 54. @PavelChunyayev +31 6 2117 5817 pavel@levi9.com Common goal Developer Product Owner Stakeholder

A talk delivered at a Levi9 meetup in Iasi. Ideas and important points to successfully deliver a microservices application are discussed.

Vues

Nombre de vues

309

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

3

Actions

Téléchargements

6

Partages

0

Commentaires

0

Mentions J'aime

0

×