اسکرام چیست؟ | معرفی اسکرام از جواد فراهانی

اسکرام چیست؟

4.3
(6)
Share on linkedin
Share on telegram
Share on whatsapp
Javad Vasheghani Farahani

در این مقاله به مطالب زیر خواهیم برداخت: 

معرفی اسکرام

اسکرام یک چارچوب برای تولید نرم‌افزار است(البته در زمینه های دیگر هم کاربرد دارد) که از تفکر Agile (چابک) می‌باشد. اسکرام که یکی از متداول ترین چارچوب‌های توسعه نرم‌افزار است را مورد بررسی قرار میدهیم.

اسکرام چیست

تاریخچه اسکرام

اسکرام در سال ۱۹۸۶ توسط ایکوجیرو نوناکا و هیروتاکا تاکوچی به عنوان یک خط مشی جدید برای تولید نرم‌افزارهای تجاری که باید قابلیت انعطاف‌پذیری و سرعت در تولید را میداشتند، عرضه شد. اسم اسکرام از یک نوع بازی در فوتبال راگبی گرفته شده است. یعنی از کلمه scrummage. این متدولوژی اولین بار در ژاپن اختراع شد.

رویکرد اسکرام در پروژه ها

اسکرام یک روش افزایشی (Incremental) است. یعنی با گذشت زمان و طی شدن مراحل، روند تکامل پروژه نیز افزایش می‌یابد. اسکرام شامل چرخه‌های متفاوتی است که با اطمینان از پیاده سازی صحیح پروژه در هر چرخه، به کاهش ریسک‌های احتمالی و هزینه‌های مازاد کمک می‌کند.

رویکرد اسکرام به طور کلی بدین صورت است که ابتدا با مشارکت تیم توسعه و مالک محصول یا مشتری، جلسه ای تشکیل می‌شود. در طی این جلسه باید تمامی نیازمندی‌های سیستمی و غیر سیستمی، اهداف و همه نیازمندی‌هایی که باید پیاده سازی شوند روشن شوند.  تمام اعضا در مجموع به توافق می رسند. در ادامه یک پروژه بزرگ تعریف شده، به بخش های کوچکتری تقسیم می شود. هر بخش آن به دوره زمانی هایی با تایم مشخص و محدود عنوان اسپرینت (Sprint) تعریف می‌شوند.

هر اسپرینت معمولا با مشورت اعضا تیم، 1 تا 2 هفته ای خواهد بود. البته بیشتر و کم تر هم می تواند باشد و محدودیتی ندارد. اسپیرینت ها دارای مدت زمان مشخص هستند. یعنی در تاریخ مشخصی خاتمه می یابند. چه کار به پایان رسیده باشد چه نه.  آنها هرگز تمدید نمی شوند. در آغاز هر اسپرینت یک جلسه برگزار می کنیم که برنامه ریزی های اسپرینت جاری را انجام خواهیم داد. هر روز هم دور هم جمع می شویم و در مورد کارها صحبت می کنیم. پس از پایان هر اسپرینت جلسه ای تشکیل می دهیم و نتایج کار را بررسی می‌کنیم و چگونگی انجام کارها و بازدهی را ادارگیری می کنیم. پس از پایان اسپرینت دوباره برای اسپرینت بعدی آماده می شویم.

hs;vhl | scrum

رابطه بین اسکرام و اجایل

تفکر چابک دارای اصول 12 گانه ای هست که در توسعه سیستم‌‌های نرم افزاری بسیار کاربردی است. یکی از اساسی‌ترین اصول این تفکر، ارتباط مداوم با مشتری است. همین باعث اهمیت استفاده از آن در کسب و کارهای امروزی شده است. در این نوع تفکر تیم نرم افزاری تلاش می‌کند تا محصول نهایی مطابق نظر مشتریان باشد. به عبارت دیگر محصولی مشتری محور خواهیم داشت. در هر فاز نتایج به دست آمده تست و بررسی می شوند. اَجایل شامل 4 مرحله اصلی یعنی شناخت.

