software as a service

12
Software as a Service Manifestation of a Manifesto

Upload: michael-falanga

Post on 20-May-2015

668 views

Category:

Technology


1 download

DESCRIPTION

As programmers, we provide a service to our customers. To create the best possible experience for a customer, we must adhere to our values and beliefs.

TRANSCRIPT

Page 1: Software as a Service

Software as a ServiceManifestation of a Manifesto

Page 2: Software as a Service

XP Values

Simplicity Communication Feedback Courage Respect

Page 3: Software as a Service

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

Principles Drive Practices

Page 5: Software as a Service

Tools Help Deliver Practices

VCS Unit Testing Frameworks Acceptance Testing Frameworks Build Tools Languages IDEs …

Page 6: Software as a Service

Frequency of Change

Values

Principles

Practices

Tools

Page 7: Software as a Service

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

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

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

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

!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

Future Topics

What is the path to craftsmanship by studying just the practices?

How do you stand up to the man?