آلیستر کاکبرن، روش کریستال را برای IBM در سال ۱۹۹۱ توسعه داد. او تصمیم گرفت به جای تمرکز بر روی انجام فعالیتها به صورت گام به گام، دستورالعملهایی را برای همکاری و تعاملات تیمی ایجاد کند. بنابراین، ویژگیهای روش کریستال کاکبرن همه بر اساس خود تیم است:
- نیروی انسانی (به این معنی که پروژه باید انعطافپذیر و متناسب با نیازها و روشهای کاری ترجیحی افراد پیش رود.)
- تطبیقی (به این معنی که رویکرد از ابزار ثابتی استفاده نمیکند و میتوان آن را برای برآورده کردن نیازهای خاص تیم تغییر داد.)
- فوق سبک (به این معنی که این روش به مستندات یا گزارشهای زیادی نیاز ندارد.)

تعریف
کریستال یک چارچوب چابک است که به جای تمرکز بر روی فرآیندها و ابزارها بر روی افراد و تعاملات آنها تمرکز میکند که در واقع یکی از ارزش های اصلی بیان شده در Manifesto Agile نیز است.
چارچوب چابک کریستال بر اساس دو باور اصلی بنا شده است:
- تیمها میتوانند به تنهایی راههایی برای بهبود و بهینهسازی گردش کار خود بیابند.
- هر پروژه منحصر به فرد و همیشه در حال تغییر است، به همین دلیل است که اعضای تیم آن پروژه بهترین افراد برای تعیین نحوه انجام کار پروژه میباشند.
ویژگیهای Crystal
تحویل مکرر
تحویل مکرر به شما امکان میدهد محصولات را به طور منظم جهت تست به کاربران واقعی تحویل دهید. بدون داشتن این ویژگی ممکن است محصولی بسازید که هیچ کس به آن نیاز ندارد.
گسترش بهبود
مهم نیست چقدر کار خود را خوب یا بد انجام داده باشید. از آنجایی که همیشه زمینههایی برای بهبود محصول وجود دارد بنابراین تیمها میتوانند برای بهبود شیوههای آینده خود crystal را پیادهسازی کنند.
ارتباط اسمزی
آلیستر بیان کرد که قرار گرفتن تیمها در یک فاز فیزیکی مشترک بسیار مهم است، زیرا اجازه میدهد تا اطلاعات بین اعضای یک تیم مانند اسمز جریان یابد.
امنیت شخصی
هیچ پیشنهاد بدی در یک تیم کریستال وجود ندارد، اعضای تیم باید احساس امنیت کنند تا در مورد ایدهها به طور آشکار و بدون هیچ ترسی صحبت کنند.
تمرکز
هر یک از اعضای تیم دقیقاً میدانند چه کاری را باید انجام دهند این امر به آنها امکان میدهد بر روی کار خود تمرکز کرده و این نیز باعث افزایش تعامل تیمی و کار در راستای هدف مشترک تیم میشود.
دسترسی آسان به کاربران متخصص
ارتباط تیم با کاربران را افزایش میدهد به همین دلیل بازخوردها به طور منظم از تمامی افراد دریافت میشود.
ابزار فنی
شامل ابزارهای فنی بسیار خاصی است که توسط تیم توسعه نرمافزار در طول آزمایش، مدیریت و پیکربندی استفاده میشود. این ابزارها این امکان را برای تیم فراهم میکنند تا هر گونه خطا را در مدت زمان کمتری شناسایی کند.
کریستال چگونه عمل میکند؟
با توجه به اینکه هر چه میزان اعضای تیمها افزایش یابد همکاری بین افراد تیم و سرعت عمل کاهش پیدا میکند از این رو Crystal گروهبندیهای مختلفی را با استفاده از رنگهای مختلف با عنوان متدولوژیهای مختلف نشان داده است.
این متدولوژیها شامل موارد زیر میشود:

این تیم فقط از ۱ تا ۶ عضو تشکیل شده است که برای پروژههای کوتاه مدت که افراد در یک فضای کاری مشترک کار میکنند، مناسب است.
این تیم دارای اندازه کوچک ۷ تا ۲۰ عضو است و استفاده بیش از حد از مستندات را کاهش میدهد.
اندازه تیم ۲۱ تا ۴۰ عضو است که تیمها بر اساس مهارتهای عملکردی تقسیمبندی میشوند. پروژه به طور کلی ۱-۲ سال طول میکشد و انتشار هر ۳ تا ۴ ماه یکبار لازم است.
توسعه نرمافزار توسط ۴۰ تا ۸۰ عضو هدایت میشود که در آن تیمها میتوانند بر اساس نیازها تشکیل و تقسیم شوند.
جمعبندی
کریستال یکی از انعطافپذیرترین چارچوبها است که آزادی زیادی به تیم توسعهدهنده شما میدهد تا فرآیندهایی را توسعه دهند که برای آنها کار میکند. این چارچوب برای تیمهای توسعه با تجربه و مستقل، ایدهآل است.
با این حال، از آنجایی که کریستال بر ارتباطات تیمی پیرامون محصول در حال ساخت تمرکز دارد و از مستندسازی و گزارشدهی غیرضروری جلوگیری میکند، برای سایر بخشهای سازمان دشوار است که بدانند محصول چگونه در حال توسعه است.