جزوه تایپ شده ماشین های الکتریکی ۳
ابوالفضل حلوایی نیاسر دانشگاه پیام نور استاد کامیاب جوهر دکتر قاینی دانشگاه آزاد دکتر دانشگاه سراسری آزادیی علمی کاربردی دکتر واحدی
()، ً –()، –:
• ؟
• ؟
• ؟
”” –
؛ ()،
• • • کند و تیم را تشویق می کند تا با بهبود روش های توسعهی خود، در اسپرینت بعدی مؤثرتر واقع شود.تیم، با تطبیق مفهوم کلمهی “انجام شده”، راهکارهایی برای بهبود کیفیت محصول، ارائه می کند.در پایان این جلسه، تیم، باید ایدهی خوبی در مورد پیشرفتهای مورد نیاز در اسپرینت بعدی داشته باشد و آمادهی برنامه ریزی برای توسعه در جلسهی طراحی اسپرینت بعدی شود.
5-3 سایر چارچوب های رویکرد ماهرانه
تاریخچهی مهندسی نرم افزار، مملو از دهها روش شناسی و توصیف فرآیند منسوخ شده، مدل سازی روش ها و نمادها، و دهها ابزار و فناوری است؛ هر کدام از آنها با نسخهای جدید و بهتر جایگزین خواهند شد. با توجه به مجموعهای گسترده از چارچوب های فرآیند ماهرانه، که هر کدام، توسط انجمن توسعهی نرم افزار، پذیرفته شده است، رویکرد ماهرانه، مسیر مشابهی را طی می کند.همانطور که در بخش گذشته اشاره کردیم، یکی از پرکاربردترین چارچوبهای رویکرد ماهرانه، اسکرام است.اما بسیاری دیگر از چارچوب های رویکرد ماهرانه ارائه شدهاند و در صنعت از آنها استفاده می شود.در این بخش، نمایی کلی از 3 روش ماهرانهی پرطرفدار، ارائه می کنیم: برنامه نویسی سریع(XP)، کانبان(Kanban)، و دو آپس(DevOps).
1-5-3 چارچوب برنامه نویسی سریع(XP)
در این بخش، خلاصهای از برنامه نویسی سریع (XP)، یکی از پرکاربرد رویکردها برای توسعهی ماهرانهی نرم افزار را مطرح می کنیم.کنت بک، کار بنیادین را در قالب XP نوشت.برنامه نویسی افراطی شامل مجموعهای از قوانین و روش هایی است که در زمینهی چهار فعالیت چارچوبی صورت می گیرد: برنامه ریزی، طراحی، کدنویسی و ارزیابی.تصویر 3-3 فرآیند XP را نشان می دهد و به برخی از ایده جزوه ماشین های الکتریکی ۳ و وظایف اصلی مرتبط با هر فعالیت چارچوبی، اشاره می کند.در پاراگراف های بعدی، خلاصهای از فعالیت های اصلی XP ارائه می شود.
برنامه ریزی. فعالیت برنامه ریزی(که بازی برنامه ریزی نیز نامیده می شود)، با فعالیتی موردنیاز، به نام گوش دادن، آغاز می شود.گوش دادن، منجر به ایجاد مجموعه ای از “داستان ها”(که داستانهای کاربر نیز نامیده می شود) می شود که خروجی، قابلیت ها و کارکردهای موردنیاز برای نرم افزار در حال ساخت را توصیف می کند.داستانهای کاربر(در فصل 7 توضیح داده شده است)، توسط مشتری نوشته می شوند و روی کارت فهرست نویسی قرار می گیرند.مشتری، بر اساس ارزش افزودهی کلی قابلیت ها و کارکردها، قیمتی(معیاری) برای داستان موردنظر، تعیین می کند.سپس اعضای تیم XP، با ارزیابی هر داستان در هفتههایی که سیستم در حال توسعه است، قیمتی برای آن تعیین می کنند.توجه کنید که داستانهای جدید در هر زمان می توانند نوشته شوند.مشتریان و توسعه دهندگان، با همکاری یکدیگر تصمیم می گیرند که چطور ماشین های الکتریکی را در قالب مجموعهای توسعه یافته توسط تیم XP، در نسخهی بعدی(نرم افزار توسعه یافتهی بعدی)، ارائه دهند.به محض اینکه بر انتشار نسخهی بعدی توافق شود(توافق در مورد درج داستانها، تاریخ ارائه، و سایر موارد مربوط به پروژه)، تیم XP، داستان ها را سازمان دهی می کنند و به یکی از 3 روش زیر، به توسعهی آنها می پردازند:
(1)همهی داستانها، بلافاصله (طی چند هفته)، ارائه می شوند.
(2)ارزشمندترین داستان ها، در الویت قرار می گیرند و در ()-()، ً “”، (ً )، ()، ()، به عنوان بخشی از فرایند XP، تولید می شود.اگر در طراحی یک داستان، مشکل پیچیدهای پیش بیاید، روش XP پیشنهاد می کند تا بلافاصله یک نمونهی اولیهی کاربردی، از آن بخش از طرح، ساخته شود.یکی از نکات اصلی در روش XP، این است که طراحی، می تواند هم بعد از شروع کدنویسی و هم قبل از آن انجام شود.بازسازی، اصلاح و بهینه سازی کد، به طوری که کارکرد غیراساسی نرم افزار، تغییری نکند، به این معنا است که طراحی، دائماً پس از ساخته شدن سیستم، انجام می شود.در واقع، فعالیت ساخت و ساز، بخ خودی خود، تیم XP را در جهت بهبود طراحی، راهنمایی می کند.
کدنویسی. پس از توسعه داستان های کاربر و انجام کارهای طراحی اولیه ، تیم، اقدام به کدنویسی نمی کند؛ بلکه با توسعهی مجموعهای از آزمایشات واحد، هر یک از داستان هایی را که قرار است در نسخهی فعلی(نسخهی توسعه یافته ی نرم افزار) گنجانده شوند، به کار می گیرند.با انجام آزمایش واحد، توسعه دهنده بهتر می تواند بر آنچه برای گذر از آزمایش واحد باید اجرا شود، تمرکز کند.پس از تکمیل ماشین های الکتریکی ، می توان بلافاصله آن را ارزیابی کرد و در نتیجه، فوراً بازخورد را به توسعه دهندگان ارائه داد.یکی از مفاهیم اصلی در طول فعالیت کدنویسی(و یکی از جنبه های جنجالی XP)، برنامه نویسی دو نفره است.روش XP توصیه می کند تا دو نفر با همکاری یکدیگر و با کار بر یک رایانه، برای یک داستان، کد ایجاد کنند.این کار، منجر به ایجاد ساز و کاری برای حل فوری مسائل(بر اساس ضرب المثل: “دو فکر، بهتر از یک فکر است”)، و تضمین فوری کیفیت(کد، بلافاصله پس از تولید، بازبینی می شود)، می شود.همزمان با پایان کار گروه دو نفرهی برنامه ””، ().()، ()، –()
”” 
(-).ً ؛ “”، “”، “”، (””، ).
از پروژه های موجود، تمام موارد، در ستون “موارد انجام نشده”، قرار نمی گیرند.توسعه دهندگان، باید ضمن قراردادن کارت هایشان در جزوه ماشین های الکتریکی ۳ فرآیند تیم، از خود بپرسند: اکنون در چه مرحلهای هستند؟از کجا آمدهاند و به کجا خواهند رفت؟اساس جلسه ی سرپایی ماشین های الکتریکی کانبان، اقدامی است که “راه رفتن روی تخته” نامیده می شود.رهبری این جزوه ماشین های الکتریکی ۱، به طور روزانه تغییر می یابد.اعضای تیم، تمام موارد در حال پردازشی را که در تابلو از قلم افتادهاند، شناسایی می کنند، و آنها را به تابلو اضافه می کنند.تیم، تلاش می کند تا تمام موارد را به وضعیت “انجام شده” برساند.هدف، این است که اول، موارد با ارزش تجاری بالا، پیش روند.تیم، با توجه به جریان کار، تلاش می کند تا موانع تکمیل کار را، با بررسی حجم کار و خطرات احتمالی، شناسایی کند.
تصویر 4-3
در طول جلسه ی بازنگری هفتگی، ارزیابی فرآیند، بررسی می شود.تیم، مواردی را که نیاز به توسعهی فرآیند دارند، بررسی می کند و تغییراتی را جهت اجرا، پیشنهاد می کند.روش کانبان، می تواند به سادگی با سایر روش های توسعهی ماهرانه ترکیب شود، تا نظم فرآیند را کمی ارتقا دهد.
3-5-3 روش دو آپس(DevOps)
روش دو آپس، توسط پاتریک دبویس، جهت ترکیب توسعه و کارکرد، ایجاد شد.این روش، تلاش می کند تا اصول ماهرانه و کارآمد توسعه را در سراسر زنجیرهی تأمین نرم افزار، اعمال کند.تصویر 5-3، نمایی کلی از روش دو آپس را نشان می دهد.این رویکرد، شامل مراحل متعددی می شود که به طور مداوم تکرار می شوند تا محصول موردنظر به وجود بیاید:
• توسعه ی مداوم. اقلام قابل تحویل نرم افزاری ، خراب شده و در اسپرینت های متعدد، توسط اعضای تضمین کنندهی کیفیت از تیم توسعه، ارتقا می یابند و آزمای می شوند.
• آزمایش مداوم. ابزارهای آزمایش خودکار، به اعضای تیم کمک می کنند تا ارتقای کدهای متعددی را به صورت همزمان، مورد آزمایش قرار دهند، تا مطمئن شوند که هیچ گونه نقصی قبل از ادغام و تکمیل کار، رخ نخواهد داد.
• ادغام مداوم. قطعات کدها با قابلیت های جدید، به کدهای موجود و محیط اجرا،اضافه می شوند و سپس بازبینی می شوند تا اطمینان حاصل شود که هیچ گونه خطایی پس از راه اندازی رخ نخواهد داد.
• راه انداری مداوم. در این مرحله، کد ادغام شده، در محیط تولید، راه اندازی (نصب) می شود.این محیط، می ماشین های الکتریکی شامل سایت های متعددی در سطح جهانی باشد، که باید برای دریافت کارکرد جدید آماده شوند.
• نظارت مداوم. کارکنانی که عضو تیم توسعه هستند، با نظارت بر عملکرد نرم افزار در محیط تولید، و بررسی فعالانه به دنبال جزوه ماشین های الکتریکی ۳ احتمالی قبل از کشف آنها توسط کاربر، به ارتقای کیفیت نرم افزار، کمک می کنند.
تصویر 5-3
روش دو آپس، با واکنش سریع به تغییرات نیازها و درخواست های مشتری، تجربیات مشتری را ارتقا می دهد.این مسئله، می تواند وفاداری نسبت به نام تجاری و سهم بازار را افزایش دهد.رویکردهای کارآمدی مثل روش دو آپس، می توانند با کاهش بازنگری ها و فراهم کردن امکان تغییر فعالیتهایی با ارزش تجاری بالاتر، ظرفیت سازمان ها
را برای خلاقیت و نوآوری، افزایش دهند.کسب در آمد از محصولات، تا زمانی که مشتری به آنها دسترسی نداشته باشد، صورت نمی گیرد، و روش دو آپس، می تواند به راه اندازی سیستم عامل های تولید، سرعت ببخشد.
6-3 خلاصه
در اقتصاد مدرن، شرایط بازار به سرعت تغییر می کند، نیازهای مشتری . کاربر نهایی متحول می شود، و خطرات جدید رقابتی، : ؛ --()، : را ارائه می کند، که می تواند تیمی از افراد ماهر را قادر سازد تا مکرراً نسخه هایی از نرم افزار را ارائه کنند، که قابلیت ها و کارکردهای شرح داده و الویت بندی شده توسط سهامداران را ارائه کند.هیچ مانعی برای استفاده از تکنیک دو آپس، برای کاهش زمان راه اندازی، وجود ندارد.
مسائل و نکات قابل تأمل
1-3 “بیانیهی توسعهی ماهرانهی نرم افزار”، که در ابتدای این فصل ذکر شده را بخوانید.آیا می توانید شرایطی را در نظر بگیرید که یک یا چند مورد از چهار “ارزش” مطرح شده، تیم نرم افزار را با مشکل مواجه کند؟
2-3 رویکرد ماهرانه(برای پروژه های نرم افزاری) را به بیان خود، تعریف کنید.
3-3 چرا یک فرایند تکرارپذیر، مدیریت تغییر را آسان تر می کند؟آیا تمام فرآیندهای ماهرانهی مطرح شده در این فصل، تکراپذیر هستند؟آیا می توان یک پروژه را تنها در قالب یک نسخه، تکمیل کرد و همچنان بر رویکرد ماهرانه باقی ماند؟پاسخ خود را توضیح دهید.
4-3 سعی کنید تا بیش از یک “اصل ماهرانه” ارائه کنید که به تیم مهندسی نرم افزار کمک کند تا هر چه بیشتر مانورپذیر شود.
5-3 چرا درخوست ها اینقدر تغییر می کنند؟بالأخره، مردم نمی دانند که چه می خواهند؟
6-3 اغلب مدل های فرآیند ماهرانه، ارتباط رو در رو را پیشنهاد می کنند.اما امروزه، اعضای یک تیم نرم افزاری و ماشین های الکتریکی آنها، می توانند از نظر جغرافیایی جدا از یکدیگر باشند.آیا فکر می کنید این موضوع، نشان می دهد که جدایی جغرافیایی امری اجتناب پذیر است؟آیا راهکاری برای حل این مشکل دارید؟
7-3 یک داستان کاربر بنویسید، که “مکان های موردعلاقه”، یا “قابلیت های موردعلاقه”ی در دسترس، در اغلب مرورگر های وب را توصیف کند.
8-3 ()، : ؟”” “”
فهرست مطالب