حسین دادخواه
حسین دادخواه
خواندن ۲ دقیقه·۲ ماه پیش

درکی که باید در توسعه نرم افزار داشته باشیم

تو دنیای #برنامه_نویسی هم مثل هر کار دیگه‌ای، از روز اول نمیشه همه چیز رو دید و پیش‌بینی کرد. اما اون چیزهایی که دیده نمیشن، دو دسته‌ان: ارزش اصلی (Core Value) ⚙️ و ارزش افزوده ➕.

ارزش اصلی توی هر ماژول یا پروژه‌ای، اون چیزیه که بدون اون، اصلاً نمیشه گفت کار درسته.
مثلاً اگه داری یه سیستم LMS (Learning Management System) می‌نویسی، اینکه ویدئوهای آموزشی 🎥 درست پخش بشن، یه Core Value هست. این بخش از برنامه باید بی‌نقص باشه، چون اگه کار نکنه، کل #سیستم زیر سوال میره.
حتی #خطای_انسانی ❌ رو هم تو این بخش نمی‌پذیرم چون اینجا اگه تو قدم اول خطایی هم رخ داده باشه، دولوپر باید تو اولین تست‌ها بفهمه که مشکل کجاست و سریع رفعش کنه.
استیو جابز می‌گفت: “کیفیت یعنی وقتی هیچ‌کس نگاه نمی‌کنه هم کار درست انجام بشه.” 🎯

ارزش اصلی الزاما همیشه در سطح ماژول نیست، میتونه تو لایه‌های پایین‌تر هم بررسی بشه. ولی مثلاً اگه داری یه درگاه پرداخت 💳 می‌نویسی، چون بخش #مالی همیشه مورد توجه خرابکارها و هکرها بوده، تو این Context، رعایت حداقل‌های #امنیتی 🛡️ ارزش اصلی محسوب میشه.
مارتین فاولر، یکی از بزرگان #نرم‌افزار، میگه: “نرم‌افزار خوب اونیه که کارهای اصلی رو درست انجام بده و به مرور زمان بهتر بشه.” 💡
پس تو اینجور موارد، تمرکزت باید روی درست کار کردن اصل ماجرا باشه.

اما ارزش افزوده چیه؟
اینا همون چیزایی هستن که ممکنه نباشن ولی اگه باشن، کار رو بهتر می‌کنن. مثلاً یه فیچر جانبی که اگه نباشه، سیستم همچنان کار می‌کنه ولی اگه باشه، تجربه کاربر بهتر میشه. اینجا ممکنه سهواً چیزی از قلم بیفته یا دولوپر فراموش کنه. خب، اینو میذاریم پای #خطای_انسانی 🤷‍♂️. چون همه‌مون گاهی اشتباه می‌کنیم و فکر نکنید شما اشتباه نمی‌کنید! بیل گیتس هم یه حرف قشنگ داره: “موفقیت یه معلم بدیه. آدمای باهوش رو گول می‌زنه که فکر کنن هیچ‌وقت اشتباه نمی‌کنن.” 💭

پس خلاصه‌اش اینه: ارزش‌های اصلی ⚙️ باید همیشه دیده بشن و از نظر من هیچ بهونه‌ای برای خراب بودنشون قابل قبول نیست و سعی می‌کنم اینو به تیم‌هام منتقل کنم. اما ارزش‌های افزوده ➕ رو میشه پای خطای انسانی گذاشت و بعداً اصلاح کرد.

چی این مسئله رو خیلی مهم می‌کنه؟ 🤔
اینکه وقتی Core Value هر بخش رو درست بشناسیم و از همون اول درست باهاش برخورد کنیم (دولوپ کنیم) از یه سری مشکلات سخت بعدی جلوگیری میشه. مشکلاتی که پیدا کردنشون سخته و آدم حس می‌کنه تو یه سیاهچاله 🕳️ گیر کرده!

سوال: شما هم مثل من فکر می‌کنین یا با من مخالفین؟ 👀

ارزش افزودهموفقیتنرم‌افزاربرنامه نویسی
ناجی کسب‌وکارهای نرم‌افزازی، پل ارتباطی بیزینس و صفر و یک
شاید از این پست‌ها خوشتان بیاید