14 March 2002
Steve Simmons Presents: Rich Sheridan on "Extreme Programming!!!" or "Applying XP in Transforming a Software Development Team" Historical Perspective: + Optimistic attitude and a restless urge to make a diffeence + Better way of doing things than were customary + Work fucused on results in everyday life in homes & offices. Rich's Personal Perspective: + How do you achieve the internal, sustrainable behavior changes required to compete in an "internet speed" market? (People, process, culture) + "Rich, we need a development team that rocks!" -- Bob Nero, former CEO, Interface Systems The Setting + Legasy team of 15 developers (some with 20+ years of experience) + Individual offices and cubes + Needed to . . . The Transformation + Our own version of L2i + Extreme Programming + Iterative and incremental + Code stewardship, not ownership + Open and collaborative workspace + Paired programming + Java (Open, Portable, Object-oriented, Internet) + Focus on feature-oriented, long-term growth + Out with the old . . . Must get away from the "tower of knowledge" approach. Problems + Towers of knowledge + Adding resources + Cross-training + Lack of flexibility + Difficulty in managing resources + Slow feedback Advantages of Pairs + Natural mentoring + Productivity is measured in features and quality rather than lines of code. + Cross-training + Built-in flexibility + Never Stuck + Constant forward motion Automated Unit Testing + An open framework for writing and capturing unit tests + Reinforces design and architecture + Safety net for developer practices + The best way to teach and apply object-oriented programming. + Allows you to keep software "soft". Planning Instead of a Plan "A plan is useless, but planning is essential." -- Gen. Dwight D. Eisenhower + Two week iterations + What's important right now? + Show and Tell + Two week peeks + Driven by business, not technology + Business-oriented stories Ready, fire, aim, aim, aim ... + Ultimate feedback tool (connects with business and development) + Show faster, cancel sooner, promote most important business features first + Business is in the driver's seat Factory environment increases communication and needs fewer meetings A Software Factory + Not only pairs, but teams of pairs + Instant communications, no barriers + Instant help, domain experts within earshot + A complete software team + Excitement about the mission Summary of XP practices + Programming -- Simple design, testing, refactoring, coding standards + Team -- Collective ownership, continuous integration, metaphor, coding standards, 40 hour work-week, pair programing, small releases + Processes -- Planning Game, testing, small releases, on-site customer Further reading + Standish Group report http://www.pm2go.com/sample_research/chaos_1994_1.asp + "Extreme Programming Explained" -- Kent Beck + "The Design of Everyday Things" -- Donald A. Norman + "Strengthening the Case for Pair Programming" -- http://www.objectmentor.com/s4williams.lo.pdf