فاجعهای به نام اکسل!
اکسل تو اکثر کارها لازمه و تو کار ما، بدون اکسل تقریبا فلج خواهیم بود. با این حال مدتیه متوجه یه مشکل خیلی بزرگ شدم: استفاده نابجا از اکسل!
تقریبا 10 سال پیش بود که وضعیت یه پروژه خیلی نامناسب بود و کارفرما میخواست پیمانکار رو خلع ید کنه. پذیرفت که یه شانس دیگه به پیمانکار بده تا با یه تیم مدیریت پروژه جدید کار رو پیش ببره. من یکی از اعضای تیمی بودم که به اون کارگاه رفتیم، کار رو از تیم قبلی تحویل گرفتیم و بعد از 2 سال کار رو به شکل مناسبی تموم کردیم و کارفرما هم راضی شد. یکی از تجربههای جالب من تو اون پروژه (که ربطی به این بحث نداره، ولی گفتنش جالبه)، اینه که مدیر پروژه بعد از یک هفته تعداد نیروهای کارگاه رو نصف کرد، ولی قراردادهای همه رو از روزمزد به کنترات تبدیل کرد. نتیجه این بود که راندمان بیشتر از 2 برابر شد. یعنی با اینکه نیروها نصف شده بودن، کاری که انجام میشد بیشتر از قبل بود. به تدریج با حفظ همین راندمان تعداد نیروها هم زیاد شد و نتایج بیشتری میگرفتیم.
یکی از اولین چیزهای عجیبی که تو اون کارگاه دیدم، دستورکارها بود. دستورکارها رو سرپرست کارگاه قبلی تهیه میکرد، میداد به سرپرست نظارت و اون هم پس از تایید ابلاغش میکرد به سرپرست کارگاه. خیلی از دستورکارها دیتیلهای اجرایی داشتن، نقشههای کوچیک. چیزی که باعث شد تعجب کنم این بود که سرپرست کارگاه تمام نقشهها رو تو اکسل کشیده بود! خوب هم کشیده بود، ولی مشکل اینه که اگه یه مقدار انرژی صرف میکرد و اتوکد یاد میگرفت میتونست خیلی راحتتر نقشه بکشه.
تا حالا خیلی از همکارها رو دیدم که کارهایی رو تو اکسل انجام میدن که اصولا باید تو پراجکت یا پریماورا انجام بشه. یه برنامه زمانبندی تهیه میکنن، بعد به موازات اون چنتا فایل اکسل دارن، بعضی محاسبات تو برنامه زمانبندی و بعضی محاسبات دیگه مثل پیشرفت یا ثبت اطلاعات تکمیلی تو اکسل انجام میشه. این در حالیه که بهترین ابزارهایی که میتونه برای این نوع محاسبات و کارها وجود داشته باشه تو پراجکت و پریماورا هست و انتقالشون به اکسل مشکلات خیلی زیادی داره. بعضی مشکلها اینها هستن:
- اکسل سلسله مراتب و ساختار شکست کار نداره، در نتیجه برای اضافه کردن سادهترین فرمول ممکن، که تو پراجکت و پریماورا کمتر از یک دقیقه وقت میگیره، باید ساعتها وقت صرف کرد. هر بار اصلاحش هم به همون اندازه وقت میگیره.
- تو پراجکت و پریماورا فرمولها خیلی ساده پیاده میشن و یکدست اعمال میشن، ولی تو اکسل به خاطر ساختار شکست فرمولها موضعی هستن (مگر اینکه فرمولهای خیلی کاملتر و پیچیدهتری استفاده بشه که یکدست بشن، که من تا حالا ندیدم کسی این کار رو بکنه) در نتیجه همیشه احتمال داره که بینشون اشتباه وجود داشته باشه. مثلا یه جایی که قراره که rollup انجام بشه، تعداد زیرمجموعهها کمتر یا بیشتر از اون چیزی باشه که باید باشه.
- اکسل به طور پیشفرض از فرمولهاش حفاظت نمیکنه. احتمال داره موقع کار بعضی از اونها اشتباها بازنویسی بشن. این ماجرا موقع کپی و پیست کردن زیاد اتفاق میافته.
- در نهایت تمام محاسبات باید به برنامه زمانبندی منعکس بشن، در نتیجه وقتی اونها رو جای دیگهای انجام بدیم یه مرحله کار اضافه برای انتقال اونها خواهیم داشت. علاوه بر اینکه این ماجرا کار رو اضافه میکنه، احتمال اشتباه هم به وجود میاره.
- فرقی نمیکنه که تو چه نرمافزاری کار کنیم، همیشه ممکنه تو ورود اطلاعات اشتباه کنیم. مکانیزمهای کنترلی تو پراجکت و پریماورا خیلی بیشتر از اکسله و اگه کسی دقت و توجه کافی داشته باشه، تو اونها خیلی راحتتر میتونه اشتباهاتش رو پیدا کنه.
کلا به نظر من این نوع استفاده از اکسل یه فاجعه تمام عیاره!
شکی نیست که همکارایی که این کار رو میکنن مشکلاتی تو پیادهسازی روشهاشون تو نرمافزارهای برنامهریزی داشتن و به همین خاطر به این روش رو آوردن. تا حالا از خیلی از آدمها پرس و جو کردم و هنوز پیش نیومده که مشکلاتی به من گفته باشن که نشه براشون تو نرمافزارهای برنامهریزی راه حل مناسب پیدا کرد. یه کم باید وقت گذاشت، باید دقیق شد، خلاقیت به خرج داد و شاید لازم باشه با نرمافزارهای برنامهریزی هم بیشتر آشنا شد، تا راه حل مناسب پیدا بشه.
اکسل برای مرحله پایانی کار مفیده. جایی که تمام نتایج رو از پراجکت یا پریماورا به اکسل منتقل کنیم و انواع نمودارها و المانهای گزارشی رو بسازیم. شاید محاسباتی هم اونجا انجام بشه، که مشکلی نداره، به شرط اینکه محاسبات یک طرفه باشه؛ یعنی نتایجشون صرفا برای گزارشها باشن و نیازی نباشه که چیزی رو به برنامه زمانبندی برگردونیم.