توسعه نرم افزار با سرعت بالا

از ویکی‌پدیا، دانشنامهٔ آزاد.

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

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

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


فهرست مندرجات

[ویرایش] تاریخچه

تعریف مدرن توسعه نرم افزار سرعتی در سال ۱۹۹۰ به صورت قسمتی از یک واکنش مقابل روشهای سخت افزاری است و معرف یک میکرومنیج است و به صورت یک مدل ابشاری است. فرایندهایی که از مدل ابشاری ناشی میشود به صورت یک مدل اداری است و هماهنگ با شیوهایی است که مهندسین نرم افزار به صورت مؤثر روی آن کار میکنند.

یک مورد که میتوان از آن در ساخت و تولید روشهای سرعتی استفاده کرد، روشی است که به توسعه نرم افزارها کمک میکند. در ابتدا روشهای سرعتی روشهای سیستم سبک بود. در سال ۲۰۰۱ افراد مشهور این گروه در اسنوبرد، یوتا یکدیگر را ملاقات کردند و نام روشهای سرعتی را برای اولین بار ثبت کردند.

بعدها برخی ازهمین اعضا شیوه های توسعه روش سرعتی را تولید کردند. روشهای سرعتی که قبل از سال ۲۰۰۰ درست شده اند - در سال ۱۹۸۶ اسکروم، در سال ۱۹۹۶ کریستال و در سال ۱۹۹۵ دی اس دی ام. عناصر تشکیل دهنده برنامها براساس الگوهای زبانی اسکروم و وارد چانگهام تشکیل شده است.

[ویرایش] اولویت ها و اصول زیربنایی روشهای سرعتی - بیانیه روش سرعتی

روشهای سرعتی یک گروه تنها روش دسترسی به نرم افزار نیست. در سال ۲۰۰۱ هفده فرد برجسته در حوزه روشهای سرعتی (که سیستم سبک نیز نامیده می شود)در اسنوبرد، یوتا گرد هم آمدند و شیوه ای در یک سیستم بسته برای تولید آن ایجاد کردند. آنها بیانیه روشهای سرعتی را به طور گسترده با توجه به تعریف متداول و در چهارچوب قانونی تولید کردند و اصول این روش سرعتی را به طور همزمان دنبال کردند. برخی از اصول بیانیه های روش سرعتی[۱] از این قرار می باشد:

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

انتشار این بیانیه یک حرکت صنعتی نرم افزاری در توسعه نرم افزارهای سرعتی ایجاد کرد.


[ویرایش] مقایسه این روش با روشهای دیگر

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

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

گروهای قابل پیش بینی هنگام تغییر جهت با مشکلات زیادی روبرو میشوند برنامه به طور نوعی برای اهداف اصلی بهینه سازی میشود و تغییر جهات میتواند موجب کامل شدن کارکرد از طریق برنامه اصلی باشد. گروههای قابل پیش بینی اغلب یک تغییر قابل کنترل ایجاد میکنند که تنها تغییرات قابل ارزش را بررسی میکند . روشهای سرعتی یک خصوصیات مشترک با توسعه کاربردی برنامه ها دارد . این برنامه ها تکنیکهای مخصوصی دارد که جیمز مارتین و دیگر همکارانش در سال ۱۹۸۰ آن را ایجاد کردند.

[ویرایش] روشهای توسعه سرعتی در مقابل روش های دیگر

مدل های سرعتی روشهای فزاینده را تقسیم می کنند و در یک مدت زمان کوتاه ساختمان نرم افزار را به اجزا سازنده آن تقسیم میکنند . توسعه سرعتی متفاوت از دیگر روشها ست و دوره زمانی خودش بیشتر در هفته اندازگیری می شود تا در ماه و عمل کرد ها دریک گونه مشترک انجام می شود. همچنین بیشتر روشها در یک محدوده زمانی انجام میگیرد.

[ویرایش] مدل آبشاری در مقابل مدل های دیگر

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

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

[ویرایش] مسـُولیت کدها

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

[ویرایش] منابع

  1. اصول بیانیه های روش سرعتی
زبان‌های دیگر