•     •   8 min read

Crystal Clear Methodology —
Simplicity and Perfection for Business
Applications

Crys­tal is a fam­i­ly of soft­ware devel­op­ment method­olo­gies with a shared genet­ic code that includes fre­quent deliv­ery, per­son­al com­mu­ni­ca­tion, and improve­ment through reflec­tion. Each type of project has its own Crys­tal method­ol­o­gy. This arti­cle will explore Crys­tal Clear as a con­cept for small teams (up to 8 peo­ple). It’s a good alter­na­tive to extreme pro­gram­ming, with some shared aspects.

His­to­ry of the Crys­tal Family

In 1991, Alis­tair Cock­burn, one of the co-authors of the Agile Man­i­festo, aimed to cre­ate an effec­tive soft­ware devel­op­ment method­ol­o­gy. He sur­veyed numer­ous project teams and stud­ied their devel­op­ment cases.

The research laid the foun­da­tion for the key prin­ci­ples of Crys­tal Clear as an effec­tive soft­ware devel­op­ment concept:

  • Peo­ple-ori­ent­ed method­olo­gies are more ben­e­fi­cial than process-ori­ent­ed ones.
  • The method­ol­o­gy should be tai­lored to the indi­vid­ual project and team — there is no uni­ver­sal appli­ca­tion devel­op­ment methodology.
In 1994, he imple­ment­ed these ideas as the lead con­sul­tant on a fixed-cost project worth $15 mil­lion with a staff of 45 peo­ple called Orange.” The prin­ci­ples devel­oped by Alis­tair became the foun­da­tion for the pro­jec­t’s suc­cess. He doc­u­ment­ed this expe­ri­ence in his book Sur­viv­ing Object-Ori­ent­ed Projects” (1997) and a year lat­er devel­oped the Crys­tal fam­i­ly of methodologies.

Hap­py author of the Crys­tal method­ol­o­gy fam­i­ly, Agile Man­i­festo co-author Alis­tair Cockburn

In 2004, Cock­burn iden­ti­fied three main meth­ods of the concept:

  1. Rapid deliv­ery of use­ful code: Tran­si­tion­ing from large, infre­quent code deploy­ments to small­er, more fre­quent releases.
  2. Improve­ment through reflec­tion: Gath­er­ing insights on what worked well and poor­ly in the pre­vi­ous ver­sion of the soft­ware to improve the next version.
  3. Osmot­ic com­mu­ni­ca­tion: Cock­burn described the per­cep­tion and exchange of infor­ma­tion among devel­op­ers work­ing in the same room as back­ground noise, sim­i­lar to osmosis.
That same year, Cock­burn pub­lished Crys­tal Clear: A Human-Pow­ered Method­ol­o­gy for Small Teams”.Fur­ther con­tri­bu­tions to the devel­op­ment of CC were made by sys­tem admin­is­tra­tor Mar­cel Wage­mann, who wrote an essay on using Crys­tal Clear, Agile, and Scrum prin­ci­ples in soft­ware development.

What is the Crys­tal Methodology?

Crys­tal is a fam­i­ly of method­olo­gies based on these three methods. 

There is no sin­gle best” Crys­tal Clear method­ol­o­gy; each mod­i­fi­ca­tion suits dif­fer­ent types of projects. The orga­ni­za­tion or project cre­ates this mod­i­fi­ca­tion based on Crys­tal’s genet­ic code” (basic usage rules).

The sim­plest pos­si­ble clas­si­fi­ca­tion of Crys­tal is by the num­ber of peo­ple in the project:

  • Clear: 2 to 8 peo­ple work­ing togeth­er in one or adja­cent offices
  • Yel­low: 10 to 20 people
  • Orange: 20 to 50 people
  • Red: 50 to 100 people
For larg­er projects, addi­tion­al col­ors are used: Maroon, Blue, and Violet.

The genet­ic code of Crys­tal Clear con­sists of:

  • Eco­nom­i­cal­ly coop­er­a­tive game mod­el: Cock­burn views soft­ware devel­op­ment as a series of games” con­sist­ing of inven­tion and com­mu­ni­ca­tion, con­strained by resources. Each game has two goals: deliv­er soft­ware in this game and pre­pare for the next game in the series. Each new project requires new strategies.
  • Cho­sen pri­or­i­ties: Com­mon to all Crys­tal method­olo­gies are two pri­or­i­ties: safe­ty and devel­op­ment efficiency.
  • Cho­sen char­ac­ter­is­tics: These enhance the pri­or­i­ty of safe­ty. Three are basic (rapid and fre­quent deliv­ery of code, per­son­al com­mu­ni­ca­tion, improve­ment through reflec­tion), while the remain­ing four are addi­tion­al: per­son­al safe­ty, focus, easy access to experts, and a qual­i­ty tech­ni­cal envi­ron­ment with auto­mat­ed testing.
  • Cho­sen prin­ci­ples: One con­tin­ues the key direc­tion of indi­vid­u­al­iz­ing the methodology: 
