سلام به همه دوستان
امروز میخوام کمی در مورد این صحبت کنم که چطور کیفیت کار خودتون و محصولی که دارید توسعه میدید رو ارزیابی کنید.
مورد توجه استارت آپ ها، مدیرهای محصول و بچه های فنی
The four engineering metrics that will streamline your software delivery
در طول مدت این چند سالی که خدا توفیق داده تو استارت آپ ها و شرکت های مختلف نقش کوچیکی تو توسعه محصول نرم افزاری داشتم، همیشه این نکته برام سوال بود که با چه معیار و metricی میشه عملکرد تیم رو سنجید. احتمالا معیارهای خیلی زیاد و متفاوتی وجود داره. اما من معیارهایی که تو این مقاله ذکر شده رو خیلی دوست دارم و درست میدونم از این لحاظ که هدف رو توسعه محصول در نظر گرفته نه کیفیت فنی محصول یا چیز دیگه.
این مقاله نسبتا کوتاه رو میتونید از اینجا بخونید
https://stackoverflow.blog/2021/11/29/the-four-engineering-metrics-that-will-streamline-your-software-delivery
Deployment frequency
با چه فراوانی ای نسخه جدید روی پروداکشن میره. این مورد خیلی بستگی داره که محصول شما تو چه استیجی هست. اما اگه لانچ کردید، احتمالا هفته ای یک یا چند دیپلویمنت باید داشته باشید، اگه بیشتر از یک هفته طول میکشه احتمالا یه جای کار داره میلنگه!
Mean change lead time
چقدر طول میکشه از زمانی که کد commit میشه تا اینکه روی پروداکشن اجرا بشه. این موضوع بیشتر سرعت تیم فنی رو نشون میده و همچنین اینکه شما چقدر به پروسه ci/cd تو پروژه تون اهمیت میدید.
Mean time to recovery
چقدر طول میکشه از یه bugی که گزارش میشه هر failure دیگه ای recover بشه سیستم. این موضوع بیشتر استراتژی های failure recovery رو هدف قرار میده و یه نکته پنهان هم داره، اینکه شما چقدر observability و monitoring براتون مهمه. چون software خوب اونیه که observability بالایی داشته باشه. یکی از نکاتی که observability خیلی کمک میکنه همینه که شما سریعتر باگ و مشکل رو پیدا کنید و فیکس کنید.
Change failure rate
با چه نرخی release های جدید باعث ایجاد failure میشه. این هم طبیعتا کیفیت فنی محصول رو میرسونه، چقدر محصول reliable هست. این معیار یکی از اون معیارهایی ست که نه تنها کیفیت محصول بلکه کیفیت فنی اعضای توسعه دهنده رو هم بازگو میکنه. هر چقدر تیم شما با تجربه تر باشه، معماری درستی رو انتخاب کرده باشه و تلاش زیادی برای پیاده سازی و تست محصول کرده باشه این نرخ باید کمتر باشه.
البته کاملا متوجه هستم که محصولات نرم افزاری ذاتا خیلی متنوع هستن و بسته به اندازه تیم و بیزینس میتونه معیارهای خیلی متفاوتی وجود داشته باشه. اما من این معیار ها رو معیارهای خیلی خوب و درستی برای تیم های استارت آپی میبینم.
حتی شما به عنوان برنامه نویس میتونید با این معیارها کیفیت کار خودتون رو هم بسنجید که محصولی که تولید کردید چه نمره ای داره.
صبحتون بخیر و دمتون گرم 🌹
#software_delivery #engineering_metrics
@gocasts
Post #96
1.8K