SE 470 - Crystal 1 Crystal Methodology Helaine McFerron Cristina Fhied SE 470 Presentation
Dec 20, 2015
SE 470 - Crystal 2
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 3
Results of interviewsFrom 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 4
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 5
Key Success factors
Project Manger, Team Lead, Executive (2 of the 3 must be magical)Communication and CommunityGood people are everythingTeam lead must know how to tweak the methodology for each specific projectPeople trump process, politics trumps people, people working together trumps working aloneGood people must also communicate Citizenship and apprenticeship learning
SE 470 - Crystal 6
Benefits
One methodology does not fit all. There is no one solutionAvoids the RUP marketing problem, that sells one solution to CEO’sCrystal is made for high turbulent environmentsAllows people to be peopleAdequate software production is the goalNot highly disciplined like XP and PSP. This is realistic. Fewest set of rules possibleAdvocates professional social scientists and facilitators to assistAddress communication in detail. Cold vs. hot for different situationsAbsolute communication is impossible. Bottom line: Crystal is realistic
SE 470 - Crystal 7
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 8
Challenges
Errors on the side of leaving things out that you must addEffective communication is very difficultIn tuning the methodology it is common for project managers to believe they have come up with the one answerTuners tend to embellish methodologies with too many rules, practices, and ideasYou must be able to spend the time in the planning games and/or interviews to understandTuning a methodology to be intolerant of peoples individual stylesNot putting the right personalities in the right rolesRewarding the wrong things and getting behavior you do not desire as a result
SE 470 - Crystal 9
Tuning the Methodology is a requirement in Crystal
Using Crystal you must first have a planning gameFigure out the size of the project and the criticalityTaking the seven principles of methodologies into account copy and alter a Crystal MethodCreate 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 10
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 11
Seven Principles
Face-to-faceWeight is costlyHeavier methodologies for larger teamsMore ceremony for criticalityMore feedback and communicationFewer intermediate deliverablesDiscipline, skills, documentation
SE 470 - Crystal 12
Principle 1:People communicate best interactively face to face
Richness (“temperature”) of communication channel “cold” “hot”
2 people atwhiteboard
2 people on phone
2 peopleon email
Videotape
PaperAudiotape
(No Question-Answer)
(Questio
n-and-Answer)
SE 470 - Crystal 13
Adding people is expensive.(Methodology grows with number of roles.)
Number of people
Communications Load (Methodology Cost)Effectiveness
per person
SE 470 - Crystal 14
Methodology weight is costlyLarger teams need more…diminishing returns
large team
Pro
blem
Siz
e
small team
Methodology Weight
SE 470 - Crystal 15
Different methodologies are possible and needed(project size, system criticality, priorities, fears)
Number of people involved
C
riti
cali
ty(d
efec
ts c
ause
loss
of.
..)
Comfort(C)
Essentialmoney
(E)
Life(L)
+20%
. . . Prioritized for Legal Liability
1 - 6 - 20 - 40 - 100 - 200 - 500 - 1,000
C6 C20 C40 C100 C200 C500 C1000
D6 D20 D40 D100 D200 D500 D1000
E6 E20 E40 E100 E200 E500 E1000
L6 L20 L40 L100 L200 L500 L1000
Prioritized for Productivity & Tolerance
Discretionarymoney
(D)
SE 470 - Crystal 16
Starting point for Crystal:interviews, workshop, feedbackBuild 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 17
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 19
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 20
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 21
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 22
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
AmberC6 C20 C40 C80
D6 D20 D40 D80
E6 E20 E40 E80
L6 L20 L40 L80
SE 470 - Crystal 23
Crystal Orange: roles
Roles: (examples) Sponsor Business expert Usage expert UI designer Designer/programmer Project Manager Lead Designer/programmer
SE 470 - Crystal 24
Crystal Orange: Teams
Teams: (example) System Planning Project monitoring Architecture Technology Infrastructure Functions External Test
SE 470 - Crystal 25
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 26
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 27
Crystal Clear: roles and teams
Must have: sponsor, senior designer, designer/programmerCombined roles: coordinator, business expert, requirements gathererSeating: single big room, or adjacent offices
SE 470 - Crystal 28
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 29
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 30
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 31
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).