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