Download - Software as a Service
![Page 1: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/1.jpg)
Software as a ServiceManifestation of a Manifesto
![Page 2: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/2.jpg)
XP Values
Simplicity Communication Feedback Courage Respect
![Page 3: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/3.jpg)
Values Drive Principles
• Not always the best means…• Complex business problem that needs to be
worked out first.• Process or policy that is difficult to automate.
Software is a means to an end
• If the customer could write the application, they would!• Bridging the communication gap!• Closing the feedback loop!
The customer is the architect
![Page 4: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/4.jpg)
Principles Drive Practices
![Page 5: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/5.jpg)
Tools Help Deliver Practices
VCS Unit Testing Frameworks Acceptance Testing Frameworks Build Tools Languages IDEs …
![Page 6: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/6.jpg)
Frequency of Change
Values
Principles
Practices
Tools
![Page 7: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/7.jpg)
Craftsmanship
Values
Principles
Practices
Tools
Understanding the challenges in writing software, and finding the most effective ways to mitigate or eliminate them.
![Page 8: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/8.jpg)
Values & TDD
Simplicity› Tests enable you to refactor your code relentlessly.› Testing first makes you focus only on what is needed.
Communication› Tests provide objective documentation on current system
behavior. Feedback
› Tests tell you when you break something. Courage
› Tests setup a framework for you to fail safely.› Testing first puts you on solid ground when working out business
value with the customer. Respect
› Tests show respect to your organization by treating the code as the asset that it is.
![Page 9: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/9.jpg)
Personal Examples of Craftsmanship (and lack of…)
Context› Big project, big budget, small company
Done Well› Iterative delivery approach proved
successful for organizational change Done Poorly
› Integrating the SAP team
![Page 10: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/10.jpg)
isCraftsmanship
Writing unit tests under pressure Cleaning up when you are “done” Using acceptance tests to help new
developers understand the objectives
![Page 11: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/11.jpg)
!isCraftsmanship
Meeting the “estimate” by all means Not offering solutions to suboptimal
designs Convincing yourself or others that a
workaround is “OK, for now” Hiring a developer for one month to
“get back on track”
![Page 12: Software as a Service](https://reader036.vdocuments.net/reader036/viewer/2022082702/555c24e5d8b42a0b418b4c07/html5/thumbnails/12.jpg)
Future Topics
What is the path to craftsmanship by studying just the practices?
How do you stand up to the man?