Beruflich Dokumente
Kultur Dokumente
2010 Mar
Working Harder
= X
Working Smarter
= X
Virtually Shippable
• No ‘Broken Windows’
• Be Uncompromising about Defects
• ‘Barely sufficient’ Documentation
• Continuous Integration
• Nightly Builds
• Prototyping
• Don't Neglect Performance
• Zero Tolerance for Money and Resource Leaks
• Coding Standards and Guidelines
• Adopt Standards (Concentrate on Your Value-Add)
• Internationalize from Day One
• Isolate Platform Dependencies
Number Number
of Defects of Defects
Found Found
• Use
• Maintain
• Extend
• Understand.
• Working software
• The process of doing the design
• Collaboration and face-to-face communication
• Simple design
• Design vision
• Guiding Principles
• Simple Design
• Refactoring
• Design Pattern
• Frequent Rapid Design Meetings
• Commitment to Rearchitecture
• Design for Reuse
• Teams need a way to balance short-term requirements and
long-term needs: to ship their product as soon as they can while
accepting, anticipating, and even welcoming change
• The core agile software development practice of iterative
development encourages continual refinement
• Release Planning
• Retrospectives
• Software people :
• Leadership
• Sense of urgency
• Executive support
• Culture Enablers:
• Persistence
• Training
• Continuous ‘wins’
• Positive reinforcement of desired behaviors
• Communication
• Background
• Software development is a complex undertaking
• The method : code-then fix or waterfall method
• Unsustainable Development
• Too many projects can’t cope with the complexity of
the software development taking
• The teams are largely only able to respond to
changes in their ecosystem
• The most effort goes toward adding features and
fixing bugs
• These projects respond to complexity with complex
solutions that are unreliable(buggy), brittle(break easily),
and unable to support future change
• Sustainable Development
• Teams are able to be proactive about changes in
their ecosystem
• Requires acknowledging the need for change
• It means that adapting a different mindset and being
uncompromising
• Defect prevention
• A change in mindset for virtually all teams
• Central to defect prevention:
• the practice of ruthless testing
• computers are relied upon to do the repetitive
and boring testing tasks that people do today
• Design emphasis
• Good design is required to ensure that the period is
designed to promote future maintainability and
modifiability
• Simple design, refactoring and design patterns all
play important role in design
• Every project and team has to find the right balance
between iterative design and up-front design
• Continual refinement
• Applies to how the project is planned and tracked
through iterative development
• Team can continually enhance its development
processes and collaboration