260 likes | 343 Views
XP Explained. Chapters 7-9. Primary Practices. Sit together Ideal Resistance Multi-site Whole Team All the necessary skills in a single management structure This is dynamic No fractional staff. Primary Practices. Informative workspace Key metrics as big graphs and charts
E N D
XP Explained Chapters 7-9
Primary Practices • Sit together • Ideal • Resistance • Multi-site • Whole Team • All the necessary skills in a single management structure • This is dynamic • No fractional staff
Primary Practices • Informative workspace • Key metrics as big graphs and charts • Visible planning and tracking • Requirements groups • Energized Work • 40 hour week • Focus time
Primary Practices • Pair Programming (switch as needed, maybe multiple times per day) • Keep each other on task • Brainstorm • Clarify • Switch lead when one is stuck • Hold each accountable
Primary Practices • Pair Programming and personal space • See figure 6 page 44 • We like our personal space!
Primary Practices • Stories • Plan using units of customer visible functionality • Provide a 2 click way for customers to dial frequently used numbers • Make technical requirements visible with test cases • Requirement is a misnomer • Value cannot be determined with out cost estimates
Primary Practices • Weekly Cycle • Weekly meeting • Review progress • Customer pick new weeks worth of stories • Break stories into tasks, team members sign up for tasks and estimate them • Start the week by writing automated test
Primary Practices • Quarterly Cycle • Reflect on the team, project, progress. Process, and alignment with larger goals • Quarterly meeting • Identify bottlenecks • Initiate repairs • Plan themes • Big picture – where the project fits within stakeholder concerns
Primary Practices • Slack • Everything can’t be planned • Include tasks in the plan that could be dropped
Primary Practices • Ten Minute Build • Automatically build and test in 10 minutes. • What if you can’t • You can more often that you think
Primary Practices • Continuous integration • Integrate and test changes after no more than a couple of hours • Integration can take more time that the original programming • Synchronous is better than Asynchronous
Primary Practices • Test first Programming • Write the tests before the code –and do it at a very fine level of granularity. • If it is hard to write a test you have a design problem not a test problem • Rhythm
Primary Practices • Incremental Design • Invest in the design of the system every day • Defer design decisions to the last responsible moment • The most effective time to design is in the light of experience • The closer the implementation of a design mechanism to the time it is actually needed, the more efficient
Chapter 8 Getting Started
Getting Started • Make adopting XP an XP project • Write stories • Educate management • Attending training • Automate the build • Prioritize the stories • Estimate their time and cost • Create and track metrics
Chapter 9 Corollary Practices
Corollary Practices • Real Customer Involvement • Make your stakeholders part of the team
Corollary Practices • Incremental Deployment • Run parallel systems if necessary
Corollary Practices • Team Continuity • Don’t throw everyone back into the “labor pool” once a project is finished
Corollary Practices • Shrinking Teams • As a team grows in capability, keep its workload constant but gradually reduce its size
Corollary Practices • Root Cause Analysis • When you find a defect, eliminate the defect and the cause • The goal is that the team won’t ever make the same mistake again • I expect that individuals will make mistakes, but my process should ensure that my team doesn’t make mistakes • Five whys
Corollary Practices • Shared Code • Anyone can improve any part of the system at anytime • Eliminates bottlenecks • Doesn’t work across team boundries
Corollary Practices • Code and Tests • Maintain only the code and tests as permanent artifacts. Generate other documents from the code and tests. Rely on Social mechanisms for the rest. Wrong
Corollary Practices • Single Code Base • Duplication is not fun and it is very expensive • Frameworks can help solve this
Corollary Practices • Daily Deployment • Put new software into production every night
Corollary Practices • Negotiated Scope Contract • Write contracts that fix time, costs, and quality but call for an ongoing negotiation of the scope • Fix scope but leave specific requirement to ongoing negotiation • Sign a series of shorter contracts rather than one big one