برنامه تحصیلی
- 11 Sections
- 86 Lessons
- 10 هفته
- مقدمه1
- مقدمات اسکرام17
- 2.1اسکرام چیست؟
- 2.2اسکرام چگونه کار میکند؟
- 2.3نقش های اسکرام – تیم اسکرام
- 2.4مالک محصول
- 2.5اسکرام مستر
- 2.6تیم توسعه
- 2.7رویدادهای اسکرام
- 2.8اسپرینت
- 2.9برنامه ریزی اسپرینت
- 2.10اسکرام روزانه
- 2.11بازبینی اسپرینت
- 2.12بازاندیشی اسپرینت
- 2.13مصنوعات اسکرام
- 2.14بکلاگ محصول
- 2.15بک لاگ اسپرینت
- 2.16فرآورده
- 2.17شفافیت مصنوعات و تعریف تکمیل شد
- درک و به کاربردن پایه تجربیگرای اسکرام10
- 3.1نظریه و پایه اسکرام
- 3.2نمود اعتماد در تیمهای اسکرام
- 3.3The Agile Manifesto
- 3.4آیا درک درستی از ارزش های چابک داریم؟
- 3.5تجربه گرایی یک عنصر اساسی اسکرام
- 3.6اجایل به زبان بازاری
- 3.7اسکرام برای چابکی کافی نیست
- 3.8شفافیت در سنگرهای واقعی جنگ
- 3.9متر اصلی چابکی
- 3.10۷ تکنیک قدرتمند برای گرفتن بازخورد از کاربران (در اسکرام)
- درک و به کار بردن ارزش های اسکرام4
- ایفای موثر نقش اسکرام مستری برای تیم و سازمان13
- 5.1چگونه اسکرام مستر بهتری باشیم
- 5.2۱۰ نکته لازم برای اسکرام مسترها
- 5.3Agile Coach Toolkit #4: Effective Facilitation
- 5.4Agile Coach Toolkit #5: Active Listening
- 5.5Agile Coach Toolkit #6: Building Consensus
- 5.6از نپرسیدن بترسید
- 5.7عملکرد مربی چابک و بازخوردها
- 5.8چگونه به عنوان یک تیم عملکرد بهتری داشته باشیم
- 5.9سه گانه تحول چابک : چگونه در عمل تحول چابک را انجام دهیم؟
- 5.10اسکرام مستری که فعالانه کاری انجام نمی دهد؟
- 5.11اسکرام مسترها در طول هفته چه کار میکنند؟
- 5.12۳۸ سوال برای استخدام اسکرام مستر
- 5.13اسکرام مستری در چرخه عمر آشپزی
- رویدادهای اسکرام با بازدهی بالا10
- 6.1چگونه جلسه بکلاگ گرومینگ موثر انجام بدهیم؟
- 6.2مدیریت انرژی به جای مدیریت زمان
- 6.3جلسات روزانه موثر در اسکرام
- 6.4۷ روش برای مقابله با جلسات برنامه ریزی خسته کننده
- 6.5جلسات رترو یا بازنگری موثر
- 6.6جلسات موثرتر: شیوه خاص توییتر
- 6.7برگه تقلب جلسات برنامه ریزی اسپرینت
- 6.8Definition Of done ساده شده
- 6.9آیا باید هر اسپرینت، جلسات رترو را برگزار کنیم؟
- 6.10Agile Retrospective Resource Wiki
- مصنوعات شفاف و موثر اسکرام6
- داشتن یک تیم اسکرام موثر12
- 8.1با وابستگیها چه کنیم؟
- 8.2با باگ ها چه کنیم؟
- 8.3بام چگونه روش برنامهریزی خود را تغییر داد؟ ریلییز پلن در عمل
- 8.4نحوه برنامه ریزی چابک در شرکتها و قراردادهای غیر چابک
- 8.5واگذاری اختیارات به تیمهای خودسازمانده
- 8.6چگونه برای تیمهای چابک استخدام کنیم؟
- 8.7برتری فنی الزام چابکی
- 8.8بدهی فنی و نحوه برخورد با آن
- 8.9DevOps چیست؟ و کاربرد آن کجاست؟
- 8.10فیدبک موثر برای رفتار دیگران
- 8.11تاخیر در تصمیم گیری مانع چابکی
- 8.12تفاوت Continuous delivery و Continuous deployment
- اسکرام برای تیمهای گسترده5
- مدارک و گواهینامه اسکرام2
- کتاب های اسکرام6
اسکرام چیست؟
اگر شما با یک مسئله یا پروژه ای مواجه هستید، که در حین اجرا دائم با تغییرات مختلف برخورد میکنید، بعبارتی از اول، آخر کار مشخص نیست و با دیدن خروجیها، مرحله به مرحله مسئله شفاف تر می شود، اسکرام یک گزینه مناسب برای شما میتواند باشد.
در این چند سال تجربه کاری، در صنعت های مختلفی کار کردم، از جمله بانک، بورس، شرکتهای استارتاپی و … . یک الگو تکرار شونده اکثرا در همه این شرکتها بود که یک جنس یا یک طیف خاصی از پروژه معمولا شکست می خورند یا حداقل چالش زیادی داشتند. برای مثال پروژه های IT یا توسعه یک نرم افزار جدید از این دست پروژه بودند.
یادم هست در یک شرکت بانکی بزرگ و دولتی، قرار بود یک نرم افزار مدیریت املاک و مستقلات تولید شود تا بتوان لیست جامعی از املاک و مستغلات درست کرد با هدف مدیریت بهینه مستغلات بانک و تصمیم گیری درست درخصوص شرایط نگه داری یا واگذاری املاک. مثلا شاید یک بانک بزرگ در یک گوشه از کشور یک ملکی دارد که آن اجاره داده شده است، اما سالها فراموش شده و شاید هم از آن سواستفاده می شود، یا در سالهای اخیر فشار زیادی بر روی بانک ها هست که املاک خود را واگذار کنند، اما کدام ملک باید واگذار شود؟ این باعث شد که نیاز به یک نرم افزار جامع مدیریت املاک حس شود.
یک پروژه بنام مدیریت جامع املاک در آن بانک معظم تعریف شد و یک تیم نرم افزاری کار را بر روی آن شروع نمود.
در واقع بنابر مدل آبشاری همانطور که در شکل زیر مشاهده می کنید، پیش فرض اصلی تیم بود. این مدل آبشاری دو فاز اساسی دارد: فاز اول، برنامه ریزی شامل : گرد آوری نیازمندی، تحلیل نیازمندی ها و طراحی، که در این فاز ابتدایی ما وارد اجرا نمی شویم و خروجی این فاز بیشتر مستندات و خوراک فاز بعدی است. در فاز بعدی، ما وارد فاز اجرا و نظارت و نهایتا تحول خواهیم شد.

