COS 730 group assignment Crystal methodologiesMB Mauch 29007552K Bassuday 29233412J van Zyl 29112690K le Roux 29021872
Crystal Crystal methods are part of the Crystal
family developed by Alistair Cockburn in the mid-1990s
Based on observations of many teams that did not follow formal methodologies yet had successful projects
These are “lightweight methodologies” Avoids strict/rigid processes found in
other methodologies
Crystal Name crystal comes from gemstones
The faces are a different view on the underlying core of principles and values of each method.
In terms of software, the faces represent techniques, tools, standards and roles for each method.
Crystal Crystal methods focus on:
People Interaction Community Skills Talents Communications
Crystal Scaled according to team size, different
colours denote the weightCrystal Clear lightweight, not mission critical
Crystal YellowCrystal OrangeCrystal Orange WebCrystal RedCrystal MaroonCrystal DiamondCrystal Sapphire heavy, mission critical
Crystal common propertiesCrystal family methods have 7 common properties:1. Frequent delivery2. Reflective improvement3. Close or osmotic communication4. Personal safety5. Focus6. Easy access to expert users7. Automated tests, configuration management,
frequent integration
Frequent delivery Iterations of the software program
should be released regularly (from weekly up to quarterly)
Problems can be found and fixed early on
Customers can ensure that the project is going the way they want it to go
Reflective improvement Developers dedicate time to improving
the development process Reflection workshops are held every few
weeks to help find processes that are working and which ones need to be modified
Iteration helps determine if a process is working or not
Close or osmotic communication Development teams must be in the
same room This aids communication
Developers do not need to break concentration to move somewhere else
Information flows quickly through the team
Communication overhead is reduced
Personal safety Team members must be able to speak
freely in a group without being ridiculed
Focus1. Focus on a task long enough for
progress to be made 2 hour period where the developer should
have no interruptions Developer assigned to a project for at
least 2 days
2. Clear definition and goals of the project
Easy access to expert users Developers work with experts in the
field of the project who will also be end-users
Expert will answer questions and suggest solutions or improvements
Minimum: meet once a week for 2 hours and be reachable by phone
Automated tests, configuration management, frequent integration Spot errors and problems that arise from
changes being made
Done regularly Problems spotted early on Problems are less likely to grow
Crystal Clear Lightest methodology that will still lead to
successful projects Supports fixed price contracts Teams using Crystal Clear can use
techniques from other methodologies and vice versa
Requires documentation Does not prescribe what documentation but
leaves that up to the judgment of the team
Crystal Clear Priorities:
Project safety (deliver the system in adequate time and budget)
Effective and habitable (people can live with the system and use it)
Focuses on people, not processes or artifacts One small team of 2 - 6 people in the same
office working on not life-critical systems
Crystal Clear“The difference between CrystalClear and ExtremeProgramming is that XP is much more disciplined, CrystalClear is much more tolerant, even sloppy-looking. I would say XP is more productive, CrystalClear more likely to get followed.”
-- AlistairCockburn
Crystal Yellow Suitable for teams of 7 to 20 members Crystal yellow has key characteristics such
as easy communication, clear ownership of code areas , feedback from real users, automated testing, mission statement and monthly increments of improvements.
Easy communication replaces the need for detailed designed documentation and ensures everyone is comfortable with communicating the needs of the project.
Crystal Yellow Clear ownership of code areas; helps with
defined code areas being made so that changes do not have to be explained or granted by everyone. It also emphasises ownership and responsibility for each section of code.
Feedback is needed from “real users” where it eliminates the need of long process requirements collection.
Mission statements provide the goal and general achievements needed to be reached.
Crystal Yellow Monthly improvements include making
lists of what needs to be done and achieving small improvements within each list made.
Automated testing helps resolve errors quickly. It should be established before new functions are fully finished.
Crystal Orange Incremental development. The idea is for agile development. There needs to be a release every 3-4
months. Each release is called an “increment”.
Crystal Orange Designed for medium size projects (10 –
40 team members) Duration ranging from 1 – 2 years Split up in teams with cross functional
skills
Crystal OrangeActivities of Crystal Orange Staging: Planning for releases. In this phase the
developers gather the requirements, evaluate technical feasibility, and prioritise the tasks.
Review: This is the phase where the objectives of the increment is reviewed, to make sure that it was met accordingly. Increments consist of iterations – Construction → Demonstration → Review.
Tracking: Tracking the project at different stages of development ensures that fluctuations are picked up and handled correctly. The increments are measured at each milestone, including start, review, test and deliver.
Crystal OrangeActivities of Crystal Orange (cont) Parallelism: This is the phase where monitoring
teams review stability, work plans and synchronisation.
Holistic Diversity: This is an activity where large functional groups are split up into cross functional groups, creating a diversity of specialised people to handle certain parts of the project.
Tuning: This is the phase where interviews and workshops are used to find solutions.
Workshops: This helps to drive team attention to project goals.
Crystal Orange Web Used in projects that have a continually
evolving code base that is being used by the public
Used for category D40 projects. Used in teams with 21-40 members
Crystal Orange Web Consists of a set of conventions grouped
into five categories: Regular heartbeat, with Learning Basic process Maximum Progress, minimum distractions Maximally defect free A community, aligned in conversation
Crystal Orange Web1. Regular heartbeat, with Learning:
Consist of twee week development life cycles
It has a post-reflection workshop Suggestions are made at these workshops
2. Basic Processes: Organizes what work will be done by whom Organizes what decisions will be made by
whom
Crystal Orange Web3. Maximum progress, minimum distractions
Gives the people enough time to work on deliverables that are the most important.
Work is broken into two week cycles and then further broken down into cycles for components that that can be developed in 1-3 days.
Developers have whiteboards outside their offices on which they post the status of their current work for the week.
Crystal Orange Web4. Maximally defect free
Strive to develop code that is bug free. Done by intensive testing and overlooking of
code
5. A community, aligned in conversation Focused on the long term target of the
company All roles in the company should participate in
cross functional teams. This means that teams with different expertise
should all work towards a common goal
References http://en.wikiversity.org/wiki/Crystal_Methods http://www.agilekiwi.com/other/agile/crystal-clear
-methodology/
http://www.martinfowler.com/articles/newMethodology.html#Crystal
http://www.e-reading.org.ua/chapter.php/83470/35/Cockburn_-_Agile_Software_Development.html
http://www.versionone.com/Agile101/Agile-Development-Methodologies-Scrum-Kanban-Lean-XP/
http://c2.com/cgi/wiki/wiki?CrystalClearMethodology
References http://en.wikipedia.org/wiki/Crystal_Clea
r_%28software_development%29 Gorakavi P.K. What You Should Know
about Crystal Orange Methodology #6 of a Series, 2009
Coffin. R and Lane.D, 2010 http://www.devx.com/architect/Article/32836/1954
paraview.org/ParaView3/images/8/8a/Crystal_Yellow.ppt