طراحی سایت با استفاده از RUP
یک شرکت طراحی سایت در سایت خود اعلام کرده بود که از روش های RUP برای تولید و طراحی سایت استفاده می کنند. در این مطلب استفاده از RUP در طراحی سایت را مورد بررسی قرار میدهم.
تولید نرم افزار روش (متدولوژی) های مختلفی دارد که بر طبق آن جزییات کار تیم نرم افزار و نقش افراد مختلف در آن تعریف می شود. این تعاریف از نحوه تحلیل پروژه ، نحوه ارتباط با کارفرما، نحوه تحلیل نیازمندی های نرم افزار و... شروع میشود و به جزییات مانند نحوه نورپردازی در محل کار، نحوه چیدمان میزها و... ختم می گردد! در طول تاریخ بزرگان زیادی بر روی نحوه کد نویسی صحیح و متدولوژیهای نرم افزاری کار کرده اند و استانداردهای متنوعی در این زمینه وجود دارد. معروفترین روش های تولید نرم افزار عبارتند از:
- متدلوژی XP یا Extreme Programming
- روش RUP یا Rational Unified Process
- روش Agile
- روش های Hybrid یا ترکیبی
هر کدام از روش های تولید نرم افزار فوق مزایای خاص خودش را دارد. بر اساس اینکه شما چه روشی را انتخاب کنید، نقش افراد تیم تغییر پیدا می کند. سازمان ها و شرکت های نرم افزاری بسته به اینکه اندازه پروژه های نرم افزاری آنها در چه حدی است و تیم تولید نرم افزار آنها چه خصوصیاتی دارند یکی از روش های فوق را انتخاب می کنند. البته در ایران معمولا از روش تولید نرم افزار پنجم استفاده می شود یعنی: عدم انتخاب هیچکدام از روش ها!
قبل از اینکه مطلب را ادمه بدم، لازم هست تعریف شکست پروژه نرم افزاری را توضیح بدم. یک پروژه زمانی شکست میخورد که یا بیشتر از بودجه تعریف شده مصرف کند یا بیشتر از زمان تعریف شده طول بکشد. طبق تعریف فوق بیش از 90% پروژه های نرم افزاری تعریف شده در ایران شکست خورده اند. البته آمار جهانی چیزی حدود 70% است!
یکی از خصوصیات RUP مستندسازی تمام جزییات بوسیله UML و تعامل اشیا و نقش های داخل پروژه است. طبق تعریف یک شرکت ایرانی این یعنی شکست پروژه به این دلیل که سربار زیادی به آن تحمیل می شود و مستند سازی فایده چندانی ندارد. در RUP پروژه طبق یک روند حلزونی شکل به فازهای تحلیل، پیاده سازی، تست و اجرا تقسیم شده و به مرور پیاده سازی و گسترش می یابد. اما اگر در طول پروژه تغییراتی در تحلیل و طراحی پیش بیاید مجبور خواهیم شد یک فاز به عقب برگردیم. این موضوع باعث خواهد شد که پروژه با نهایت دقت پیاده سازی شود اما زمان را از دست خواهیم داد. (زمان = پول و بودجه پروژه)
همه این توضیحات را دادم تا شاید شما هم درک کنید که ادعای طراحی سایت با استفاده از RUP تا چه میزان خنده دار و بی معنی است! استفاده از این روش هزینه پیاده سازی را ممکن است تا سه برابر افزایش داده و همچنین زمان طراحی را چندین برابر می کند. به همین دلیل استفاده از این متدولوژی و مستندسازی طراحی سایت برای من خنده دار است و فکرنمیکنم در هیچ جای دیگر دنیا نیز چنین کار بیهوده ای را انجام دهند.
بهترین روش به نظر من برای تولید و طراحی سایت، روش چابک یا Agile است. البته می توان از روش های ترکیبی نیز استفاده کرد. در پایان دو نکته بسیار مهم را متذکر می شوم:
- روش های تولید نرم افزار بیش از آنکه به تنهایی اهمیت داشته باشند، کارایی آنها بستگی به فردی دارد که آن روش را پیاده سازی می کند. یک تیم نرم افزاری حرفه ای با بدترین متدولوژیها بهترین خروجی را در کمترین زمان ارائه می دهد و یک تیم بی تجربه با جدیدترین آنها حتی ممکن است پروژه را نتواند به اتمام برساند.
- یک جمله از متدلوژی XP هست که همواره در ذهن من باقی خواهد ماند، امیدوارم برای شما هم مفید باشد: با 9 زن نمی توان در یکماه بچه تولید کرد.