علتی که به این مدل آبشاری گفته می شود این است که، خروجی هر مرحله برای بخش بعدی قطعی هست و همانند یک آبشار که آبی که از بالا به پایین میریزد قابل بازگشت نیست، خروجی نیز قابل برگشت نیست.
در همین پروژه ذکر شده، کلی دوستان تحلیلگر شروع به جمع آوری نیازمندی ها کردند، برای همین منظور مجبور شدند با دایره مربوطه در بانک جلسات مصاحبه داشته باشند و … . پس از جمع آوری نیازمندی های ، آنها به زبان قابل فهم نیروهای فنی تحلیل و طراحی شده و در قالب سندهای تحلیل-طراحی بدست برنامه نویس ها رسید. (این پروسه شاید ماهها به طول انجامید). در ادامه چندین ماه دیگر نیز ادامه داشت تا پیاده سازی اتفاق بیفتد، بعد از پیاده سازی، تیم تست با استفاده از سندهای تحلیل شروع به تست کرد، و بعد اینکه مطمئن شدند که خروجی پیاده سازی شده با سندهای تحلیل مطابقت دارد، آماده تحویل و استقرار خروجی شدند. نرم افزار نصب شد ولی کسی از آن استفاده نکرد؟ چرا؟ با اینکه این همه زحمت کشده شده بود؟
خوب موقعی که یک ملک نیاز بود ثبت شود، اطلاعات بین واحدهای مختلف پخش بود، و درواقع یک اپراتور دسترسی به همه آنها نداشت اما برای ثبت و تایید فرم باید همه اطلاعات وارد میشد یا کلی اقلام اطلاعاتی که هیچ کس به آنها دسترسی نداشت یا وارد کردن اطلاعات برای یک ملک خاص خیلی سخت و پیچیده بود و یک کارمند دولتی خیلی حال نداشت این همه اطلاعات را وارد کند، و موارد زیاد دیگری که باعث می شد واحد سفارش دهنده تمایلی به استفاده از خروجی استقرار یافته نداشته باشد زیراکه اعتقاد داشتند این نرم افزار نیاز آنها را برآورده نمیکند یا خیلی پیچیده است یا .. پس نیاز بود که کلی تغییرات انجام شود.
شاید بشود، کاسه و کوزه را بر سر تحلیلگرها شکست که چرا درست تحلیل نکردید؟ چرا برنامه نویس ها پیچیده آن را پیاده سازی کردند؟ یا می شود کاسه کوزه را بر سر مشتری سفارش دهنده شکست که چرا از اول همه چیز را نگفتید؟ ولی همانطور که در اول این نوشته گفتم، یک جنس از پروژه ها هستند که این اتفاق به صورت مکرر در آن اتفاق می افتد. پس احتمالا مشکل جایی دیگری هست.

