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

تا قبل از این وجود ورژن کنترل و روش های استفاده از آن مثل Centralize Version Control یا Distributed Version Control اهمیت زیادی برای تیم ها نداشت ولی در حال حاضر جزء دغدغه های اصلی سازمان هاست.

تجربه وجود Product manager برای مدیریت محصول وجود نداشت و اینکه ارتباط این موقعیت شغلی با سایر اعضای تولید کننده محصول به چه شکل باید باشد، استفاده از Continuous Integration و Continuous Delivery، نوشتن تست و اجرای اتوماتیک آنها به دغدغه سازمان ها تبدیل شد.

ابزارهایی مثل Microsoft Team Foundation Server با پیاده سازی استاندارد ALM 2 سعی در پاسخگویی به تمام نیازهای بالا را دارند. این ابزار جهت تولید و نگهداری تمام نرم افزارهای شرکت مایکروسافت مثل ویندوز Skype، MS Office، Visual Studio، MS  Sql Server و … استفاده می شود و تمام زوایای چرخه تولید و نگهداری نرم افزار را در بر میگیرد. حتی اگر اکوسیستم شما متعلق به مایکروسافت نبوده و زیرساخت های شما بر اساس لینوکس و جاوا یا پی اچ پی باشد.

 

اینجانب علاوه بر دوره های آموزشی مرتبط با TFS، خدمات مرتبط شامل موارد زیر را به همکاران و شرکت ها ارائه می نمایم.

  • انتقال از سایر تکنولوژی ها و کانورت اطلاعات به TFS
  • راه اندازی تمامی ساختارهای لازم جهت داشتن استاندارد چرخه تولید و نگهداری نرم افزار مایکروسافت
  • نگهداری و به روز رسانی ورژن های مختلف TFS
  • راه اندازی و آموزش انواع ورژن کنترل TFVC و Git
  • کانفیگ سرورهای محیط های تست و pre Production برای پابلیش نسخ نرم افزار
  • ارائه فریمورک دات نت جهت توسعه و نگهداری بهینه Selenium UI Test و اجرای آنها به شکل بهینه
  • ارائه راهکار بهینه جهت نگهداری از نسخ دیتابیس (Database Version Control)
  • ارائه راهکار جهت پابلیش خودکار نسخه های مختلف دیتابیس با کمترین سربار برای تیم توسعه دهنده نرم افزار
  • ارائه راهکار بهینه جهت پابلیش نسخ مختلف نرم افزار بر روی محیط های مختلف Dev، Test، PreProd، Production

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

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