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

جواب تغییراتی از این قبیل در شرکت هایی مثل Microsoft, Amazon, Twitter استفاده از روش های نوین توسعه و نگهداری نرم افزار مثل ALM و یا DevOps است. با استفاده از این روش ها خط تولید نرم افزار مثل خط تولید شرکت های بزرگ خودرو سازی شد و فرآیندهایی که در آنها توانایی خودکار سازی وجود داشت توسط رایانه ها انجام گرفت در نتیجه نیروی انسانی سازمان زمان بیشتری برای انجام وظایف مهم تر کسب کرد به عنوان مثال محصولات شرکت مایکروسافت قبل از سال ۲۰۱۳ تقریبا دارای Unit Test نبودند ولی با شروع اعمال تغییرات در سازمان زمان کافی برای ایجاد Unit Test در نظر گرفته شد تا استاندارد تولید نرم افزار در این شرکت ارتقا یابد، در Twitter در هر شبانه روز بیش از ۲۴ بار سرویس این شرکت Publish شد، در آمازون پس از طی فرآیندی مشخص، کد نوشته شده برای هر سرویس Publish شد. هر چه سیستم های نرم افزاری پیچیده تر شدند نیاز به ساختارهایی برای مدیریت جامع آنها و حذف انسان از فرآیندها قابل خودکار سازی بیشتر احساس شد.

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

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

 مدت کارگاه: ۸ ساعت

طراح کارگاه: علی اژدری

پیش نیاز: حداقل ۲ سال سابقه توسعه نرم افزار، آشنایی با روش های چابک مدیریت پروژه های نرم افزاری

مخاطب: توسعه دهندگان نرم افزار

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

در انتهای این کارگاه دانشجویان قادر خواهند بود:

  • دانشجو می تواند مزایا و معایب و دلیل نیاز سازمان ها به ALM/DevOps را توضیح دهد.
  • دانشجو تمام ابعاد راهکار مایکروسافت درباره ALM را فرا خواهد گرفت.
  • دانشجو نصب و پیکربندی TFS 2017 را فرا خواهد گرفت.
  • دانشجو توانایی استفاده از ابزارهای ارائه شده در قالب های CMMI، Agile، Scrum برای مدیریت پروژه های نرم افزاری را به شکل مختصر فرا خواهد گرفت.
  • دانشجو توانایی ایجاد و مدیریت سیستم کنترل نسخ کدها به دو روش متمرکز و توزیع شده را کسب خواهد کرد.
  • آشنایی با انواع تست ها و نحوه چیدمان آنها در نقشه های تست و استفاده از ابزارهای مایکروسافت برای مدیریت آنها ( توضیح انواع تست ها و پیاده سازی آنها خود در دوره ایی جداگانه بررسی خواهند شد، در این کارگاه دانشجو با تست ها آشنا شده و اهمیت آنها را به شکل عملی در پروسه تولید نرم افزار مشاهده خواهد کرد و با زیرساخت های موجود جهت مدیریت و اجرای خودکار آنها به شکل عملی آشنا خواهد شد )
  • دانشجو ایجاد ساختار Continuous Integration را فرا خواهد گرفت.
  • آشنایی با ساختار Release Automation ( به دلیل پیچیدگی های موجود این مبحث به شکل کامل در دوره ایی جداگانه مطرح خواهد شد و در این کارگاه منظور آشنایی به ابزارهای ارائه شده در این زمینه است ).
  • دانشجو علت نیاز به فرآیند “مشاهده و یادگیری” در تولید نرم افزار را فرا خواهد گرفت و با ابزار Microsoft Azure Application Insight آشنا خواهد شد ( به دلیل پیچیدگی در خرید این سرویس در ایران سعی خواهد شد حد الامکان این بخش به شکل عملی برای تمام دانشجویان اجرا گردد )
  • دانشجو توانایی استفاده از Visual Studio Market Place را کسب می کند.