علی اصغر صنیعی فر
علی اصغر صنیعی فر
خواندن ۳ دقیقه·۵ سال پیش

چرا بیشتر پروژه های بزرگ همواره بر روی کاغذ می مانند؟


شروع یک پروژه برنامه نویسی یا هر پروژه دیگری  معمولا با طوفان فکری است. جایی که پروژه تعریف می شود اعضای پروژه بدون در نظر گرفتن شرایط شروع به دادن ایده و نظر در رابطه با ویژگی های نرم افزار و یا پروژه می کنند. مسلما طوفان فکری بخش جدای ناپذیر در رابطه با شروع یک پروژه است.

در هنگام پیاده سازی پروژه تیم برنامه نویسی سعی می کنند با یک بررسی دیگر شروع به کار کنند و تمام قابلیت ها و ویژگی های برنامه را پیاده سازی کنند و این شروع مرگ تدریجی پروژه است!

پروژههای بسیاری بودند که با داشتن هزار و یک ویژگی فوق العاده هیچگاه به جز روی کاغذ و یا هارد کامپیوتر به جایی نرسیدند و آن هم فقط و فقط به یک دلیل . کمال گرایی !!

قاعده KISS  در ده ۷۰ میلادی توسط نیروی دریایی ایالات متحده مطرح شد. این قاعد می گویید :


ساده انجام بده احمق!!

برای انجام پروژه ، شما نباید غرق  در ویژگی های خاص برنامه باشید و سعی کنید آنها را پیاده کنید. بلکه فقط و فقط آنهایی را اجرا کنید که نیاز است . در شروع پروژه آنقدر به ویژگی های خاص فکر می شود که بعد از شروع مدتی تیم برنامه نویسی می فهمد که نمی تواند این پروژه را تا انتها به پیش ببرد  چون برای پیاده سازی آن نیاز به زمان بسیار زیاد و هزینه بسیار گزاف دارد.

شاید بد نباشد از یک مثال زنده صحبت کنم. پروژه ای را برای شرکت استارت زدم. هدف اصلی پروژه رد و بدل کردن نامه ها بود و ثبت نامه ها و بس. چیزی پیچیده ای در کار نبود . بعد از مدتی آرام آرام به فکر اضافه کردن قابلیت هایی به نرم افزار شدم . افزودن کلی امکانات متناسب با تجارت درخواست دهنده پروژه. بعد از سه ماه دیدم که با نرم افزاری مواجه هستم که آنقدر امکانات زیاد دارد که نمی توانم آنرا انجام بدهم .  به طور کلی هدف اصلی سیستم از ذهنم رفته بود و تمام انرژی خود را معطوف به اضافه کردن امکانات نمودم در حالی که نرم افزار هنوز برای انجام کار اصلی خود نیز آماده نبود.

بعد از دیدن وضعیت ، اولین کاری که کردم این بود که همه ویژگی ها نرم افزار را لیست بندی کردم . عناوین مهم را بالا بردم و شروع به برنامه نویسی کردم. سپس پروژه را بار گذاری کردم و از آن به بعد هر کدام از ویژگی ها را به ترتیب اولویت ایجاد کردم و به سیستم اضافه کردم.

پس همواره در تعریف کردن پروژه های خود اولویت مهمتر را اول انجام دهید و در زمان مناسب اگر توانستید ویژگی های دیگر را اضافه کنید. نگذارید ویژگی های رنگارنگ شما را از هدف واقعی تان دور کند.

مدیریت پروژهبرنامه نویسی
https://www.alisaniefar.com برنامه نویس وب
شاید از این پست‌ها خوشتان بیاید