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