330 likes | 521 Views
Crystal Methodology . Helaine McFerron Cristina Fhied SE 470 Presentation. History of Crystal. Step by step organizations are designed to bottle the inherent individuality of each employee. Strength based organizations are designed to capitalize on it.
E N D
Crystal Methodology Helaine McFerron Cristina Fhied SE 470 Presentation SE 470 - Crystal
History of Crystal • Step by step organizations are designed to bottle the inherent individuality of each employee. • Strength based organizations are designed to capitalize on it. • Alistair Cockburn spent the 1970’s and 1980’s in computer graphics but was chased out by standards regulations. He transferred to Object Oriented Programming. • The turbulent 1990’s allowed Agile methods to dominate software development, although it was always present. • In the early 1990’s Alister was hired at IBM to add an object oriented arm to IBM’s consulting programming services methodology. • Alistair had no idea on how to create a methodology, so he interviewed successful teams in order to learn. SE 470 - Crystal
Results of interviews • From 1991-1994…Present: ~40 interviews with project teams. • Result of Research: • People don’t do what their book says to do, nor do they do what they say they did. • They can’t keep the documentation in sync with the code. • People like working together. • People are not always disciplined. • In 1992, the first draft of Crystal Orange became the first object oriented arm of IBM’s methodology. SE 470 - Crystal
Introducing Crystal • The crystal metaphor. • Crystals have different hardness and color • Software projects have size and criticality • Crystal is a family of methodologies with a copy and alter paradigm versus a kit paradigm. • Three levels of listening and learning. • Create a script • Understand changes • Zen master • Apprenticeship is the best way to learn. • Software is a finite goal seeking cooperative game of invention and communication. SE 470 - Crystal
Key Success factors • Project Manger, Team Lead, Executive (2 of the 3 must be magical) • Communication and Community • Good people are everything • Team lead must know how to tweak the methodology for each specific project • People trump process, politics trumps people, people working together trumps working alone • Good people must also communicate • Citizenship and apprenticeship learning SE 470 - Crystal
Benefits • One methodology does not fit all. There is no one solution • Avoids the RUP marketing problem, that sells one solution to CEO’s • Crystal is made for high turbulent environments • Allows people to be people • Adequate software production is the goal • Not highly disciplined like XP and PSP. This is realistic. • Fewest set of rules possible • Advocates professional social scientists and facilitators to assist • Address communication in detail. Cold vs. hot for different situations • Absolute communication is impossible. • Bottom line: Crystal is realistic SE 470 - Crystal
When to use/When to Avoid • When to Use • Anytime you can use Orange, Clear, or Orange Web • Up to 60 or so developers • Essential, discretionary monies, or loss of comfort • Good people • When to Avoid • Life critical systems • Developers are not co-located • More then 60 developers • When you can not use Orange, Clear, or Orange Web • If you’re a beginner with no real leadership - do XP SE 470 - Crystal
Challenges • Errors on the side of leaving things out that you must add • Effective communication is very difficult • In tuning the methodology it is common for project managers to believe they have come up with the one answer • Tuners tend to embellish methodologies with too many rules, practices, and ideas • You must be able to spend the time in the planning games and/or interviews to understand • Tuning a methodology to be intolerant of peoples individual styles • Not putting the right personalities in the right roles • Rewarding the wrong things and getting behavior you do not desire as a result SE 470 - Crystal
Tuning the Methodology is a requirement in Crystal • Using Crystal you must first have a planning game • Figure out the size of the project and the criticality • Taking the seven principles of methodologies into account copy and alter a Crystal Method • Create templates of work products and address each of the 13 elements of a methodology. Take personality, communication issues, location, and talents into account. • Make sure you have key success factors. Plan for weaknesses and bottlenecks. SE 470 - Crystal
13 Elements of a Methodology • Roles - take personality into account • Skills - training, practice, and natural talent • Teams - organize the team structure • Techniques - not a focus of Crystal • Activities - planning games, refactoring • Process - how the activities fit together • Work Products - create templates • Milestones - where are you on the road • Standards - coding standards • Quality - how people take pride in work • Team Values - how the team works together • Tools - not a focus of Crystal • Personality - effects everything SE 470 - Crystal
Seven Principles • Face-to-face • Weight is costly • Heavier methodologies for larger teams • More ceremony for criticality • More feedback and communication • Fewer intermediate deliverables • Discipline, skills, documentation SE 470 - Crystal
Principle 1:People communicate best interactively face to face 2 people at whiteboard 2 people on phone Videotape (Question-and-Answer) 2 people on email Audiotape Paper (No Question-Answer) Richness (“temperature”) of communication channel “cold” “hot” SE 470 - Crystal
Adding people is expensive. (Methodology grows with number of roles.) Communications Load (Methodology Cost) Effectiveness per person Number of people SE 470 - Crystal
Methodology weight is costlyLarger teams need more…diminishing returns large team Problem Size small team Methodology Weight SE 470 - Crystal
. . . L6 L20 L40 L100 L200 L500 L1000 E6 E20 E40 E100 E200 E500 E1000 D6 D20 D40 D100 D200 D500 D1000 C6 C20 C40 C100 C200 C500 C1000 Different methodologies are possible and needed(project size, system criticality, priorities, fears) Prioritized for Legal Liability Prioritized for Productivity & Tolerance Life (L) Criticality (defects cause loss of...) Essential money (E) Discretionary money (D) Comfort (C) 1 - 6 - 20 - 40 - 100 - 200 - 500 - 1,000 SE 470 - Crystal Number of people involved +20%
Starting point for Crystal:interviews, workshop, feedback • Build the control system first. • Settle increment size, • Hold interview and workshop before/after each. • Preload the system. • Interview projects to learn key issues, hazards, tricks. • Ask what they did, liked, didn’t, would change or keep. • Identify fears, priorities, success factors, haards. SE 470 - Crystal
Starting point for Crystal:interviews, workshop, feedback • Ask the group. • Let the group influence first increment’s methodology. • Use your feedback. • Check mid-and post-increment opinion. • Update your principles, fears, strategies. SE 470 - Crystal
Crystal Samples & Specifics SE 470 - Crystal
Crystal separates –improve individual skills and improve team • Individual track: • Becoming a better <designer, manager…> • Qualities and standards for <use cases…> • Techniques for <facilitating, getting use cases, scheduling, resolving conflicts> SE 470 - Crystal
Crystal separates –improve individual skills and improve team • Team Track: • Big-M methodology for <6 people, 15 people, 40, …> • Techniques for <improving collaboration,…> SE 470 - Crystal
Crystal separates –improve individual skills and improve team • Non-jealous methodology set • Improve people, and improve team • Whichever you need next, whatever you can manage. SE 470 - Crystal
L6 L20 L40 L80 E6 E20 E40 E80 D6 D20 D40 D80 Amber C6 C20 C40 C80 Crystal Orange: scope • For D40 projects: • Up to 40 people, same building. • Loss of discretionary moneys. • May extend to E50. • Not for very large products. • Insufficient sub teaming • Not for life-critical projects. • Insufficient verification SE 470 - Crystal
Crystal Orange: roles • Roles: (examples) • Sponsor • Business expert • Usage expert • UI designer • Designer/programmer • Project Manager • Lead Designer/programmer SE 470 - Crystal
Crystal Orange: Teams • Teams: (example) • System Planning • Project monitoring • Architecture • Technology • Infrastructure • Functions • External Test SE 470 - Crystal
Crystal Orange: activities and milestones • Workshop • mid and post-increment methodology review • Publish • Each work product • Iteration and increment deliveries • Review • Each work product, iteration deliveries, test cases • Declare • Each work product stable enough to review • Application correct enough to deliver SE 470 - Crystal
Crystal Clear: scope • For D6 projects: • 3-6 people, close or in same room • Loss of discretionary moneys • Not for large projects • Insufficient group coordination • Not for life-critical projects • Insufficient verification SE 470 - Crystal
Crystal Clear: roles and teams • Must have: sponsor, senior designer, designer/programmer • Combined roles: coordinator, business expert, requirements gatherer • Seating: single big room, or adjacent offices SE 470 - Crystal
Crystal Clear: products and milestones • Products • Release sequence, schedule of user viewings, deliveries • Actors-goals list and annotated use cases • Design sketches and notes as needed • Common object model • Running code, Migration code, test cases • User manual • Publish: each SE 470 - Crystal
Crystal Clear: products and milestones • Review: each. • Methodology (pre and mid increment). • Declare: • Requirements stable enough to design to, • UI stable enough to document to, • Application correct enough to deliver. SE 470 - Crystal
Crystal Clear: Standards • Policy: • Delivery increments every 2 to 1 months • Tracking by milestones, not by work products • Requirements in annotated usage scenarios (use-cases) • Peer code reviews • Direct user involvement • Ownership model for work products SE 470 - Crystal
Crystal Clear: tolerance • Policy standards are mandatory, but equivalent substitution are permitted(e.g. “Scrum”). • Full tolerance on techniques: any technique allowed. • Quite wide tolerance on work products. • Assess the quality of the communication, not the quality of the work products(except test cases). SE 470 - Crystal
What is Crystal? SE 470 - Crystal
Crystal is a set of rulesfor constructing an agile methodology… …Specific to your project …adapting to your project ..within the project timeline. http://allstair.cockburn.us/crystal SE 470 - Crystal