The lev­el of detail in soft­ware require­ments, design doc­u­ments, and plan­ning depends on the pro­jec­t’s specifics, includ­ing the degree of per­son­al team inter­ac­tion and the dam­age that can be caused by unde­tect­ed errors.

Cyclic Process of Crys­tal Clear

Most projects with Crys­tal Clear con­sist of six cycles, defin­ing the respon­si­bil­i­ties and tasks of the project team:

  1. Project cycle: Although the project itself is a prod­uct unit, it is usu­al­ly fol­lowed by anoth­er project repeat­ing the cycle. The project cycle con­sists of three parts: prepa­ra­tion (team assem­bly, 360° research, method­ol­o­gy deter­mi­na­tion), a series of two or more deliv­ery cycles, and a com­ple­tion rit­u­al”. Dura­tion: from a few days to weeks.
  2. Deliv­ery cycle: Involves recal­i­brat­ing the soft­ware release plan, a series of one or more iter­a­tions result­ing in a test­ed inte­grat­ed code, deliv­ery to real users, and a com­ple­tion rit­u­al”. Dura­tion: 1 week to 3 months.
  3. Iter­a­tion: Con­sists of three major parts: iter­a­tion plan­ning, dai­ly and inte­gra­tion cycle activ­i­ties, and the pro­jec­t’s com­ple­tion ritual”.
  4. Work­ing week/​day: The choice of day or week as the time unit of the cycle depends on the pro­jec­t’s for­mat and team. Exam­ples include week­ly depart­ment meet­ings, team leader reports, and brown-bag” sem­i­nars (lunch dis­cus­sions on project issues).
  5. Inte­gra­tion peri­od: Devel­op­ment, inte­gra­tion, and sys­tem test­ing. Some teams per­form con­tin­u­ous build-test­ing with a ded­i­cat­ed machine, while oth­ers inte­grate dai­ly or three times a week. The short­er the inte­gra­tion cycle, the bet­ter. Dura­tion: 30 min­utes to 3 days (depend­ing on team experience).
  6. Devel­op­ment: Writ­ing and check­ing a part of the code. This is the core work of a pro­gram­mer in agile devel­op­ment. A team mem­ber takes a small task, pro­grams a solu­tion (ide­al­ly with test­ing), and checks it in con­fig­u­ra­tion with the entire sys­tem. Dura­tion: 15 min­utes to sev­er­al days.

Strate­gies and Tech­niques of Crys­tal Clear

Pure” Crys­tal Clear does­n’t require any spe­cif­ic strate­gies and tech­niques. How­ev­er, we’ve pre­pared a starter set of meth­ods to help the team work effec­tive­ly at each CC cycle.

Key Strate­gies Include:

  • 360° Research: At the start of the project, the team needs to under­stand how use­ful and mean­ing­ful the prod­uct is and whether it can be cre­at­ed with the avail­able resources and tech­nolo­gies. The project is exam­ined in areas such as busi­ness val­ue, require­ments, nec­es­sary tech­nolo­gies, project plan, team com­po­si­tion, and cho­sen method­olo­gies. Imple­men­ta­tion takes a few days to 1 – 2 weeks.
  • Ear­ly Win: A vic­to­ry unites the team and boosts each mem­ber’s con­fi­dence. In appli­ca­tion devel­op­ment, the ear­ly win strat­e­gy involves find­ing the first piece of work­ing code, often a small ele­ment of use­ful sys­tem func­tion­al­i­ty. This small vic­to­ry helps team mem­bers learn each oth­er’s work styles, users get an ear­ly idea of the sys­tem, and spon­sors see the team’s capability.
  • Incre­men­tal Archi­tec­ture Change: The sys­tem archi­tec­ture should evolve as tech­no­log­i­cal and busi­ness require­ments change over time. The strat­e­gy address­es this by allow­ing the team to incre­men­tal­ly change the archi­tec­ture with­out dis­rupt­ing the sys­tem’s over­all func­tion­al­i­ty. The same strat­e­gy can be applied to func­tion­al changes in the final system.
  • Infor­ma­tion Radi­a­tors: Dis­plays placed where peo­ple can see them while work­ing or rest­ing. They show nec­es­sary infor­ma­tion with­out need­ing to ask extra ques­tions, embody­ing the Crys­tal Clear rule more com­mu­ni­ca­tion, few­er inter­rup­tions”.

    The infor­ma­tion radi­a­tor should be large, eas­i­ly acces­si­ble, sim­ple to use and read, and con­tain up-to-date infor­ma­tion. Exam­ples include Scrum and Kan­ban boards and a work­ing glos­sary inter­pret­ing project terminology.