متدهای تفکر اجایل که از آن جمله می‌توان به اسکرام, XP ,Kanban و… اشاره کرد, روش‌هایی برای دست یابی به تفکر Agile می‌باشند. Agile یک تفکر در زمینه توسعه نرم افزار است.

در حقیقت اسکرام یک چارچوب توسعه نرم افزار Agile می‌باشد که از روش تکرار افزایشی بهره می‌برد.

Scrum Frame work definition

اسکرام چارچوب است یا متدولوژی؟

اشخاصی مانند کن شوئبر (Ken Schwaber) که جزو مبدعین اسکرام است دائماً از لفظ چارچوب(framework) استفاده می‌کنند و تاکید دارند که همه باید این مورد را قبول داشته باشند ولی بعضی دیگر از لفظ فرایند یا متدولوژی برای اسکرام استفاده می‌کنند.

چرا اسکرام چارچوب است و نه متدولوژی؟

متدولوژی مجموعه روش هایی است که علاوه بر توصیه ما را به انجام آن فرایندها میکند ولی اسکرام فقط ما را توصیه به رویکردها و افکار خیلی ساده و کاربردی میکند.

اسکرام (Scrum) یک متدولوژی افزایشی (Incremental) برای مدیریت پروژه‌های نرم‌افزاری است و از رده متدولوژی‌های تفکر چابک محسوب می‌شود
اسکرام به جای اینکه جزئیات دقیق و مشخص در مورد اینکه کارها در پروژه چگونه باید انجام شوند,  بیشتر آن را به تیم واگذار می‌کند. این کار عملی خواهد بود زیرا تیم خواهد دانست که چطور به بهترین شکل مشکل خود را حل نماید.

به عبارت ساده, در Scrum نسخه پیچی نداریم و بیشتر سعی در کشف و نمایان کردن مشکلات می‌کنیم.

ویژگی های اسکرام

3 اصل اساسی چارچوپ اسکرام

اسکرام 3 اصل اساسی دارد که اصلا به همین سه ویژگی مهم در پروژه های نرم افزاری معروف شده است:

  1. شفافیت (Transparency): یعنی تمام مسائلی که در تیم انجام می شوند توسط تمام اعضای تیم اسکرام قابل بررسی و کنترل است.
  2. بررسی (Inspection): مراحل مختلف پیاده سازی به صورت مداوم چک می شوند.در صورت بروز هرگونه مشکل، سریع آن موضوع رفع می شود تا سرعت تیم کاسته نشود.
  3. تطبیق پذیری (Adaptation): تغییرات بازار، تغییر نیاز، تغییر سیاست های شرکت و تغییر تکنولوژی های مورد استفاده از جمله دلایلی هستند که موجب اهمیت تطبیق پذیری پروژه های اسکرامی می باشند.
اعضای تیم اسکرام

نقش‌ها در اسکرام

  1. ScrumMaster- اسکرام مستر:  وظیفه حفظ و نگهداری فرایندها و اجرای صحیح اسکرام در تیم  را برعهده دارد.
  2. Product Owner- پروداکت اونر: که نماینده ذی‌نفعان (Stakeholders) پروژه و کسب و کار است.
  3. Team Member- اعضای توسعه تیم: اعضایی از یک گروه چند عملکردی است که معمولاً بین 3 الی 9 نفر هستند. این افراد عملیات طراحی، تحلیل، پیاده‌سازی، تست و… را انجام می‌دهند. در واقع توسعه دهندگان، طراحان و اعضای فنی تیم که کار اجرایی را انجام می دهند هستند.

 

جلسات اسکرام

