آیا سیستم agile و توسعه دهندگی متن باز با یکدیگر سازگار هستند

چهارشنبه 4 تیر 1399

سیستم agile و توسعه دهندگی متن باز ارتباط نزدیکی با یکدیگر دارند، ما در این مطلب درباره سازگاری سیستم agile و توسعه دهندگی متن باز صحبت خواهیم کرد.

 آیا سیستم agile و توسعه دهندگی متن باز با یکدیگر سازگار هستند

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

ما در این مطلب قصد داریم کمی بیشتر درباره سیستم agile و سازگاری آن با توسعه دهندگی متن باز صحبت کنیم. بنابراین ما را در این مطلب همراهی کنید.

ساخت سیستم agile

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

پاسخ به این سوال دقیقا در قلب سیستم agile نهفته شده است. این ابتکار کمک می کند تا سیستم agile را بسیار ساده تر و انسانی تر طراحی کنید. به نظر من این 4 ارزش می توانند برای سیستم agile تعریف شوند:

-          قابل همکاری بودن

-          ارائه مناسب

-          تامل کردن

-          بهبود دادن

 سیستم agile

ارزش های سازگاری با توسعه دهندگی متن باز

مواردی که در بخش قبلی اشاره کردیم ارزش های سیستم agile هستند که باعث می شوند تا این سیستم با توسعه دهندگان متن باز سازگار باشد( دقت داشته باشید که متن باز بودن تماما درباره همکاری و ارائه نتیجه این همکاری می باشد). تامل کردن و بهبود به ما کمک می کند تا بهتر بتوانیم با تغییرات سازگار شویم و فرصتی برای نگاه صادقانه به پروژه خودمان را در اختیار ما قرار می دهد.

 سیستم agile

شفافیت در ساخت سیستم agile

Scrum معمولا با سه نکته کلیدی ارائه می شود: شفافیت، بازرسی و سازگاری. اگرچه باید دقت داشت که این ها تنها به Scrum محدود نمی شوند و می توانند به طور کلی برای سیستم های agile نیز به کار روند.

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

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

موضوعی که در این جا باید بدانید این است که ارزش های سیستم agile با ارزش های توسعه دهندگی متن باز همپوشانی دارند، بنابراین چرا ما هنوز هم فکر می کنیم که این سیستم نمی تواند در توسعه دهندگی متن باز مورد استفاده قرار گیرد؟

 سیستم agile

ساخت یک جامعه توسعه دهندگی در واقع همان ساخت ارزش ها است

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

 سیستم agile

ارزش های Agile چگونه به متن باز بودن مرتبط می شوند؟

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

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

 سیستم agile

به صورت پیشفرض متن باز بودن به معنی صد در صد متن باز بودن نیست

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

 سیستم agile

یک هشدار مهم درباره سیستم agile و توسعه دهندگی متن باز

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

 سیستم agile

صحبت پایانی

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

نظر شما درباره سیستم agile و توسعه دهندگی متن باز چیست؟ به نظر شما این دو با یکدیگر سازگاری دارند؟ نظر خود را در بخش نظرات با ما به اشتراک بگذارید و اگر تجربه ای در این زمینه دارید تجربه خود را نیز به اشتراک بگذارید.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

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

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید