Ethickfox kb page with all notes
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools.
Success is determined by the team you work with and how well you work together, regardless of how well-researched your method is or how high-tech your tools are. Your team—and their ability to communicate efficiently—is more valuable than the processes they follow or the tools they use. For example, you can allow your team to define delivery processes such as sprint duration, let them assign their own tasks, and empower them to change processes and tools as needed.
Working software over comprehensive documentation.
Before you write a single line of code, traditional software development processes often require considerable documentation. One of the values of Agile is to deliver working software—not documentation—into the customer's hands as quickly as possible. Early delivery of the working software helps get early feedback from the customer.
Customer collaboration over contract negotiation.
As business needs continue to change and increase in complexity, detailed contracts leave lots of room for misunderstandings about deliverables and overcomplicate the change-management process. In contrast, Agile emphasizes customer-centric product development in which a customer feedback loop is built into the development lifecycle. Continuous collaboration with customers helps ensure the delivery of effective and valuable solutions. For example, high-level goals are emphasized in contracts rather than detailed lists of requirements.
Responding to change over following a plan.
As business needs continue to change and increase in complexity, detailed contracts leave lots of room for misunderstandings about deliverables and overcomplicate the change-management process. In contrast, Agile emphasizes customer-centric product development in which a customer feedback loop is built into the development lifecycle. Continuous collaboration with customers helps ensure the delivery of effective and valuable solutions. For example, high-level goals are emphasized in contracts rather than detailed lists of requirements.
That is, while there is value in the items on the right, we value the items on the left more.
(Beck et al., 2001, Manifesto for Agile Software Development)
Agile Principles
(Beck et al., 2001, Principles Behind the Agile Manifesto)

With Agile development, a team takes an iterative approach to incorporating feedback on projects. Testing occurs regularly, and a team can identify errors at any stage. Iterations are usually a few weeks long and include the same phases as the Waterfall methodology. Clients see results at the end of each iteration.
Agile Focus Areas
The Agile methodology seeks to streamline project work by focusing on three key areas: adaptability, user experience, and testing. Each of these focus points can help your team create a more holistic and streamlined design and development process.
**Adaptability
**Adopting Agile processes enables your team to develop and release iterative solutions to the market rapidly. Embracing change is foundational to Agile. Being flexible gives you the ability to respond to customer demands and incorporate new ideas, which increases the value of a solution.
**User experience
**Because Agile is iterative and continuous, your team gathers and implements customer feedback throughout the development process. Additionally, incorporating Agile processes and continually focusing on the user experience will ensure you and your client pay only for what the project requires. It enables you to prioritize the most valuable features and eliminate features you discover are not important, which helps control costs.
Testing
Testing early and often enables your team to identify issues and resolve those issues as soon as possible. The ability to shift and change as needed lets you and your team alter paths and deliver better solutions. When solutions are tested and refined throughout development, the products you create are often higher-quality solutions that meet—and frequently exceed—customer expectations.


Before Agile, extreme programming was created, it consisted of next points:
XP contains a lot of development practices, while SCRUM doesn’t. Such as:
Lean thinking puts a lot of emphasis on “respect for people.” What's the best way to think about this in your organization?
Respect for people is about respecting the fact that people closest to the product are capable of making critical decisions. Managers and executives should focus on empowering these employees and not just issuing top-down directives.