انقلابی به نام Agile (قسمت ۲)
در این قسمت میخواهیم با مفهوم Agile ، تکنیک های کلی و … آشنا شویم .
در ابتدا باید بدانیم که مفهوم کلمه Agile به چه معناست ؟ در زبان انگلیسی Agile به معنی چابک و سریع است. حال که معنی Agile را متوجه شدیم باید ببینیم که اینکه یک کارخانه یا موسسه چابک است یعنی چه؟ جیم هیواسمیت یکی از پیشتازان بحث Agile میگوید که چابک بودن یعنی “سریع توسعه بدی ، سریع تغییر کنی و زود به زود تغییر کنی”. درحالی که تکنیک های چابکی در بعضی از قسمت ها با هم فرق دارد ولی در همیشه یک مشخصات شبیه به هم دارند مثله کار کردن با هم و تمرکز به ارتباط با هم و اثر گذاری متقابل .
Agile بودن در یک سازمان به معنی کار گروهی در فاصله نزدیک است تا بتوانیم نظرات و عقاید هم درباره ی کارهای هم را از نزدیک به هم انتقال دهیم این باعث سریع تر شدن پروسه انجام کارها میشود که به همین دلیل به آن به اصطلاح چابک بودن یا همان Agile میگویند. همچنین از دیگر کمک هایی که این متد در کارهای شرکتی و سازمانی کمک به تصمیم گیری های گروهی و عمل کردن سریعتر بر پایه این تصمیمات است. این مشخصات قابلیت مانور را به پروسه انجام کارهای اضافه میکند که همین نکته باعث میشود در این متد مدیریتی و پروژه های چابک تغییرات خوب را سریعتر تشخیص و سریعتر اجرا کنیم ؛ نسبت به متد های قدیمی که در برابر تغییر مقاومت میکردند.
خیلی از متد ها و تکنیک های Agile شبیه به هم اند ولی در حین پروسه انجام کار ها و مراحل با هم تفاوت دارند . در این مقاله و مقاله های بعدی من سعی میکنم که به انواع مختلف برنامه ها و تکنیک های به کار گرفته شده بر پایه Agile بپردازم.
متد اول برنامه نویسی مفرط :
برنامه نویسی مفرط (extreme programing) بدون شک یکی از پربحث ترین و داغ ترین متدهای حال حاضر Agile است که توسط بک و جفریز برای اولین بار معرفی شد و بعد ها در کتاب “توضیح برنامه نویس مفرط : پذیرفتن تغییر” توسط بک و مقاله های متعدد از حال تا به امروز هر روز بیشتر تکامل یافت.
۱۲ قانون برنامه نویسی مفرط:
برنامه ریزی : در شروع هر گردهمایی و دورهم نشینی گروهی ، مشتریان ، مدیران و توسعه دهندگان باهم ملاقات میکنند تا در مورد نیاز ها برای نسخه های بعدی باهم صحبت کنند و اولویت های خود را مشخص کنند.
انتشار کوچک : یک ورژن اولیه از سیستمی که می خواهیم تولید کنیم در هفته های اولیه به انتشار می رسد . به همین ترتیب با انتشار و کار کردن بر روی ورژن های اولیه ، ورژن اصلی را بعد از چند روز یا چند هفته تولید می کنیم .
ایماژ : مشتریان ، مدیران و توسعه دهندگان باید تصویر ذهنی ای باشند که سیستم ما را شکل می دهد.
طراحی ساده : توسعه دهندگان باید تا آنجا که می توانند طرح برنامه را ساده و قابل استفاده عموم بسازند .
تست : توسعه دهندگان همیشه با روش تست قبل از کدزنی باید کار کنند ؛ به این ترتیب که قبل از نوشتن کد مورد قبول باید تست های مورد قبول بنویسند . همچنین مشتریان و کاربران در گردهمایی ها تست هایی معرفی می کنند که باید در حضور آن ها همه ی آن ها را انجام دهند .
دوباره سازی: این مرحله برای تأکید بر اصل ساده سازی است به طوری که در هر نسخه برنامه باید به سمت ساده شدن تکامل یابد.
کد نویسی دو دویی : برنامه نویسان باید در گروه های دوتایی پشت یک دستگاه کد ها را بنویسند .
دورهمی های مداوم : هر گونه تغییر در کد یا عموم سیستم باید در دورهمی هایی به همه ی توسعه دهندگان توضیح داده شود . اگر کد یا تغییری توسط یک یا چند توسعه دهنده مورد انتقاد قرار گرفت باید از آن صرف نظر کرد .
مالکیت همگانی : کد و برنامه برای همه توسعه دهندگان است و همه ی آن ها آزادند کد را تغییر دهند یا نظرات خود را در مورد تغییرات دیگران بدهند .
مشتری در دسترس : یک مشتری و کاربر باید با توسعه دهندگان کار کند تا تست ها را انجام دهد و مداوما به آنها نظرات خود را انتقال دهد .
۴۰ ساعت در هفته : برای نگه داشتن کیفیت و برای جا باز کردن فرصت برای ابداع توسعه دهندگان نباید در هفته زیاد کار کنند و روزی ۳ تا ۴ ساعت کافیست .
فضای کاری باز : همه ی اعضای سیستم در یک فضای کاری و کنار هم بدون اتاق یا هیچ مرزی با هم کار می کنند .
در ادامه با zerotohero.ir همراه باشید .
قسمت قبل را در زیر بخوانید :
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.