این چیزها در حقیقت مواد مورد نیاز برای تولید است. در انتهای خط تولید هم میتوان جعبههای روی هم انباشته را مشاهده كرد كه قرار است بار كامیونها شده تا تحویل مشتری داده شود.
انبارداری هزینه دارد. از بین رفتن و خرابشدن مواد موجود در انبار، كاهش ارزش آن در طول زمان و ... از دیگر هزینههای انبارداری است، اما نمیتوان لزوم انبارداری را نادیده گرفت. اگر به فرض، كنجد نان همبرگری تمام شود و سفارش مجدد آن دو روز وقت بگیرد، تولید این نانها به تعویق خواهد افتاد و در واقع، دو روز از بازار دور خواهید بود.
شاید با خودتان بگویید بهعنوان برنامهنویس چرا باید به چنین نكاتی توجه كرد؟ پروسه تولید نرمافزار، نكاتی دارد كه به اصطلاح به آن جمعكردن انبار میگویند. چیزهایی كه در این نقاط جمع میشود میتواند باعث به هدر رفتن وقت و پول زیادی شود. احتمالا با خود میپرسید مگر نرمافزار هم شبیه كارخانه است؟
فرض كنید ایده تولید نرمافزار شما، همان مواد خام است. با توجه به پروسه پیش رو، این ایده به نقاط مختلفی انتقال مییابد و در نهایت بهعنوان فیچر به مشتری ارائه میشود:
1ـ مرحله تصمیمگیری
2 ـ مرحله طراحی (ویژگیها، طرحهای اولیه و ...)
3 ـ مرحله پیادهسازی (كدنویسی)
4 ـ مرحله آزمایش (یافتن باگها)
5 ـ مرحله دیباگ (رفع باگها)
6 ـ پیادهسازی (ارسال كد به مشتری یا قرار دادن در وبسایت و ...)
بین این مراحل است كه انبار میتواند ایجاد شود. برای مثال وقتی یك برنامهنویس كدنویسی را به پایان میرساند، آن را به تستر میدهد تا بررسی كند. در این لحظه بخشی از كد منتظر آزمودهشدن است. این قطعه كد جزئی از انبار بهحساب میآید. هزینه انبار كد بالایی است و میتواند به فهرست كارهای شش ماهه یا یكسالهای اضافه شود كه هنوز به دست مشتری نرسیدهاند. به این مثال توجه كنید، نرمافزار شما میتواند یك محصول فوقالعاده در دست مشتری باشد یا بهعلت كندی در توسعه نرمافزار مثل ویندوز فون بهدنبال آیفون بدود؛ بنابراین خلاصی از انبارداری كدها میتواند تاثیر بسیار مهمی بر روند روبهرشد نرمافزار داشته باشد.
هر محصول نرمافزاری با جمعآوری ایده همراه است، یك برنامه نصفه و نیمه را به هر شركتی ببرید، با چند جلد كتاب ایده تخصصی بیرون خواهید آمد. متاسفانه این ایدهها به همان سرعت كه جنریت میشوند، قابل برنامهنویسی نیستند و حتی بسیاری از این ایدهها بد هستند و برای اینكه به احساسات طرف مقابل توهین نكنید، آنها را هم یادداشت كردهاید. مشكل اینجاست كه 90درصد موارد یادداشت شده پیادهسازی نخواهد شد، بنابراین هر دقیقهای كه این ایدهها را یادداشت میكنید، به آنها میاندیشید یا در مورد قابلیتهایشان ایدهپردازی میكنید، هدر خواهد رفت. به اندازه تیم خود نگاه كنید. اگر تیم برنامهنویسی بزرگی زیر دستتان است، هیچ وقت ایدههای بیشتر از یك ماه را یادداشت نكنید و حتی در موردش هم حرف نزنید. اگر خودتان یك برنامهنویس آزاد هستید، این بازه زمانی را به هفته یا روز كاهش دهید و نگذارید فكرتان مشغول ایدههایی باشد كه بیشتر از این بازه زمانی وقت میگیرند.
دیتابیسی از باگها بسازید تا گزارشگیری خطاها سریع، دقیق و قابل بررسی باشد؛ اما باید احتیاط كرد كه به تمام باگها رسیدگی شود وگرنه صلاحیت این دیتابیس از كار میافتد. فرض كنید باگهایی را نبستهاید كه متعلق به سه نسخه پیشتر نرمافزار است و این باعث ورشكستی باگها میشود و دیگر دیتابیس باگها به درد نخواهد خورد.
منبع: جام جم