“Shift Left” در توسعه نرم افزار به چه معناست؟

یک بار مدیری داشتم که در بحث درباره پروژه ما بيان کرد که باید تلاش کنیم و تا آنجا که می توانیم کارمان را به سمت چپ تغییر دهیم .
چند ماه بعد در مصاحبهای، مصاحبهکننده از من پرسید که آیا میدانم « تغییر به چپ » یعنی چه؟
مگر اینکه یک رقص نرم افزاری مخفی وجود داشته باشد که کسی در مورد آن به من نگفته است، من اکنون اینجا هستم تا به شما بگویم تغییر به چپ به چه معن است.
تغییر سمت چپ در نرم افزار به چه معناست؟
جابجایی به چپ یک اصطلاح فنی است به معنای تلاش برای شناسایی مشکلات تا جایی که می توانید در چرخه عمر پروژه نرم افزاری خود.
"چپ" به معنای آغاز پروژه است، و این عبارتی است که فقط به معنای "بیایید تلاش کنیم و تا آنجا که می توانیم بسیاری از مسائل، مسدود کننده ها و مشکلات خود را پیدا کنیم."
چرخه حیات توسعه نرم افزار
فرض کنید در حال شروع یک کار جدید به عنوان مهندس نرم افزار در یک بانک هستید.
چرخه عمر توسعه نرم افزار شما ممکن است چیزی شبیه به این باشد:

ابتدا، الزامات توسط مدیران محصول شما ارائه می شود.
سپس تجزیه و تحلیل برای تکمیل این کار توسط تحلیلگران کسب و کار شما تکمیل می شود.
طراحی ها برای شکلی که UI نیاز دارد ایجاد می شود.
توسعه دهندگان اکنون برنامه ریزی خود را انجام می دهند.
سپس توسعه دهندگان کار را شروع می کنند!
تکه تکه این ویژگی ساخته می شود و آزمایش کنندگان می توانند آزمایش کنند.
این پروژه در مسیر تولید، از محیطهایی عبور میکند. از dev می گذرد. امتحانش را می گذراند به مرحله پیش تولید می رسد و برای تولید عرضه می شود.
پروژه وارد دوره تعمیر و نگهداری می شود. شما برای هر گونه مشکل در گزارش های خود تحلیل می کنید، هر اشکالی را که ایجاد می شود برطرف می کنید.
چند نمونه از جابجایی کار ما در این چرخه به شرح زیر است:
تحلیل الزامات توسط تیم فنی برای اطمینان از تکمیل هر چیزی که خواسته شده است، در بازه زمانی مورد انتظار.
معماران در اوایل مرحله برنامه ریزی درگیر می شوند و سعی می کنند اسناد فنی بسازند و هر گونه حاشیه یا مشکلی را که توسعه دهندگان ممکن است با آن مواجه شوند، شناسایی کنند.
شاید طراحان یک نمونه اولیه اولیه از طرح ها بسازند تا دقیقاً آنچه را که پیش بینی می شود نشان دهند.
هنگامی که توسعه دهندگان برنامه ریزی می کنند، به آنها زمان کافی برای تحلیل کامل داده می شود. این یک جلسه 15 دقیقه ای کوتاه نیست. از آنها پیش بینی می شود که نمودارهای کلاس، بهبودهای معماری کد، برآوردهای دقیق را تولید کنند، آنها برای مجموعه آزمایشی واحد خود برنامه ریزی کنند، و اطمینان حاصل کنند که اسناد مربوطه به روز می شود.
تسترها تست دستی و همچنین تست خودکار انجام می دهند. آنها از نرم افزار مانند یک کاربر واقعی استفاده می کنند!
معمولاً چه زمانی مشکلات را پیدا می کنیم؟
بیایید به زمانهایی فکر کنیم که معمولاً میتوانیم در یک پروژه باگ را پیدا کنیم. سعی کنید و فکر کنید که چه زمانی ترجیح می دهید به مشکلی دست پیدا کنید.
در پایان پروژه، زمانی که تمام کدها نوشته شده است و به مدت 2 هفته به تولید رسیده است.
همانطور که آن را در محیط پیش تولید منتشر می کنید
توسط تستر در محیط تست
همانطور که توسعه دهندگان در وسط کدنویسی هستند
همانطور که توسعه دهندگان برنامه ریزی خود را انجام می دهند
زمانی که طرح ها در حال ایجاد هستند
زمانی که معماران در حال ساختن نمودارهای معماری خود هستند
همانطور که مدیران محصول نیازمندی ها را مشخص می کنند
جایی در این جدول زمانی که میتوانید به آسانی به موضوع پاسخ دهید، حداقل زمان را از دست بدهید و سریعاً آن را اصلاح کنید ، درست در ابتدای کار است. و می توانید با جابجایی کار خود به سمت چپ به تیم خود کمک کنید تا به آنجا برسند.
راه های زیادی برای کشف خطاها وجود دارد
Shift left یک عبارت است، اما بر اساس یک متدولوژی کامل است که به ما کمک میکند تا برای چرخههای تکرار سریع برای ارائه نرمافزار، مشکلات را زودتر کشف کنیم.
پس ، چه مراحل دیگری را می توانیم امتحان کنیم که به ما کمک می کند کارمان را به سمت چپ تغییر دهیم ؟
به جز برنامه ریزی بهتر، چه کارهای دیگری می توانیم انجام دهیم؟
میتوانید پایگاه کد خود را پر کنید و اشتباهات تایپی، خطاهای رایج و طراحی بد را پیدا کنید.
شما می توانید تحلیل نوع را در قسمت هایی از پایگاه کد خود که فکر می کنید از آن سود می برد، وارد کنید.
می توانید پوشش آزمون واحد خود را افزایش دهید.
می توانید پوشش آزمون ادغام خود را افزایش دهید.
می توانید کد QA را در تیم خود معرفی کنید.
شما می توانید گزارش و آلارم های متریک را برای استقرار معرفی کنید.
فقط به یاد داشته باشید، هرچه در جریان پروژه خود دیرتر پیش بروید، بازیابی از یک خطا دشوارتر می شود. مشکلات را تا جایی که می توانید در سمت چپ ببینید! 😉
زیرا اگر تیم شما باگ را پیدا نکرد، همیشه می توانید شرط بندی کنید که یک کاربر این کار را انجام دهد.
نتیجه
امیدوارم این مفید بوده باشد، و توضیح داده باشد که "تغییر به چپ" به چه معن است. سعی کنید این طرز تفکر را در چرخه عمر توسعه خود بگنجانید و ببینید چه اتفاقی می افتد.
ارسال نظر