Software     Craftsmanship              vs    Software  Engineering         (lightning  talk)	          Andy Maleh       S...
Outline	•  Definitions of Software Engineering & Craftsmanship•  Similarity and Difference•  Applications at Groupon
Definition	•  One of the original definitions of Software   Engineering (NATO SOFTWARE ENGINEERING   CONFERENCE 1968):   So...
Definition	•  On Software Craftsmanship by Pete McBreen:   Software development is a craft, it blends science,   engineerin...
Definition	•  The book The Pragmatic Programmer paints   software craftsmanship as similar to traditional   medieval Europe...
Similarity	•  Shared engineering and craftsmanship goals:  o  Meeting customer needs  o  Delivering high quality software ...
Issues  with  Engineering	•  Engineers often seem to believe that they can build   software with complete control and pred...
Issues  with  Engineering	•  Engineers often think that one has to learn many   best practices before successfully buildin...
Issues  with  Engineering	•  Some engineers seem to think that best practices   apply in every situation.
Mitigation  in             Craftsmanship	•  Craftsmen see software development more as an   art that emerges and less as a...
Mitigation  in              Craftsmanship	•  Craftsmen transcend best practices when they do   not make sense in a new sit...
Software  Engineering           Revisited	•  Even Tom DeMarco, one of the early key figures in   the software engineering ...
Key  Difference	•  While engineering is about the macro goal of   delivering economical software that is reliable and   eff...
Software  Engineering  is    alive  and  WELL  AT        GROUPON
Software  Engineering  at              Groupon	•    System Health Measurability•    Usability Design and A/B Testing•    R...
Software  Engineering  at           Groupon	•  Software Architecture•  Verification and Acceptance Testing•  Iterative Dev...
Software  craftsmanship  is  popular  with  GROUPON         engineers
Software  Craftsmanship               at  Groupon	•    Apprenticeship program•    Inter-branch employee swap•    Pair-Prog...
Software  Craftsmanship            at  Groupon	•  High Encouragement to Present at Conferences•  Hosting Conferences and M...
Review	•  Definitions of Software Engineering & Craftsmanship•  Similarity and Difference•  Applications at Groupon
Contact	•    Andy Maleh / Software Engineer / Groupon•    Email: amaleh {at} groupon {dot} com•    Twitter: @AndyMaleh•   ...
Upcoming SlideShare
Loading in...5
×

Software Craftsmanship vs Software Engineering (Lightning Talk)

6,736

Published on

The recent emergence of the Software Craftsmanship movement in the last decade has been accompanied with quite a bit of confusion on what the movement is exactly about and whether it adds any value beyond previous software development movements, such as Agile and Software Engineering. In this short talk, Andy Maleh will define Software Craftsmanship, compare and contrast to Software Engineering, and provide examples on how both disciplines are playing out at the Groupon software development environment.

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,736
On Slideshare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
69
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Software Craftsmanship vs Software Engineering (Lightning Talk)"

  1. 1. Software   Craftsmanship     vs    Software  Engineering   (lightning  talk) Andy Maleh Software Engineer Groupon
  2. 2. Outline •  Definitions of Software Engineering & Craftsmanship•  Similarity and Difference•  Applications at Groupon
  3. 3. Definition •  One of the original definitions of Software Engineering (NATO SOFTWARE ENGINEERING CONFERENCE 1968): Software engineering is the establishment of sound engineering principles in order to obtain economical software that is reliable and works efficiently on real machines.
  4. 4. Definition •  On Software Craftsmanship by Pete McBreen: Software development is a craft, it blends science, engineering, mathematics, linguistics and art.
  5. 5. Definition •  The book The Pragmatic Programmer paints software craftsmanship as similar to traditional medieval European craftsmanship
  6. 6. Similarity •  Shared engineering and craftsmanship goals: o  Meeting customer needs o  Delivering high quality software o  Ensuring timely release o  Minimizing risk of failure
  7. 7. Issues  with  Engineering •  Engineers often seem to believe that they can build software with complete control and predictability.
  8. 8. Issues  with  Engineering •  Engineers often think that one has to learn many best practices before successfully building software.
  9. 9. Issues  with  Engineering •  Some engineers seem to think that best practices apply in every situation.
  10. 10. Mitigation  in   Craftsmanship •  Craftsmen see software development more as an art that emerges and less as a science that can be controlled.•  Craftsmen often discover their own best practices.
  11. 11. Mitigation  in   Craftsmanship •  Craftsmen transcend best practices when they do not make sense in a new situation.•  Craftsmen rely more on gut feeling and intuition to succeed.
  12. 12. Software  Engineering   Revisited •  Even Tom DeMarco, one of the early key figures in the software engineering world, famous for the quote "You cannot control what you cannot measure", recently renounced the controlled development approach in an article posted by the IEEE, titled "Software Engineering: An Idea Whose Time Has Come and Gone?"
  13. 13. Key  Difference •  While engineering is about the macro goal of delivering economical software that is reliable and efficient, craftsmanship is about mastering the micro process that helps with achieving that macro goal.
  14. 14. Software  Engineering  is   alive  and  WELL  AT   GROUPON
  15. 15. Software  Engineering  at   Groupon •  System Health Measurability•  Usability Design and A/B Testing•  Release Engineering•  Performance Engineering
  16. 16. Software  Engineering  at   Groupon •  Software Architecture•  Verification and Acceptance Testing•  Iterative Development and Velocity Tracking Website Deal  Service Order   Service Mobile User  Service
  17. 17. Software  craftsmanship  is  popular  with  GROUPON   engineers
  18. 18. Software  Craftsmanship     at  Groupon •  Apprenticeship program•  Inter-branch employee swap•  Pair-Programming•  Internal Training Courses
  19. 19. Software  Craftsmanship     at  Groupon •  High Encouragement to Present at Conferences•  Hosting Conferences and Meetups•  Having a few Master craftsmen around
  20. 20. Review •  Definitions of Software Engineering & Craftsmanship•  Similarity and Difference•  Applications at Groupon
  21. 21. Contact •  Andy Maleh / Software Engineer / Groupon•  Email: amaleh {at} groupon {dot} com•  Twitter: @AndyMaleh•  Blog: http://andymaleh.blogspot.com
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×