TGViewer
C# Geeks (.NET) C# Geeks (.NET) @csharpgeeks · 550 subscribers
Post #741 360
#روایت_تجربه (Storytelling)
چند وقت پیش، یکی از مهندس‌های یک شرکت تعریف می‌کرد که بعد از چند ماه کار روی یک قابلیت جدید، بالاخره آن را وارد محیط Production کردند.
همه‌چیز عالی پیش رفت.
هیچ Errorی ثبت نشد.Latency هم طبیعی بود.
همه فکر می‌کردند انتشار موفقیت‌آمیز بوده است.
اما چند روز بعد، تیم محصول گزارش داد که کاربران تقریباً از آن قابلیت استفاده نمی‌کنند.
مشکل از کد نبود.
مشکل این بود که قابلیتی ساخته شده بود که کسی واقعاً به آن نیاز نداشت.
او می‌گفت:
«ما موفق شدیم چیزی را بسازیم که هیچ‌کس منتظرش نبود.»
این جمله مدت‌ها در ذهنم ماند.
چون ما مهندس‌ها معمولاً موفقیت را با معیارهای فنی می‌سنجیم:
باگ نداشت. تست‌ها پاس شدند. Performance خوب بود. Deployment بدون مشکل انجام شد.
اما بیزینس سؤال دیگری می‌پرسد:
«آیا این قابلیت ارزشی برای کاربر ایجاد کرد؟»
اگر جواب این سؤال «نه» باشد،
ممکن است از نظر فنی یک شاهکار ساخته باشیم، اما از نظر محصول، شکست خورده باشیم.
از آن روز، هر بار که درباره کیفیت یک Feature صحبت می‌شود، یادم می‌آید که کیفیت فقط به این نیست که درست کار کند.
باید دلیل وجود داشتنش هم درست باشد.
چون در مهندسی نرم‌افزار،ساختن چیز درست،به‌اندازه‌ی ساختن چیزِ درست برای کاربر مهم نیست.
More from @csharpgeeks
  1. Sep 22, 2026یه مدتی قراره از دنیای NET. فاصله بگیرم، چون وقتشه برم سربازی. راستش نمیدونم این مدت رو چج…
  2. Sep 20, 2026🔥 حالا مشکل اصلی: Alert Storm فرض کن Database از دسترس خارج شده. ۱۰۰ Pod داری. هر Pod می‌…
  3. Sep 20, 2026🚨 طراحی سیستم Monitoring و Alerting در یک سیستم بزرگ فرض کن ساعت ۳ صبح است. سیستم شما با…
  4. Sep 19, 2026#Engineering_Leadership تصمیم نگرفتن هم یک تصمیم است یه چیز عجیب توی تیم‌های مهندسی: گاهی…
  5. Sep 19, 2026☑ چک‌لیست آماده‌سازی تیم، فرایندها و زیرساخت برای توسعه با AI توجه: هیچ چک‌لیستی جهان‌شمول…
  6. Sep 19, 2026📌پایان یک انتظار طولانی: اعتبارسنجی ناهمگام (Async Validation) در NET 11.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →