JIRA یا TFS؟

اگر با نرم افزارهای مدیریت پروژه های نرم افزاری و همچنین متدهای چابک سازی از جلمه SCRUM آشنایی داشته باشید، نام های JIRA و TFS برایتان آشنا است. من به عنوان یک اسکرام مستر سعی میکنم در این مطلب تفاوت ها و کاربردهای این دو ابزار رو برای شما توضیح دهم تا بعنوان یک "مالک محصول" ، "دولوپر" و "اسکرام مستر" بتوانید درک صحیحی از دامنه کاربرد هر کدام بدست آورید. ابتدا کمی درباره TFS:TFS مخفف Team Foundation Server است. اولین نسخه آن در سال 2005 توسط شرکت ماکروسافت بهمراه Visual Studio معرفی گردید. TFS به صورت خاص و باورپذیری متناسب با سکوی .NET ارائه شده است. کمی درباره JIRA:JIRA محصول کمپانی استرالیایی Atlassian است. این کمپانی به نوعی رهبر تولید کنندگان نرم افزارهای مدیریت پروژه و کنترل منبع (source) است، شاید جالب باشد بدانید این کمپانی مالکلیت ابزار Trello ، Bitbucket و Sourcetree را نیز در اختیار دارد. JIRA دامنه کاربرد آن گسترده است ، ولی بصورت ویژه مورد اقبال توسعه دهندگان جاوا همچنین پیروان اسکرام است. مقایسه محیط کاربری: بشخصه برای من محیط کاربری یک ابزار ، جز اولین گزینه های انتخاب و ترجیح نرم افزار است ، البته شاید کاربردی نباشد ولی مطوئن باشید در درازمدت محیط کاربری ضعیف و یا حتی غیردوستانه می تواند برای روحیه شما تاثیر گذار باشد. TFS: متاسفانه محیط کاربری این ابزار بی روح ، فاقد تجربه کاربری مناسب است ، صد البته روال کاربری آن ساده است ولی از نظر من فاقد هیجان و کاربردپذیری سطح بالا است در بسیار از موارد ماکروسافت سعی کرده است محصولی کانالیزه را در اختیار کاربر قرار دهد. که این بنظر باعث ایجاد مشکلات در محیط کاربری و حس کاربر شده است. JIRA: خوب JIRA یک سر و گردن بالاتر از TFS است. محیط کاربری زیبا و تعاملی ، تجربه کاربری هیجان انگیز و باعث کسب امتیاز بالاتر توسط JIRA شده است. JIRA امکان سفارشی سازی بیشتری را نسبت به TFS در اختیار کاربر قرار میدهد. البته Atlassian در اکثر محصولات خود از جمله Bitbucket سعی کرده تجربه کاربری و محیط متناسب و مدرنی را در اختیار کاربر قرار دهد. نتیجه گیری: اگر دنبال تجربه کاری خاصی نیستید و یا بشدت به محصولات ماکروسافت علاقه مند هستید TFS را انتخاب کنید ، اگر محیط کاربری ، امکانات سفارشی سازی پیشرفته برایتان مهم است JIRA می تواند انتخاب اول شما باشد.متدهای چابک (Agile)در فضای توسعه امروزی نرم افزار متدهای چابک و توسعه نرم افزار برای تمامی دست اندرکاران حوزه توسعه نرم افزار بشدت جاافتاده اند و به نوعی در خود و رگ آنها قرار گرفته اند. بنظر من یکی از شاخصه های موفقیت در متدهای چابک می تواند انتخاب نرم افزار مدیریت پروژه متناسب با ابعاد پروژه و تیم باشدTFS: نمایی نسبتا استاندارد در زمینه اسکرام توسط TFS ارائه شده است، آمارها ، ابزارهای کنترلی در کنار یکدیگر توانستند اند این استاندارد و انسجام را شکل دهند، ولی در این مسیر نیز ماکروسافت سعی کرده است یک محصول کانالیزه را به کاربران ارائه دهد. یک تجربه شخصی که با آن مواجه بودم برای شما مرور می کنم "در تیم اسکرام ، برخی از دولوپرها برخی از تسک های خود را در وضعیت DONE قرا میدادند ولی از نظر اجرایی و پیاده سازی این تسک ها واقعا در وضعیت DONE قرار نداشتند. خوب از نظر ما راه حل این بود که یک ستون به board اضافه شود که این کاربرد را داشته باشد. متسفانه TFS این امکان را در اختیار نداشت! با کمی جستجو در اینترنت متوجه شدم این مشکل برای افرادی زیادی پیش آمده است در وب سایت Uservoice این درخواست رتبه اول را در اختیار گرفته است.همانطور که مشخص است این درخواست در سال 2012 مطرح شده است ولی در سال 2017 پاسخی دریافت نموده است! تا کنون نیز ارائه نشده است.JIRA: نرم افزار JIRA از نظر استانداردسازی و رعایت چارچوب اسکرام سعی کرده است امکانات قابل بیشتری را در اختیار کاربران قرار دهد. از این جهت به صورت قاطع توانسته رتبه اول نرم افزار های مدیریت پروژ] با پوشش متد اسکرام را بدست آورد.Taskboard JIRA در این محصول امکان افزودن متد KANBAN نیز پیش بینی شده است ، که بیش از پیش باعث مقبولیت JIRA شده است.نتیجه گیری: اگر بدنبال رعایت استانداردهای SCRUM هستید هر دو ابزار می توانند شما را کمک نمایند ، ولی اگر نگرشی حرفه ای و در عین حال انعطاف گرا دارید بهتر است TFS را کنار بگذارید. ارتباط با IDEمهمترین ابزارکابردی دولوپرها و تیم ها استفاده از IDE است. انتخاب IDE فارغ از نوع پلاتفرم و یا زبان برنامه نویسی مورد استفاده ، شاخصه های فردی را نیز در بر میگیرد.TFS: با توجه به خاستگاه مایکروسافتی TFS با VisualStudio انطباق کامل دارد. البته Eclipse نیز در کنار IDE های دیگر قابلیت اتصال به TFS را دارد. البته در یک تجربه شخصی و محدود PHPstorm از یک طریق یک پلاگین مشخص امکان اتصال به TFS را دارد. که آن نیز با اختلالات فراوانی مواجه است. ولی فقط امکان شبه GIT را در اختیار کاربر قرار میدهد.JIRA: نیز به مانند TFS امکان اتصال به اکثر IDE های مطرح دارد. به عنوان مثال در VisualStudio از طریق یک پلاگین به صورت کانکتور امکان اتصال به JIRA فراهم شده است. از نظر سرعت عمل در اتصال و همچنین بروزآوری دستورات مرتبط با گیت یک قدم جلوتر از TFS است. نتیجه گیری: اگر VisualStudio و یا زمان .NET را انتخاب کرده اید، گزینه قالب شما TFS است ، چون امکانتی از جمله version control و Build به صورت مجتمع در کنار دیگر قرار گرفته اند، صد البته برای ابعاد Scrum پروژه خود می توانید از JIRA استفاده نمایید. در سایر موارد انتخاب JIRA ، قالب بنظر می رسد. نکات کلی:بازارکار: اگر با NET. و #C در ارتباط هستید، احتمالا کارفرمایان از شما تسلط به TFS را انتظار خواهند داشت. در غیر اینصورت انتخاب روتین شما باید JIRA باشد. البته با توجه به ابعاد مشخص TFS می توانید در زمان کوتاهی به آن آگاهی پیدا نمایید ، پس بهتر است جایی در رزومه خود به آن اختصاص دهید.قیمت: نسخه آنلاین TFS امکان ایجاد پروژه رایگان با 5 کاربر را در اختیار شما قرار میدهد. ولی در آنطرف JIRA ماهیانه 10 دلار برای یک پروژه 10 نفره هزینه در بر دارد. (البته در ایران امکان استفاده از نسخه های غیرمجاز و یا کرک شده از هر دو ابزار فراهم است)راه اندازی: از نظر تجربی راه اندازی هر دو نرم افزار بنظر زمان بر نیست ، البته در تنظیمات اولیه و فراگیری نسبی JIRA فضای ساده تری را فراهم می آورد. قابلیت RBAC: نرم افزار JIRA از قابلیت role-based access control بهره می برد. یعنی JIRA قابلیت های دسترسی متنوع تری را در اختیار ادمین سیستم قرار می دهد. البته نرم افزار TFS نیز قابلیت دسترسی از طریق DA را نیز در اختیار دارد.از کد تا انتشار: هر دو نرم افزار چرخه تولید نرم افزار ، سورس کد تا انتشار نهایی را پشتیبانی می کنند البته هر یک این شرایط با ابزارهای مختلف فراهم می آورند در این زمینه TFS تمامی امکانات از جمله SVN و Build حتی Testunit را در اختیار دارد.چرخه تولید محصول TFSپلاگین و ابزارهای توسعه: هر دو نرم افزار Marketplace های اختصاصی خود را در اختیار دارند البته در این زمینه تعداد Extension کاربردی بیشتری را در اختیار دارد.ولی در هر حال هر دو Marketplace متنوع و کاربردی هستند.در انتها: برخی از جزئیات اشاره در مطلب جز تجربه شخصی هستند و ممکن است در کاربریهای مختلف متفاوت بنظر برسد. و اینکه کدام از این محصول را انتخاب بسته به نوع کاربری ، پلاتفرم و پروسه فعالیت حرفه ایی شما مرتبط است.منابع:https://www.atlassian.com/software/jira/agilehttps://en.wikipedia.org/wiki/Kanban_(development)https://rozdoum.com/blog_articles/items/jira-vs-tfs-synergy-tools-full-integration.htmlhttps://www.itcentralstation.com