کار با روش توسعه نرم افزاری Scrum را از کجا آغاز کنیم؟

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

چابکی یا Agile یک تفکر در زمینه ی توسعه ی نرم افزار است و در واقع چیزی جز 4 ارزش زیر نیست:

- ارزش افراد و تعاملات بیش تر از ابزارها و فرآیند ها است.
- ارزش نرم افزاری کارا بیش تر از مستند سازی جامع است.
- ارزش همکاری با مشتری بیشتر از قرارداد کاری است.
- ارزش پاسخگویی به تغییرات بیشتر از پیروی از یک طرح از پیش نوشته شده است.

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

با نقش ها شروع کنید
نقش هایی که به طور دقیق و شفاف تعریف شده اند در به کارگیری بهتر اسکرام مؤثرند. بدون توجه به این که عنوان شغلی شما در سازمان چه می تواند باشد، در اسکرام این سمت به مدیر اسکرام (Scrum Master)، مالک محصول (Product Owner)، و اعضای تیم توسعه (Development Team) محدود می شود. اعضای تیم توسعه می توانند عناوین شغلی دیگر را هم داشته باشند، اما در یک زمان واحد باید تنها یک نقش را بر عهده گیرند.

مالکان محصول گزارش درخواست های مشتری (User Stories) را می نویسند، به منظور اطلاع از نیازهای تجاری با سهام داران گفتگو می کند، و فهرست سفارشات محصول (Product Backlog) را به ترتیب اولویت حفظ می کنند. مدیر اسکرام رویدادهای اسکرام (Scrum Event) را سازماندهی می کند، و موانع اسپرینت (در چارچوب اسکرام برای تولید یک محصول چند فرایند تکرار در نظر گرفته می شود و در پایان دوره ی زمانی هر فرایند تکرار، یک دستاورد قابل ارائه وجود دارد؛ به این دوره های زمانی تکرار شوند Sprint گفته می شود.) را شناسایی و برطرف می کنند. اعضای تیم توسعه وارد عمل می شوند و سند سفارشات اسپرینت را آماده ی تحویل می سازند. هر کس نقشی را بر عهده دارد و هر فرد جزء اساسی و جدایی ناپذیر از تیم اسکرام است.

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

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

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

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

برنامه ریزی اسپرینت
احتمالاً برنامه ریزی اسکرام مهم ترین جزء اسکرام است، و کسی که طبق دستورالعمل اسکرام عمل می کند، متودولوژی های چابک را پیاده سازی کرده است. این امر به این دلیل است که تیم به کار هایی که باید در یک اسپرینت انجام شوند می پردازد. در عوض، مالک محصول موافقت می کند که حدود وظایف مورد انتظاری را که در طول یک اسپرینت باید توسط تیم انجام شوند، تغییر ندهد. زمانی که تیم چنین توافقی می کند، اختیار حق مالکیت اسپرینت و موفقیت آن به آن ها داده می شود. تیم اسکرام باید برای موفقیت در انجام اسپرینت به کار گرفته شوند، و مشتاق باشند هر آنچه برای اجرای مؤثر اسپرینت در توان دارند انجام دهند.

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

به اشتراک گذاری
احتمالا این کار حساس ترین بخش یک استفاده ی مؤثر از اسکرام است، و حتی ممکن است آن را "اسکرام پیشرفته" بنامید. شما می توانید مهارت های بالا را به کار گیرید و اعضای تیم شما می توانند خیلی خوب ادامه دهند و جلو بروند، اما ممکن است چند سؤال وجود داشته باشد که تا حدی شما و تیم تان را آزار بدهد. برای مثال ممکن است احساس شود که همیشه یک یا دو سفارش وجود دارد که شما آن ها را به عنوان سفارشات انجام شده پذیرفته اید، اما در واقع آن ها انجام نشده اند. آن سفارشات ممکن است کارهای باقی مانده ای داشته باشند که یک نفر هنوز مجبور به تمیز کردن و تصحیح خطاهایی که به تعویق افتاده اند باشد. مثال دیگر این است که شما لیست سفارشات بعدی را انجام داده باشید، اما تیم واقعاً نداند که چه طور آن را در تصویر کلی و دراز مدت راهبردها یا نقشه ی راه محصول بگنجاند. یا شاید تیم دسته ای از کار ها را انجام داده باشد، و ... آنگاه یکی از سهام داران وارد بحث شود و در اظهار نظری قاطع بگوید که قطعاً آن چیزی نبوده که آن ها از شما انتظار داشته اند، و در صورت امکان باید آن سفارش را به صورت دیگری انجام دهید.

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

زمان بیش تری برای سهام داران خود بگذارید، سعی کنید بفهمید چه چیزی برای آن ها اهمیت دارد و مطمئن شوید آن ها نظر مثبتی روی فعالیت های شما دارند. ایده های اولیه را با آن ها در میان بگذارید و ببینید آیا این کار باعث می شود یک جرقه ی ناگهانی در ذهن آن ها ایجاد شود و ایده را درک کنند، یا در عوض به شما نگاه می کنند و درک موضوع برای آن ها سخت تر می شود. وقتی در ابتدا ایده ی خود را با سهام داران به اشتراک می گذارید، از این که آن ها بعداً از کار شما تعجب کنند اجتناب می کنید، این کار موجب هم سویی بیش تر فعالیت های شما با اولویت های آن ها می شود.

همکاری
اگر شما یک مدیر اسکرام هستید، تجربیات و مسائل خود را با دیگر مدیران اسکرام به اشتراک بگذارید. چالش های پیش روی شما کدامند؟ چطور می توانید به نتایج بهتری دست یابید؟ یک روش حقیقتاً زیبا برای آن که با سایرین همکاری داشته باشید این است که به عنوان پیگیری کنندگان مهمان برای بازنگری اسپرینت شرکت داشته باشید. توانایی مدیران اسکرام در بیان نظرات خود در جلسات بازنگری و این که به دیگران اجازه دهند گفت و گو را پیش ببرند و کامل کنند یک کمک خوب برای آن ها است، و شما می توانید از هم یاد بگیرید که چگونه اجرای یکی از رویداد های بسیار حساس اسکرام را بهتر تسهیل کنید.  

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

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

0







از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)