The document discusses migrating to an agile approach for software development. It outlines characteristics of software and heuristics for building software, such as automating repetitive tasks and getting feedback through use. It recommends starting small with agile practices to address pain points and evolving practices over time. Core agile values include communication, simplicity, feedback, and courage. Specific agile practices mentioned include planning games, small releases, testing, refactoring, pair programming, collective ownership, continuous integration, and on-site customers. The document argues that an agile approach leverages the nature of software development and aligns with development realities.
2. Software Characteristics
• Intangible
• Mutable
• Very difficult to define and design
• Easy to construct
• Extensively testable
• Can be deployed with partial functionality
3. Heuristics for building software
• Automate everything that is repetitive
• Avoid duplication – functionality / process
• Test aggressively
• Get feedback from actual use
• implement in a minimal, simple way
• Evolve as per needs, as seen at runtime
• Build in small increments
4. How to go agile
1. Start small, watch benefit
2. Spot the pain
3. Bring in practices to relieve the pain
4. When it is not the biggest pain, repeat 2
9. Recap
• A good way of leveraging the special
characteristics of software.
• Aligns with the reality of development.
• Agile way of implementing agile.