Agile
Introduction
agile เป็นกระบวนการส่งมอบงานเพื่อให้ได้รับ feedback อย่างต่อเนื่อง ปรับเปลื่ยนให้เข้ากับการแข่งขันได้ตลอดเวลา สิ่งที่ agile focus เลยคือการ feedback ,collaboration และ value
Agile four values
- Individuals and Interactions over Processes and Tools
- Working software over the comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Agile Principals
- Customer satisfaction through early and continuous software delivery – Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.
- Accommodate changing requirements throughout the development process – The ability to avoid delays when a requirement or feature request changes.
- Frequent delivery of working software – Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.
- Collaboration between the business stakeholders and developers throughout the project – Better decisions are made when the business and technical team are aligned.
- Support, trust, and motivate the people involved – Motivated teams are more likely to deliver their best work than unhappy teams.
- Enable face-to-face interactions – Communication is more successful when development teams are co-located.
- Working software is the primary measure of progress – Delivering functional software to the customer is the ultimate factor that measures progress.
- Agile processes to support a consistent development pace – Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.
- Attention to technical detail and design enhances agility – The right skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change.
- Simplicity – Develop just enough to get the job done for right now.
- Self-organizing teams encourage great architectures, requirements, and designs – Skilled and motivated team members who have decision-making power, take ownership, communicate regularly with other team members, and share ideas that deliver quality products.
- Regular reflections on how to become more effective – Self-improvement, process improvement, advancing skills, and techniques help team members work more efficiently.
Agile Methodologies
- Scrum
- Kanban
- Extreme Programming
- DAD
- Crystal