پروژهها یا مسئلههای طیف مشخص و طیف پیچیده با هم فرق دارند
اکثر پروژه های نرم افزاری در طیف پیچیده دسته بندی می شوند، از این لحاظ که نه سمت مشتری “دقیقا” میدانند چه نیازمندی دارند و معمولا با دیدن خروجی، قطعیت پیدا میکنند(آها ما این رو میخواهیم). هم سمت اجرا کننده پروژه، روشهای و ابزارها، طرح ها و … قطعیت ندارند، مثلا شاید از یک دیتابیس برای ذخیره سازی اطلاعات استفاده کنیم که در ادامه به این نتیجه برسیم که انتخاب بهتری هم هست. از طرف دیگر، شرایط بازار و رقابت نیز باعث می شود ما در برنامه اجرایی قطعیت کامل نداشته باشیم.


ذات مسئلههای پیچیده
ما در پروژه ها یا مسئله های پیچیده به چند چیز یقین داریم:
۱- چیزی که مشتری درخواست داده یا آنچیزی که ما فکر میکنیم که مشتری به این قابلیت یا فیچر نیاز خواهد داشت با آنچیزی که واقعا نیاز دارد، معمولا متفاوت هست.
۲- ما قطعا میدانیم که روش اجرایی که از اول برنامه ریزی کردیم، چیزهایی پدید خواهد آمد که نمی دانستیم. پس برنامه اجرایی و روش انجام نیز قطعیت ندارد.
۳- موارد ۱ و ۲ باعث می شود که مطمئن شویم، که تغییر در مسئله های پیچیده، امری اجتناب ناپذیر بوده و به جای دوری از آن باید راهی پیدا کنیم که پذیرای آن باشیم.
خیلی ساده، ما اگر بتوانیم، تغییرات را در گام های نخست پیدا کنیم، پس هزینه تغییرات کم خواهد بود، در نتیجه خواهیم توانست به سهولت آنها را انجام بدهیم. با انجام آنها نیاز اصلی مشتری رفع شده و خواهیم توانست رضایت بالای مشتری را بدست بیاوریم.
به تفکر “پاسخگویی سریع به تغییرات” چابک یا چابکی گفته می شود.
اسکرام روشی برای حل مسئله های پیچیده
اسکرام یک چارچوب چابک است که با آن میتوانیم مسئله های پیچیده را حل نماییم. مسئله پیچیده به مواردی گفته می شود، دانش ما نسبت به مسئله ناقص است و به مرور این دانش پدیدار خواهد شد. مثلا توسعه نرم افزار برای یک بانک، راه اندازی یک استارتاپ، ترافیک، پیش بینی آب و هوا، یا ساختن واکسن کرونا.

اسکرام با استفاده از یک روش چرخشی افزایشی باعث کاهش ریسک و افزایش میزان پیش بینی پذیری می شود.
آیا ما “محصول درستی” می سازیم؟
آیا ما محصول را به “شیوه درستی” میسازیم؟