رویدادهای اسکرام

  1. جلسات برنامه ریزی اسپرینت(sprint planing):

    در آغاز هر اسپیرینت، جلسه برنامه ریزی برای اسپیرینت برگزار می شود. مالک محصول و تیم اسکرام در مورد اهداف و موارد اجرایی بحث می کنند. تیم اسکرام موارد را برای به اتمام رساندن آن تا پایان اسپیرینت انتخاب میکنند. البته به ترتیب اولویت هایی که مشخص شده است

  2. جلسه‌ روزانه – استندآپ میتینگ(stand up meeting):  این جلسه‌های کوتاه حداکثر 15 دقیقه‌ای اول ساعت کاری روز بین اعضای تیم اسکرام برگزار میشود. بهتر است که این جلسات به صورت ایستاده باشد تا وقت زیادی از دست ندهید. اعضای تیم کارهایی که روز گذشته انجام داده اند، کارهایی که در طول روز جاری قرار است  انجام بدهند و مشکلاتی که با آن ها روبرو شدند را خیلی سریع بیان می‌کنند. با اینکار برای مشکلات جاری راه حل پیدا میکنیم و کارها بهتر و با تاخیر کم تر انجام می شوند.
  3. جلسه بررسی اسپیرینت: جلسه‌ای غیررسمی است که پس از پایان اسپیرینت، جلسه بررسی اسپیرینت وجود دارد. جلسه بررسی اسپرینت تیم اسکرام و ذینفعان آنچه را که در طول اسپرینت انجام داده اند را بررسی می کنند. در مورد آن بحث می کنند.  در این جلسه، مالک محصول، اعضای تیم و متخصص اسکرام، علاوه بر مشتریان، ذینفعان، کارشناسان، مدیران و هر کس دیگری که علاقه مند است حضور دارند.

    پس از بررسی اسپرینت، تیم برای نگاهی به گذشته اسپرینت، دور یکدیگر جمع می شوند که فرصتی برای تیم است تا درباره آنچه انجام شده یا نشده بحث کنند، و برای تغییرات توافق کنند.

  4. جلسه بازبینی(retrospective): صرف‌نظر از اینکه تیم اسکرام چقدر موفق عمل می‌کند، همیشه جایی برای بهبودیافتن هست. تیم باید هدفی مشخص کند و تا پایان اسپرینت، طبق برنامه پیش رود. به‌همین‌دلیل، تیم همیشه راه‌هایی برای بهبود پیدا می‌کند و ما بازتاب این اتفاق را در رویداد بازنگری اسپرینت  مشاهده می‌کنیم.

اسکرام را از کجا شروع کنیم؟

منابع مختلفی برای آموزش اسکرام موجود هستند. بهترین منابع موجود، خود راهنمای اسکرام است. البته که راهنمای اسکرام 19 صحفه است. پس درواقع آموزش کاملی نداده است. برای آموزش بهتر کتاب چگونه غول اسکرام را بکشیم  پیشنهاد می شود که توسط خود بنده، جواد فراهانی، ترجمه شده. بنده از کتاب ها و منابع خارجی موجود این کتاب را بهتر از بقیه دیدم. برای شما عزیزان آماده و ارائه کردم. در ادامه بیشتر با این کتاب آشنا می شویم: 

چگونه غول اسکرام را بکشیم؟ | کتاب آموزش اسکرام از جواد فراهانی

منبع مناسب برای آموزش اسکرام

کتاب چگونه غول اسکرام را بکشیم یک راهنمای عملی و کاربردی برای اجرای چارچوب اسکرام در استارت ها است.  این کتاب بر روی نقش متخصص اسکرام یا همان اسکرام مستر، متمرکز است. خیلی پیشنهاد می کنم که این کتاب رو مطالعه کنید و ممنون میشم که نظرات خودتان را اشتراک بگذارید. برای تهیه کتاب “چگونه غول اسکرام را بکشیم؟” می توانید با این اینک اقدام کنید.

حرف آخر

حرف آخر

اسکرام در پروژه های نرم افزاری نتیجه فوق العاده ای را به جا میگذارد. اگر برنامه نویس، مدیر، طراحی سایت و در کل در زمینه های نرم افزاری و استارتاپی فعالیت دارید، پیشنهاد میکنم که اسکرام را یاد بگیرید. حتی در زندگی شخصی و رشد شخصی شما هم خیلی تاثییر خوبی خواهد داست.

تهیه کتاب چگونه غول اسکرام را بکشیم؟

به اندازه چندتا ستاره دوست داشتی این مطلب رو؟

رو ستاره ها کلیک کنید و بهم ستاره بدید

میانگین: 4.3 / 5. تعداد نظرات: 6

میشه شما اولین کسی باشید که بهم ستاره میده؟

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

fa_IRPersian