توسعه نرم افزار روش چابک قالب اسکرام
توسعه نرم افزار روش چابک قالب اسکرام – ایران ترجمه – Irantarjomeh
مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی
مقالات
قیمت
قیمت این مقاله: 25000 تومان (ایران ترجمه - irantarjomeh)
توضیح
بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.
شماره | ۱۲۸ |
کد مقاله | COM128 |
مترجم | گروه مترجمین ایران ترجمه – irantarjomeh |
نام فارسی | توسعه نرم افزار با استفاده از روش چابک با بهره گیری از قالب اسکرام |
نام انگلیسی | Software Development Using Agile Methodology Using Scrum Framework |
تعداد صفحه به فارسی | ۱۵ |
تعداد صفحه به انگلیسی | ۳ |
کلمات کلیدی به فارسی | روش چابک, انباشت محصول, اسکرام, چارچوب اسکرام، اسپرینت / SPRINT |
کلمات کلیدی به انگلیسی | AGILE Methodologies, Product Backlog, SCRUM, SCRUM Frame work, SPRINT |
مرجع به فارسی | ژورنال بین المللی انتشارات علمی و تحقیقاتیدپارتمان مهندسی علوم کامپیوتر، موسسه فناوری و مهندسی، هندوستان |
مرجع به انگلیسی | nternational Journal of Scientific and Research Publications, Volume 3, Issue 4, April 2013; Department of Computer Science and Engineering, Krishna Murthy Institute of Technology & Engineering; Department of Computer Science and Engineering, Malla Reddy College of Engineering for Women |
کشور | هندوستان |
توسعه نرم افزار با استفاده از روش چابک با بهره گیری از قالب اسکرام
چکیده
روش چابک در SDLC با هدف فراهم آوردن نرم افزاری کارآمدتر در حال توسعه می باشد. با توجه به ایجاد روش پذیرفته شده چابک (AGILE) تحت عنوان اسکرام (SCRUM)، تقریبا ۶۵% صنعت به سمت این مدل روی آورده و مدل متعارف موجود چرخه حیات نرم افزار را به کناری گذاشته اند. مدل اسکرام در نظر می گیرد که فرآیند توسعه سیستم به عنوان یک فرآیند غیر قابل پیش بینی و پیچیده مطرح است که آن را می توان تقریبا به عنوان یک ویژگی در حال پیشرفت کلی محسوب کرد. بر این مبنا، مدل اسکرام فرآیند توسعه سیستم را به عنوان مجموعه ای از فعالیت ها تعریف می نماید که از ادوات شناخته شده و کاربردی با بهره گیری از بهترین تکنیک های قابل استفاده بوسیله تیم توسعه جهت ساختن سیستم های مربوطه سود می جوید. از آنجایی که این نوع فعالیت ها ممکن است به صورت آزادانه و بدون کنترل انجام شوند، لازم است جهت مدیریت این فرآیند و با توجه به وجود ریسک های ذاتی اقدامات کنترلی دقیق در این زمینه اعمال شوند. مدل اسکرام برگرفته شده از رویه ارتقاء یافته متعارف می باشد که در آن از چرخه توسعه تکراری/ نموی شیء گرا استفاده شده است.
کلمات کلیدی: روش چابک، انباشت محصول، اسکرام، چارچوب اسکرام، اسپرینت / SPRINT
توسعه نرم افزار روش چابک قالب اسکرام
۱- مقدمه
چرخه حیات توسعه نرم افزار برمبنای اسکرام به عنوان آخرین روند مطرح شده در این صنعت به شمار می آید که در آن هیچگونه سلسله مراتبی برای این فرآیند وجود نداشته و توسعه برمبنای ویژگی های تکرار شونده و با تعامل با اشخاص فراهم آمده و مفهوم فرآیند چرخه حیات متعارف دنبال نمی شود. به طور عمده روش اسکرام در تعامل با ویژگی های فردی است و متکی به فرآیند ها به ابزارهایی می باشد که ما آنها را در پروسه چرخه حیات معمولی خود همراه با مشارکت با مشتریان، و توجه به پاسخ گویی سریع به تغییرات، دنبال می کنیم.
معرفی اسکرام (SCRUM)
فرآیندهای چرخه حیات توسعه نرم افزار را می توان از طریق مدلها و روش های فرآیند مختلف حاصل آورد که هم اکنون در بازار موجود می باشند. هدف اصلی این روشهای چابک (AGILE) کاهش ریسک از طریق تقسیم آبجکت ها به ماژول های کوچکتر و محدود شده زمانی یا جعبه های زمانی (تکرارها) می باشد؛ در این سیستم هر تکرار همانند یک بخش پروژه خودکار کوچک است که هر کدام از آنها تنها برای چندین هفته دوام دارند. تفاوت اصلی که می توانیم در خصوص روش SDLC سنتی و روش چابک بیان داریم مشارکت با مشتری و پاسخگویی سریع به تغییرات می باشد. ما در سیستم چابک دارای انواع مختلف روش ها و چارچوب ها نظیر روش توسعه سیستم های دینامیک (DSDM)، توسعه کاربرد سریع (RAD) و اسکرام می باشیم. در این مبحث روش اسکرام به عنوان فرآیندی مطرح است که در این فرآیند به ما اجازه تمرکز بر روی ارائه بالاترین ارزش تجاری ممکن در کوتاهترین مدت را می دهد و در آن تیم توسعه به عنوان یک واحد عمل می نماید تا به اهداف مشترک که در تعارض با دیدگاه های سنتی ترتیبی است برسیم. در اینجا با سه قاعده اصلی در اسکرام سروکار داریم که عبارتند از: «مالک محصول»، «تیم توسعه» و «اسکرام مستر». نقش فرعی در تیم اسکرام نیز توسط افراد ذینفع و مدیران اعمال می شود. در فرآیند اسکرام در ابتدا طرح (PLAN) ارزیابی شده و محصول مورد بازرسی (INSPECTED) گردیده و پس از آن محصول حاصل آمده و فرآیند SPRINT اتخاذ می شود. SPRINT نیز به عنوان چندین پروسه به شمار می آید که در بردارنده زمان خاصی (همانند دو یا سه هفته) است؛ این پروسه ها به دو دسته تقسیم شده و هر دسته خود در SPRINTS دسته بندی گردیده و در مقابل موارد مرتبط برحسب نیازهای مشتری به یک پروژه تبدیل می شوند.
توسعه نرم افزار روش چابک قالب اسکرام
۲- اسپرینت (SPRINT)
اسپرینت (SPRINT) به عنوان بخشی از کار به شمار می آید که در یک بازه زمانی مشخص همانند دو الی چهار هفته انجام می شود. هر اسپرینت همراه با نشست های برنامه ریزی خواهد بود که در آنها وظایف اسپرینت مشخص گردیده و نوعی تعهد ارزیابی شده برای اهداف اسپرینت حاصل و متعاقبا فرآیند بازنگری موارد قبلی اعمال می گردد که در آن ویژگی های مرتبط مجددا بررسی شده و درسهای مرتبط با اسپرینت بعدی لحاظ می شود. اسپرینت با کمک بانک اطلاعاتی نیازهای محصول تحت عنوان بکلاگ (backlog) (لیست اولویت بندی شده نیازها در روش اسکرام) اعمال می شود که در آن می توانیم کلیه نیازهای اجرایی SPRINT را بیابیم. مالک محصول مواردی که می بایست مشخص شود را به اعضای تیم یادآوری نموده و این مورد برحسب ویژگی های مورد نیاز توسعه می یابد. به علاوه اولویت لیست اقلام توسعه نیز مشخص می شود. لیست اسپرینت بکلاگ به عنوان ویژگی تیم توسعه به حساب می آید که در آن هیچ کس قادر به ورود و ادیت لیست بجز تیم توسعه اسپرینت نخواهد بود و این تغییرات می بایست در خلال یک زمان ثابت یا در یک جعبه زمانی خاص اعمال شوند. به هنگامی که فرآیند توسعه اتمام یافت تیم مربوطه اقدام به ارائه محصول یا آموزش موارد به کاربران نهایی نموده و چگونگی کار با محصول را بدانها آموزش می دهد.
توسعه نرم افزار روش چابک قالب اسکرام
۳- فرآیند اسکرام
دیدگاه اسکرام در نظر می گیرد که فرآیندهای تحلیل، طراحی و توسعه در فاز اسپرینت غیر قابل پیش بینی می باشند. یک مکانیزم کنترل جهت مدیریت این مورد غیر قابل کنترل و همچنین به منظور کنترل ریسک اعمال می گردد. انعطاف پذیری، قابلیت پاسخ دهی و اطمینان پذیری جز نتایج این مورد بشمار می آیند. طبقه بندی اسپرینت بشرح ذیل است: SPRINT-1، SPRINT -2 و SPRINT-3 …. و غیره.
توسعه نرم افزار روش چابک قالب اسکرام
۴- ارزشها ی اسکرام
در این مبحث با ۵ ارزش اسکرام به شرح ذیل روبرو می باشیم :
تمرکز- “تمرکز کامل فکر و اندیشه بر روی پروسه در دست اقدام”. به قول الکساندر گراهام بل، { اشعه خورشید تازمانی که متمرکز نیابد قابلیت سوزاندن را نخواهد داشت}.
تمرکز تیم به عنوان حوزه اصلی کار اسکرام مستر بشمار می آید. این مستر (SM) اقدام به حذف موانع کار تیمی نموده و آنها را در برابر تاثیرات خارجی محافظت کرده و مسئول تداوم کار تیمی به صورت موثر و کاربردی می باشد. طبیعت اسکرام به معنای آن می باشد که PO به گونه ای کمک نماید که قابلیت تمرکز تیم بر روی پروژه وجود داشته باشد تا اطمینان حاصل شود که کلیه کارها در لیست مرتبط الویت بندی شده باشد. در نهایت این تیم می بایست بر روی تکمیل ویژگیهای مرتبط با پروسه کاری کاربران (User Stories) تمرکز داشته و در عین حال بر روی تعریف موارد اعمالی (Definition of Done) نیز تمرکز داشته باشد.
شهامت- Fortes fortunaadiuvat – “بخت و اقبال با شجاعان است”- یکی از اصطلاحات زبان لاتین.
SM می بایست شجاعت کافی جهت محافظت و راهنمایی تیم را داشته باشد. پشتیبانی از PO و طرف های ذینفع در زمان مناسب حقیقا کار ساز خواهد بود. PO نیز می بایست از شجاعت کافی جهت واگذاری لیست اسپرینگ بکلاگ به تیم مربوطه برخوردار باشد که دربردارنده یک جهش بزرگ و اطمینان کاری خواهد بود، چرا که در نهایت PO می بایست به طرفهای ذینفع در انتهای پروسه اسپرینت پاسخگو باشد. در نهایت این تیم می بایست از جرأت کافی جهت تعهد کامل به کار برخوردار باشند و در این راستا باید تفکر غالب باید بگونه ای باشد که آنها قابلیت انجام هر یک از ویژگیهای مطرح شده در اسپرینت را خواهند داشت.
فراخی و آزادی فکر–”محال است فردی چیزی که فکر می کند می داند را فراگیرد}- Epictetus
PO می بایست دارای فکری باز جهت پذیرش تغییرات، موارد جایگزین و ایده های جدید، هم از طرف تیم و هم از طرف افراد ذینفع، باشد. از طریق فراهم آوردن یک لیست مطلوب بکلاگ با توجه به الویتها و ارزشهای آن، PO باید از شفافیت لازم در زمینه رخدادهای آتی برخوردار باشد و تیم مربوطه نیز از آنچه مدنظر است باید اطلاع کافی داشته باشد. بر این مبنا تیم مربوطه باید دارای فکری باز جهت یافتن بهترین راه حل برای هر نوع مشکل باشد. اسکرام همچنین اقدام به ترغیب بازی فکر در یک نشست بازنگرانه (Meeting Retrospective) می نمایند، که در آن هر نوع مشکلی به درستی مورد بررسی قرار گرفته و در یک محیط باز موارد حل می شوند.
تعهد- “اعمال یا عدم اعمال. بدون کوشش”- Master Yoda
کل فرآیند اسکرام تعهد به یک روش جدید کاری به صورت تطبیق پذیرتر می باشد. این تیم به آنچه می بایست برای هر اسپرینت از طریق انتخاب لیست بکلاگ عمل نمایند تعهد داشته و علاوه بر این در خصوص چگونگی انجام کار در مبحث تعریف وظایفی که می بایست انجام گردد (done) نیز متعهد است. این بدان معنا می باشد که این تیم به آنچه به عنوان موارد ضروری، جهت برآورد اهداف، خوانده می شود پایدار است. SM متعهد به راهنمایی پویای تیم بوده و مسئولیت پذیر در برابر تیم و وابستگی آن به فرآیند اسکرام می باشد. PO دارای تعهد به اعمال برخی از موارد خاص در لیست بکلاگ محصول می باشد که برای طرفهای ذینفع در هر اسپرینت مهیا بوده و همچنین متعهد به الویتهای مرتبط با کارهای تیمی در هر اسپرینت می باشد.
احترام – “من با احترام و برابری با هر یک از اشخاص صحبت می کنم خواه آن شخص متصدی دفع زباله باشد و یا آن که رئیس دانشگاه باشد”- آلبرت اینشتین
در اسکرام، محدودیت ها و مرزهای نقشهای اسکرام می بایست کاملا شفاف و مورد احترام باشد. هر فرد در یک پروژه اسکرام می بایست از این موضوع آگاه باشدکه PO مسئول آنچه می باشد که تیم بر روی آن کار می کند و نه آنکه هر کدام از اعضا چگونه کار خود را انجام می دهند، علاوه بر این تیم مسئول انجام کار تلقی شده و قابلیت طرح سوال در خصوص آنچه انجام شده است را نخواهد داشت.SM همچنین می بایست از این موضوع آگاه باشد که با وجود آنکه از مسئولیت بیشتری در مقایسه با اعضای تیم برخوردار است، وی بعنوان یک عضو برابر تیم و نه یک لیدر، بشمار می آید. در حالت ایده ال، SM به عنوان یک شبان مودب بوده و باید نسبت به راهنمایی مناسب تیم اقدام می نماید.
توسعه نرم افزار روش چابک قالب اسکرام
۵- فرآیند آزمایش
فرآیند تست به خودی خود از اهمیت بیشتری برخوردار بوده و نقش فوری در فرآیند توسعه نرم افزار برمبنای اسکرام دارد. تست به معنای حصول نتیجه مدنظر نخواهد بود. تست بعنوان بخش مهمی از فرآیند توسعه نرم افزار می باشد. در این زمینه چنین موردی فراهم آورنده بازخورد توسعه بوده و قابلیت تست ویژگیهای چالش برانگیز و در نهایت تصدیق کار توسعه دهندگان را خواهد داشت.
DoD (تعریف موارد اهمالی): این ویژگی به هنگامی اعمال می شود که برنامه مد نظر آماده بوده، تست انجام شده، هیچگونه برگشتی وجود نداشته و برنامه یا ویژگی خاص آماده آن قابل انتشار است.
توسعه نرم افزار روش چابک قالب اسکرام
۶- نتیجه گیری
چارچوب اسکرام ارائه دهنده میزان بالایی از انعطاف پذیری می باشد و مشخص کننده احتمال بالایی از موفقیت است. مزیت های اصلی شامل موارد ذیل هستند: افزایش خصایص مطلوب پیش بینی شده، حس ضرورت در زمینه ارتقا و به اشتراک گذاری اطلاعات و دانش مربوطه و ترغیب نوعی از ارتباطات متراکم و فشرده که سبب تسهیل صداقت بین توسعه دهندگان می شود.