Pop­u­lar Tech­niques Include:

  1. Form­ing the Method­ol­o­gy: Crys­tal Clear cus­tomiza­tion occurs in two stages: project inter­views (cre­at­ing a mini-library of orga­ni­za­tion­al expe­ri­ence high­light­ing the pro­jec­t’s strong and weak points) and a method­ol­o­gy for­ma­tion work­shop (ana­lyz­ing expe­ri­ence to enhance strengths and com­pen­sate for weak­ness­es). The infor­ma­tion from the first step is used in the second.
  2. Reflec­tion Work­shop: Peri­od­i­cal­ly, the team should take a one-hour break to con­duct a reflec­tion work­shop,” dis­cussing what works well or poor­ly, what needs improve­ment, and what can be done dif­fer­ent­ly in the next project stages.
  3. Blitz Plan­ning: Allows spon­sors, users, and devel­op­ers to joint­ly cre­ate a project roadmap with time constraints.
  4. Dai­ly Stand-up Meet­ings: Short meet­ings to deter­mine the pro­jec­t’s sta­tus, progress, and issues. These meet­ings are not for dis­cus­sion, only for prob­lem iden­ti­fi­ca­tion. Results are record­ed in an online task man­ag­er or on a phys­i­cal Kan­ban board.
  5. Pair Pro­gram­ming: In this process, two peo­ple work on one pro­gram­ming task on a sin­gle device. Pair pro­gram­ming is often crit­i­cized for elim­i­nat­ing indi­vid­ual approach­es to tasks and requir­ing high-qual­i­ty inter­per­son­al rela­tion­ships with­in the project team. An alter­na­tive tech­nique, slide-by-slide,” involves two peo­ple sit­ting close enough to see each oth­er’s screens but work­ing on dif­fer­ent tasks on sep­a­rate work­sta­tions. This cor­re­sponds to the con­cept of osmot­ic interaction.”

Rec­om­mend­ed Read­ing on Crys­tal Clear

Unfor­tu­nate­ly, there is very lit­tle lit­er­a­ture on Crys­tal Clear, and no spe­cial­ized works in Ukrain­ian as of 2017.

Key resources for study­ing Crys­tal Clear include:

  • Crys­tal Clear: A Human-Pow­ered Method­ol­o­gy for Small Teams” by Alis­tair Cock­burn: The essen­tial book for under­stand­ing the method­ol­o­gy from its cre­ator. It con­tains many case stud­ies, exam­ples, and mini-guides on imple­ment­ing indi­vid­ual ele­ments of Clear in an organization.
  • Pair Pro­gram­ming Illu­mi­nat­ed” by Lau­rie Williams: A detailed analy­sis of one of Crys­tal Clear’s tech­niques, pair pro­gram­ming. The book pro­vides prac­ti­cal advice on using PP in soft­ware development.
  • Agile Soft­ware Devel­op­ment: The Coop­er­a­tive Game” by Alis­tair Cock­burn: Explains the con­cept of soft­ware devel­op­ment as a coop­er­a­tive game of inven­tion and com­mu­ni­ca­tion.” Cock­burn expands on ideas from Crys­tal Clear in this book, lat­er for­mal­iz­ing them in Crys­tal Clear: A Human-Pow­ered Method­ol­o­gy for Small Teams.”
  • The offi­cial web­site of Crys­tal Clear’s cre­ator: While not a book, it offers a wealth of infor­ma­tion, includ­ing inter­views, dia­grams, blog posts, and dis­cus­sions on the method­ol­o­gy. The only down­side is the unfriend­ly design of the site.

Ver­dict

Many so-called best” method­olo­gies are reject­ed by project teams because they are too com­plex, intru­sive, and unwieldy.
Crys­tal Clear does­n’t claim to be the best method­ol­o­gy,” but it is suit­able” for implementation. 
​The project team’s task is to cus­tomize CC to their needs, tai­lor­ing it to the orga­ni­za­tion’s strengths and weaknesses.

esc
Share
или
PM school
Kanban boards are powerful tools for project management. It helps in organizing workflows, tracking tasks, and boosting company productivity. They simplify complex projects by breaking them into smaller...
20 December 2024   •   13 min read
PM school
Project management tools are essential for any company. They help businesses stay organized, encourage collaboration and meet deadlines. These services streamline work processes and improve team productivity...
20 December 2024   •   12 min read
PM school
Dashboards are an essential project management tool. They provide a single place to monitor tasks, track time and measure progress. They simplify complex workflows, improve collaboration and provide a...
19 December 2024   •   12 min read
Get started now
Please enter your real email 🙂