Frequent Communication
- Respect for the worth of every person
- Truth in every communication
- Transparency of all data, Actions and Decisions
- Commitment to the team and to the team's goals
To foster these types of behavior, agile management must provide a supportive environment, Team Coaches must facilitate their Sion, and team members must exhibit them. Only then can teams achieve their full potential.
Most teams avoid truth, transparency and trust because
- Cultural norms
- Past negative experiences from conflict that was generated by honest communications
Leadership & team members must facilitate positive conflict, thus:
- Productive Behavior
- Process Improvement by facing problems squarely, then eliminating them systematically in priority order
- Innovation from free interchange of conflicting ideas
- Aligning the team toward a common goal by surfacing and resolving conflicting agendas
- Commitments To work together. People agree on common goal, struggle to improve both personally and as a team.
Commitments:
Bottom line: individuals & teams fell accountable for delivering high value.
How agile facilitates commitment
- Encouraging teams to pull from a prioritized work list
- Manage your own work
- Focus on improving work practices.
Practice is the basis of self-organization, driving force for achieving results
Agile methodologies value individuals and interactions over process and tools
Working software over comprehensive documentation:
- Deliver small pieces of working software to the customer at set intervals
Working software:
- Definition of done
- High Level: A piece of functionality is complete only when its features pass all tests and can be operated by an end user
- Minimum: teams must go beyond the unit test level and test at the system level
- Best: also include integration testing, performance testing and customer acceptance testing in their definition of what it means to be done with a piece of functionality
Customer collaboration over contract negotiation
- Getting the customer involved in the software development process is essential to success
- Have a customer advocate work hand-in-hand with the Development Team
- For large size, not feasible to involve them all in product development? --> Customer Proxy: product owner
Customer proxy represents not only all the customers in the field, but also management, sales, support, client services and other stakeholders.
Product owner
- Update the list of requirements every four weeks as the team released working software,
- Take into account the current reality and actual feedback from MERs and stakeholders.
Responding to change over following a plan
- Customers never know what they want until they see working software
- Ineffecate customer feedback throughout the project
- Built-in processes to change plans at regular intervals based on feedback
- 80/20 rules: well-run agile projects tend to finish early because 80% values is in 20% features
In order to succeed, they must plan to change:
To shift priorities regularly based on customer feedback and business value.
Agile is an umbrella-methodologies are implementations
- Agile development is not a methodology in itself.
- It is an umbrella term that describes several agile methodologies including scrum, XP, crystal, FDD, and DSDM.
- Each Agile Methodology has a slightly different approach for implementing the core value from the Agile Manifesto
E. g.
- Scrum is a framework for agile development processes, not include specific engineering practices
- XP focuses on engineering practices without including overarching framework of development processes
- The best teams run scrum supplements with XP practices. Scrum helps XP to scale, and XP helps scrum to work well.
The following table shows how key terms in scrum and XP can be interchanged.
Scrum |
XP |
Product owner |
Customer |
Scrum master |
XP coach |
Team |
Team |
Sprint |
Iteration |
Sprint planning meeting |
Planning game |