Eureka, Eureka! یافتم، یافتم
فکر می کنم کم کم دارم متوجه می شم فرق اینها با ما چیه. شاید بشه گفت فرق اصلی اینه که توی ایران ما برای انجام کار متوسل به قهرمانها و آدمهای کاردرست می شیم، و نمی تونیم یا نمی خواهیم (بدلیل کمال طلبی بیش از حد) آدمهای متوسط رو مدیریت کرده و خروجی تولید کنیم. کلی کار می ریزیم رو سر قهرمانهامون و اونها هم له می شوند زیر بار فشار کاری، آخرش می بینند یک عده دارند راست راست می گردند و بیشتر از اینها در آمد دارند، ول می کنند قبل از اینکه کار به نتیجه برسه میروند یک جای دیگه، کاره هم اینقدر پیچیده است که هیچ کس نمی فهمه چی به چیه، عملاً نمی رسه به اون مرحله بهره برداری درست و حسابی.
اینجا با یک تیمی از آدمهای متوسط یک خروجی هایی تولید می شه، کامل نیست، خیلی هم نقص داره، خیلی هم بد طراحی شده، ولی کار می کنه! چطور چنین چیزی ممکنه؟ پروسه اینو تضمین می کنه که خروجی همون خروجی مورد انتظار باشه. الان مثال از پروسه تولید نرم افزار خودمون می زنم شیر فهم شوید:
برنامه نویس که کار رو انجام میده، باید مشخص هم بکنه که چطوری باید Unit تست بشه، Test Case ها رو می نویسه، خودش بر اساس اونها تست می کنه، یک برنامه نویس دیگه هم باید این تست ها رو Review کنه، اینجا شاید نظر بده که این Test Case ها کفایت نمی کنه، یک سری Test case های دیگه هم اضافه کنند. بعدش باید System Test بشه، یعنی یک جایی مثل Production درست می شه و تغییرات اعمال می شه و تست انجام می شه. بعد Business Owner و IT Owner و Change Manager باید تایید کنند که چنین تغییری رو می خواهند در سیستم اعمال کنند بعدش توی یک محیط جداگانه ای اعمال می شه برای User Acceptance Test یا UAT (یو ای تی) کاربر نهایی اینجا تست می کنه، تایید که کرد اعمال می شه توی Staging دوباره تست می شه که مشکلی نداشته باشید، میره برای Production. سیستم های Staging و Production دست DBA هاست و تیم تولید دسترسی برای تغییر آن را ندارد.
قرار بود یک Job در SQL Agent زمان شروعش از 7:45 به 7 تبدیل شه. همه این مراحل براش طی شد، درسته اعصاب من نمی کشید، امروز توی این محیط اعمال کنم، فردا بیام ببینم توی ساعت 7 اجرا شده، بعد تو محیط بعدی، دوباره فرداش بیا ببین حله، بعدیها رو بده DBA ها به همین ترتیب انجام بدهند! آخرش هم که انجام شد همه به هم تبریک میگن! انگار شق القمر شده!
ببینید، به اندازه کافی نیرو دارند، نیروها لازم نیست از زندگیشون بزنند، راحت کارشون رو می کنند، دو هفته، سه هفته می روند مرخصی، آب از آب تکان نمی خورد، هزینه تغییر زیاده، کاربرها چون مجبورند خودشون تغییرات خودشون رو تست کنند، هی هر روز هزار تا تغییر لیست نمی کنند، مدیرها می فهمند هزینه تغییر زیاده، خلاصه اینکه سیستم تولید شده، هر چی هم آشغال باشه، باهاش کار می کنند، بهتر از سیستمی است که بهترین معماری رو داشته باشه آخرین تکنولوژی ها هم توش استفاده شده باشه ولی عملیاتی نشه! هر روز هم صد تا تغییر داشته باشید توی سیستم، آخرش یک سیستم غیر قابل اعتماد دستتون باشه.
من اعصاب ندارم می بینم Table هاشون Primary Key نداره، ولی کار درست رو اینا می کنند. اینطور نیست؟
+ نوشته شده در سه شنبه شانزدهم مهر ۱۳۸۷ ساعت 21:55 توسط مهندس ارنست
|