Transcript متدولوژی XP
Agile Methodologies
Yazd University, Electrical and Computer Engineering Department
Course Title: Advanced Software Engineering
By: Mohammad Ali Zare Chahooki
مقدمهای بر اهمیت موضوع
شرايط كسب و كار در كشور ما نيز به تبع ديگر كشورها در حال تغيير است.
بنابراين سازمانها ميبايست به گونه اي چابك باشند تا بتوانند در
كوتاهترين زمان با توجه به شرايط محيط ،تغييرات الزم را در خود ايجاد
نمايند.
با توجه به اين كه توسعه نرمافزار در هر سازمان ،زيرساختي براي عملكرد
بهتر آن سازمان فراهم ميآورد لذا ...
متدولوژي توسعه نرمافزار نيز بايستي به گونه اي باشد كه مهندس ي نرمافزار
پاسخ قابل قبولي براي تغييرات سريع فراهم آورد.
2
مقدمهای بر اهمیت موضوع
بيش از يك دهه قبل ،پيش فرض متدولوژي توسعه در پروژههاي بزرگ
نرمافزاري كشور ما بر اين بود كه ...
در مدتي كه تيم توسعه در حال شناخت ،تحليل ،طراحي ،ساخت و آزمو ن
نرمافزر هستند... ،
هيچ گونه تغييري در سازمان كارفرما اتفاق نميافتد
اگر شاهد چنين تغييرهايي باشيم ...
تمام مسئوليت آن به عهده بهرهبردار و كارفرما ميباشد.
لذا كارفرما متهم ميگرديد كه چرا كليه نيازهاي خود را از همان ابتدا
مشخص نكرده است.
3
مقدمهای بر اهمیت موضوع
اين ديدگاه در پروژههاي نرمافزاري كشور تغيير كرده است ولي ...
متاسفانه همچنان شاهد شكست ذاتي در بيشتر پروژههاي نرمافزاري
هستيم.
بايد به اين نكته توجه داشت كه هرچند بسياري از پروژهها در انتها به
بهرهبرداري ميرسند ولي ...
عمال به دليل عدم رعايت زمان و هزينه پيش بيني شده... ،
بسياري از منابع سازمان تلف ميشود و منافع بهرهبرداري از نرمافز ار به تاخير
ميافتد.
4
مروری بر متدولوژیهای چابک
هنوز تعريف دقيقي از چابكي متدولوژي ارائه نشده است ولی ...
اين مفهوم مورد عالقه متخصصين اين رشته و مراكز پژوهش ي ميباشد.
بنابراين هنوز توافقي بر اين كه كدام متدولوژي چابك ميباشد وجود ندارد.
افزار
در سال 2001بيانيهاي توسط گروهي از مشاورين و پيمانكاران نرم
ارائه گرديد كه به ...
"بيانيه توسعه چابك نرمفزار" مشهور گرديد.
اين بيانيه از چهار بخش تشكيل شده است ...
5
مروری بر متدولوژیهای چابک -بیانه توسعه چابک نرمافزار
الف) اشخاص و ارتباط بين آنها بر فرايندها و ابزار اولويت دارند.
رابطه نزديك افراد در تيم پروژه در اين بخش از اولويت بااليي برخوردار
است.
6
مروری بر متدولوژیهای چابک -بیانه توسعه چابک نرمافزار
ب) كاركردن نرمافزار بر مستندسازي همه جانبه آن اولويت دارد.
هدف اساس ي تيم توسعه نرمافزار توليد مداوم نرمافزار
آزمونشده
ميباشد.
بنابراين ميبايست نشر هاي جديد در بازههاي زماني متناوب توليد شوند.
اين تناوب در بعض ي از رويكردها ميتواند به صورت روزانه و يا حتي ساعتي باشد.
ولي معموال در بازههاي ماهانه و يا دوماهانه نشرهاي جديد توليد ميشوند.
برنامه نويسهاميبايست كدهاي ساده را در نهايت تكنيك ايجاد نمايند و همواره بايد به
اين ملزم شده و تشويق شوند.
اين شيوه توليد سبب ميشود تا حجم مستند سازي در حد قابل قبولي كاهش يابد.
7
مروری بر متدولوژیهای چابک -بیانه توسعه چابک نرمافزار
ج) همكاري با مشتري بر مذاكرات قراردادي اولويت دارد.
هرچند كه اهميت قراردادهايي كه به خوبي تنظيم شده اند با بزرگ شدن
پروژهها ،افزايش مييابد ولی ...
ارتباط و همكاري بين توسعه دهندگان و مشتري (كارفرما و بهرهبردار) بر
روابط مبتني بر قرارداد اولويت دارد.
فرايند مذاكرات مبتني بر قرارداد بايستي به عنوان ابزاري براي حفظ روابط
پويا در پروژه تبديل گردد.
8
مروری بر متدولوژیهای چابک -بیانه توسعه چابک نرمافزار
د) پاسخ به تغييرات بر دنبال كردن طرح اولويت دارد.
گروه توسعه نرمافزار كه شامل:
تيم توسعه
و
افراد مسئول از سمت مشتري ميباشند ،بايستي ...
داراي
شايستگي،
اختيار و
دانش الزم
جهت تصميم گيري در مورد تغييرات در نيازمنديهايي كه در
حين فرايند توسعه نرمافزار شناسايي ميشوند ،باشند.
9
مروری بر متدولوژیهای چابک
اهمیت نيروی انسانی
در متدولوژيهاي چابك ،نگرش به نيروي انساني و تاثيري كه بر موفقيت
پروژه دارند مورد توجه ميباشد.
بنابراين ايجاد
انگيزش
در نيروي انساني براي توليد نرمافزار
باكيفيت در محدوده زماني پروژه از اهميت بااليي برخوردار ميباشد.
10
مروری بر متدولوژیهای چابک
انتخاب مناسبترین متدولوژی
طيف گسترده اي از پروژههاي نرمافزاري وجود دارد
براي تماميپروژهها نميتوان متدولوژي يكساني در نظر گرفت.
بنابراين مدير پروژه ميبايست بر اساس ويژگيهاي پروژه ...
بهترين متدولوژي
را انتخاب نمايد.
11
مروری بر متدولوژیهای چابک
آقاي كاكبرن ( )Alistair Cockburnکه از افراد پیشرو در تدوین بیانیه
توسعه چابک نرمافزار است ...
چابكي را در متدولوژي توسعه نرمافزار بر اساس ...
بهرهگيري از قواعد كم ولي كافي و همچنين ...
استفاده از قوعد حاكم بر ارتباطات انساني تعريف كرده است.
ايشان بر پنج نكته كليدي تاكيد دارند كه سبب موفقيت در پروژه ميگردند.
12
مروری بر متدولوژیهای چابک
الف) بين دو تا هشت نفر در يك اتاق باشند.
اين نكته بر ارتباطات تيم پروژه اشاره ميكند.
ب) افراد خبره در محل توسعه نرمافزار استفاده شود.
افراد خبره کسانی هستند که نیازمندیهای محصول را به خوبی میدانند.
اين نكته بر بازخوردهاي سريع و نيز چرخههاي كوتاه مدت توسعه نرمافزار
تاكيد دارد.
13
مروری بر متدولوژیهای چابک
ج) تكرارهاي كوتاه از يك تا سه ماه سبب تسريع در آزمون و رفع اشكاالت
ميشود.
د) آزمونهاي رگرسيون كامال خودكار گردد.
آزمونهاي واحد و كاركردي سبب ميشود تا كد ايجاد شده تثبيت گرديده و
بهبود مداوم را سبب گردد.
ه) از توسعه دهندگان با تجربه استفاده گردد.
افراد با تجربه بين دو تا پنج برابر سريعتر از افراد كندتر تيم ،كار توسعه را
انجام ميدهند.
14
مروری بر متدولوژیهای چابک
آقاي ميلر ،نه مشخصه براي فرايندهاي توسعه نرمافزار ارائه داده است كه
سبب سرعت در چرخه حيات پروژه ميگردد.
15
مروری بر متدولوژیهای چابک
-1فرايند توسعه نرمافزار به صورت ماژوالر انجام پذيرد.
هماکنون مدلهای توسعه نرمافزار گوناگونی وجود دارد ...
این مدلها از تنوعهای مختلفی مانند آبشاری تا حلزونی برخوردار هستند ...
هرکدام از مدلها نقاط قوت و ضعف خود را دارند ...
ممکن از بخواهیم از نقاط قوت تمامی مدلها استفاده کنیم ...
تا به بهترین انتخاب برای متدولوژی در پروژه برسیم.
بنابراین باید کل پروسهای که در متدولوژی دنبال میشود را به ص ورت
بلوکدیاگرام ترسیم کنیم و ...
سپس برای هر بلوک بهترین انتخابها را از مدلهای موجود انتخاب کنیم.
16
مروری بر متدولوژیهای چابک
-2فرايند توسعه تكرار پذير باشد و چرخهها به فواصل زماني كم تكرار
شوند.
اين امر سبب ميشود تا بازبينيها و اصالحات در نرمافزار سريع انجام پذيرد.
-3طول زماني هر تكرار بين يك تا شش هفته محدود گردد.
-4فرايند توسعه بايستي مختصر باشد تا فعاليتهاي غيرضروري حذف
گردند.
-5فرايند بايستي در برابر ريسكهاي جديد كه ممكن است رخ دهند
تطبيق پذير باشد.
17
مروری بر متدولوژیهای چابک
-6رويكرد فرايند توسعه نرمافزار بايستي به صورت افزايش ي باشد.
اين امر سبب ميگردد تا نرمافزاري با قابليت اجرا در گامهاي كوچك ايجاد
گردد.
-7رويكرد افزايش ي و همگرا سبب كمينه نمودن ريسكهاميگردد.
-8فرآيند ميبايست مبتني بر افراد باشد.
-9سبك محيط كار ميبايست مبتني بر همكاري و تعامل باشد.
18
مروری بر متدولوژیهای چابک
آقايهايسميت ،هدف از متدولوژيهاي چابك را در چهار بخش به شرح ذيل
آورده است:
الف) اولين نسخه قابل اجرا در طي چند هفته به مشتري عرضه گردد
تا بتوان هرچه زودتر بازخورد كاربر را دريافت نمود.
ب) براي نيازمنديها راه حلهاي ساده در نظر گرفت.
اين امر سبب ميشود تا تغييرات بعدي آسان تر انجام پذيرد.
19
مروری بر متدولوژیهای چابک
ج) به صورت پيوسته كيفيت طراحي را بهبود دهيم.
بهبود بايستي به گونهاي انجام پذیرد كه در تكرار بعد هزينه پياده سازي
كاهش يابد.
د) آزمون بايستي به صورت دائم انجام شود.
اين امر سبب ميشود تا اشكاالت در مراحل اوليه مشخص گردند.
از اين رو هزينه رفع اشكاالت كاهش مييابد.
20
مروری بر متدولوژیهای چابک
آقاي آملر ،پنج رويكرد عموميرا از متدولوژیهای چابک استخراج نموند:
الف) اهميت نيروي انساني.
ب) مستندسازي كمتر نيز امكان پذير است.
ج) ارتباطات بين افراد درگير در پروژه از اهميت ويژه اي برخوردار است.
د) ابزارهاي مدل سازي آنچنانکه معموال احساس ميشوند مفيد
نميباشند.
ه) مدل سازي و طراحي بزرگ كه در ابتدا انجام ميشود نياز نميباشد.
21
متدولوژی )eXtreme Programming (XP
متدولوژي XPبواسطه چرخه طوالني توسعه نرمافزار در
متدولوژيهاي سنتي و مشكالت ناش ي از آن ...
در سال 1999توسط آقاي ِبك تدوين گرديد.
این متدولوژی به عنوان اولين متدولوژی چابک مطرح است ...
رويههايي كه در اين متدولوژي ارائه شده است نكات جديدي نبودند ...
ولي از اين جهت دارای اهمیت است که ...
رويههاي بهينه كنار هم قرار گرفته و به عنوان متدولوژي مدون گرديدند.
22
متدولوژی XP
چرخه حيات توسعه نرمافزار در اين متدولوژي در شش فاز انجام ميپذيرد.
23
متدولوژی XP
)1فاز كاوش )(Exploration Phase
دراين فاز مشتري و تيم توسعه به صورت موازي شروع به كار ميكنند.
مشتري ،ويژگيهاي سيستم را كه انتظار دارد در نگارش اول پياده سازي
گردد را بر روي سناريو كارتهايي ثبت ميكند.
هر سناريو بيان كننده ويژگي اي از سيستم ميباشد.
24
متدولوژی XP
تيم پروژه به صورت موازي با ابزارها و تكنولوژيهايي كه در پ روژه
استفاده ميشود آشنا ميشوند.
تكنولوژي و معماريهاي متصور براي سيستم نرمافزاري با ايجاد
ن ميشوند.
پروتوتايپ ،آزمو
اين فاز بين تعداد معدودي هفته و يا ماه ميتواند انجام پذيرد.
مدت زمان این فاز بستگي به
بزرگي پروژه و
آشنايي تيم توسعه با تكنولوژي و ابزارهاي پياده سازي دارد.
25
متدولوژی XP
)2فاز طرحريزي )(Planning
اين فاز تا حداكثر در دو روز انجام ميشود.
در اين فاز:
)1توافقي بر سر ويژگيهاي نشر اوليه صورت ميپذيرد
)2سناریوها (ويژگيهاي نرمافزار) اولويت بندي ميشوند.
)3تخمين مدت برنامهنویس ی سناریوها توسط برنامهنویسها
)4زمان بندي پروژه براساس تخمين مدت برنامهنویس ی
زمان بندي نشر اوليه سيستم نبايد بيشتر از دو ماه باشد
26
متدولوژی XP
)3فاز تكرارهاي قبل از انتشار )(Iterations to Release
اين فاز شامل تكرارهايي است كه تا قبل از نشر اوليه انجام ميشود.
هر تكرار بين يك تا چهار هفته برنامه ريزي ميشود.
در اولين تكرار معماري كل سيستم در قالب يك سيستم نرمافزاري پياده
سازي ميشود.
اين كار با انتخاب سناريوهايي انجام ميشود كه نيازمند ساخته شدن كل
سيستم نرمافزاري ميباشند.
27
متدولوژی XP
انتخاب سناريوها يي كه در هر چرخه پياده سازي ميشوند با مشاوره مشتري
انجام ميشود و
تصميم گيري در اين مورد را مشتري انجام ميدهد.
آزمونهاي كاركردي كه توسط مشتري تهيه شده است ...
در انتهاي هر تكرار انجام ميشود.
در انتهاي آخرين تكرار سيستم آماده توليد ميباشد.
28
متدولوژی XP
)4فاز توليد )(Productionizing
اين فاز شامل آزمونهاي نهايي و همچنين ...
آزمون كارايي بر روي نرمافزار قبل از نشر به مشتري ميباشد.
در اين فاز تغييرات جديدي شناسايي ميشوند و ...
تصميم گيري در مورد اينكه آيا اجراي تغييرات در همين نشر و يا در نشر
بعدي انجام پذيرد ،انجام ميشود.
29
متدولوژی XP
در طول اين فاز ممكن است تكرارهايي بين يك تا سه هفته برنامهریزی شود.
ايدهها و نيز نظراتی كه بايستي در نشرهاي بعدي در سيستم گنجانده شود
مستند ميگردند تا ...
در فازهاي بعدي (مثال فازي نگهداري) پياده سازي شوند.
30
متدولوژی XP
)5فاز نگهداري )(Maintenance
بعد از آنكه نشر اوليه براي استفاده مشتري توليد گرديد... ،
همچنانكه در طول چرخههاي ديگر نشرهاي جديد از سيستم توليد
ميشود ...
ميبايست نشر توليد شده اجرايي باشد.
براي اين منظور ميتوان ساختار تيم توسعه را تغيير داد و افراد ديگري را نيز
به تيم اضافه نمود.
31
متدولوژی XP
)6فاز پاياني )(Death
زماني كه مشتري سناريو ديگري براي پياده سازي نداشته باشد به اين فاز
نزديك ميشويم.
لذا ميبايست قبل از اين فاز نيازمنديهاي ديگر مشتري نظير كارايي وامنيت
نيز در نرمافزار گنجانده شده باشد.
در اين فاز بدليل عدم تغييرات ،مستنداتي كه براي نگهداري سيستم نياز
هستند نهايي ميشوند.
32
متدولوژی XP
چنانچه مشخص گردد كه
سيستم قادر به اجراي ويژگيهاي مورد نظر نميباشد و يا
هزينههاي پياده سازي باال ميباشد،
اين فاز در نهايت انجام ميشود.
33
متدولوژی
-XPنقشهای تعریف شده
.1برنامهنويس
آزمونهاي واحد را برنامه مينويسند
كد برنامه را ساده و گويا نگه ميدارند.
تعامل برنامه نويسها با يكديگر و ديگر اعضاي تيم از اهميت
بااليي در اين متدولوژي برخوردار است.
34
متدولوژی
-XPنقشهای تعریف شده
ي
.2مشتر
وظيفه نوشتن سناريو كارتها و ...
آزمونهاي كاركردي را به عهده دارد.
مشتري اولويت بندي نيازمنديها در پياده سازي را انجام ميدهد.
35
متدولوژی
-XPنقشهای تعریف شده
.3آزمونگر
به مشتري در نوشتن آزمونهاي كاركردي كمك
آزمونها را به صورت دورهاي اجرا
ميكند.
ميكنند و ...
نتايج آنها را ثبت و گزارش ميكنند.
همچنين وظيفه بهنگام كردن و نگهداري آزمونها در ابزار آزمون به عهده
آزمونگرها ميباشد.
36
متدولوژی
-XPنقشهای تعریف شده
.4پيگير )(Tracker
سنجش تخمينهايي كه قبال توسط تيم پروژه زده شده است با زمان واقعي
انها با ايشان ميباشد و ...
بيان ميكنند كه زمانبندی ها تا چه حد دقيق بوده اند تا در آينده زمان
بنديها با دقت بيشتري انجام پذيرد.
همچنين ميزان پيشرفت هر تكرار مشخص ميشود و ...
مشخص ميشود كه آيا هدف مشخص شده در تكرار با منابع و
؟
محدوديتهاي زماني موجود قابل دسترس ميباشد و يا...
ميبايست تغييراتي در انها انجام پذيرد.
5
37
متدولوژی
-XPنقشهای تعریف شده
.5مربي )(Coach
ايشان مسئول كل فرايند ميباشد.
مربي بايست بتواند اعضاي ديگر تيم را در دنبال كردن فرايند راهنمايي
كند.
38
متدولوژی
-XPنقشهای تعریف شده
.6مشاور
شخص ي است در خارج از تيم ...
كه دانش مورد نیاز در مورد مسائل خاص پروژه را در اختيار دارد.
39
متدولوژی
-XPنقشهای تعریف شده
.7مدير
تصميمگيريها به عهده مدير ميباشد.
براي تصميم گيري با اعضاي تيم در ارتباط است تا ...
وضعيت موجود را تعيين كند و مشكالت موجود در فرايند را تشخيص دهد.
40
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.1طرح ريزي تعاملی
در اين متدولوژي تعامل نزديك بين برنامه نويس و مشتري وجود دارد.
برنامه نويس پيشبيني زماني در مورد سناريوهاي مشتري را انجام ميدهد و
...
مشتري تصميمگيري در مورد زمانبندي و محتواي نشرها را انجام ميدهد.
41
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.2نشرهاي كوتاه/كوچك
نشر اوليه سيستم سريع (دو تا سه ماه) انجام ميپذيرد و ...
نسخههاي بعدي ميتوانند حتي روزانه و يا حداكثر ماهانه انجام شوند.
42
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.3استعاره
سيستم با مجموعه اي از استعارهها بين برنامه نويسها و مشتري تعريف
ميشود.
استعارهها املانهاي اساس ي نرمافزار و ارتباطات بين آنها ميباشد.
43
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.4طراحي آسان
اجرا است
در اين متدولوژي تاكيد بر استفاده از آسانترين طراحي كه قابل
ميباشد.
پيچيدگيهاي غير ضروري و همچنين كدهاي پيچيده ميبايست از سيستم
حذف گردند.
44
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
ن
.5آزمو
توسعه نرمافزار مبتني بر آزمون ميباشد.
آزمونهاي واحد قبل از نوشته شدن كد ،پياده سازي ميشوند و به صورت
پي درپي اجرا ميشوند.
وظيفه نوشتن آزمونهاي كاركردي بر عهده مشتري ميباشد.
وظیفه اجرای آزمونهای کارکردی برعهده آزمونگر میباشد.
45
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.6شكل دهي مجدد
اجزاي تكراري سيستم حذف گردد و ...
ساده سازيها در سيستم انجام پذيرد.
46
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.7برنامه نويس ي جفتي
هر كد برنامه در يك كامپيوتر و توسط دو برنامه نويس تهيه ميشود.
يكي از برنامه نويسها موس و صفحه كليد را در اختيار دارد و ...
برنامه نويس ديگر كد نوشته شده را چك ميكند كه ...
آيا ميتواند آزمونها را بگذراند و ...
آيا موارد آزمون ديگري وجود دارد كه ميبايست تهيه شود.
اين رويكرد با استرتژيهاي مختلف قابل اجرا ميباشد.
47
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.8مالكيت جمعي
هر كس ميتواند هر بخش از برنامه را در هر زماني تغيير دهد.
48
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.9تجميع مداوم
هر بخش از كد كه تهيه ميشود بايستي هرچه سريعتر با ديگر اجزاي
سيستم تجميع گردد.
بنابراين در طول روز سيستم چندين بار تجميع شده و ساخته ميش ود.
تماميآزمونها بايستي با موفقيت اجرا گردند.
49
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.10چهل ساعت كار در هفته
در هفته نبايد بيش از حداكثر چهل ساعت كار انجام شود.
بين هر دو هفته بايستي حتما تعطيلي وجود داشته باشد كه ...
در غير اینصورت بايستي راه حلي براي اين مشكل انديشيده شود.
50
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.11حضور مشتري در محل توسعه نرمافزار
مشتري ميبايست به صورت تماموقت در دسترس تيم توسعه نرمافزار
قرار داشته باشد.
51
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.12استانداردهاي كدنويس ي
قواعد كدنويس ي بايستي وجود داشته باشد و ...
توسط برنامهنويسها رعايت گردد.
بايستي بر ارتباط بين افراد تيم از طريق كد برنامه تاكيد گردد.
52
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.13فضاي كاري باز
بهتراست از اتاقي بزرگ با پارتيشنهاي كوچك استفاده شود .برنامهنويسها
بهتر است در مركز اين فضا باشند.
53
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
.14قانونگرايي
بين افراد تيم قوانينی حكمفرما هستند كه ميتوانند تغيير نيز بكنند.
تغيير در قوانين بايستي به توافق تمامي افراد تيم برسد و
اثر آنها بر كيفيت انجام كار ،ارزيابي گردد.
54
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
توصیه ارائهدهنگان متدولوژی:
در شروع نبايستي سعي شود تا يه يكباره تمامي آن به كار گرفته شود.
بلكه ميبايستي با درنظر گرفتن مسئله ،سعي شود ...
با تجارب XPآن را حل نمود.
بر همين اساس ،رويكرد اصلي در اين متدولوژي آن است كه ...
فرآیند توسعه نرمافزار واحدي كه براي تمامي پروژهها مناسب باشد وجود
ندارد .بلكه ...
بايستي با اصالحات بر فرآيند موجود ،آنرا براي پروژه جديد ،مناسب نمود.
55
متدولوژی -XP
تجارب بدست آمده از متدولوژي XP
برای چه پروژههایی مناسب است؟
اين متدولوژي از آنجاييكه براساس:
بازخوردهاي سريع از كاربر و همچنين ...
براساس تغييرات كم
ميباشد،
در پروژههايي كه اين مشخصات را ندارند مناسب نميباشد.
56
مراجع
[1] J. Highsmith, A. Cockburn, Agile Software Development: The Business of Innovation, Computer 34
(9), 2001, 120-122.
[2] S. Hawrysh, J. Ruprecht, Light Methodologies: It's Like DejaVu All Over Again, Cutter IT Journal
13, 2000, 4-12.
[3] A. Cockburn, Agile Software Developmet, Addison-Wesley, Boston, 2002.
[4] G. G. Miller, The Characteristics of Agile Software Processes, The 39th International Conference of
Object-Oriented Languages and Systems, Santa Barbara, CA, 2001.
[5] S. Ambler, Agile Modelling: Effective Practices for Extreme Programming and the Unified Process,
John Wiley & Sons Inc., New York, 2002.
[6] K. Beck, M. Beedle, A. van Bennekum, A. Cockburn, W. Cunningham, M. Fowler, J. Grenning, J.
Highsmith, A. Hunt, R. Jeffries, J. Kern, B. Marick, R. Martin, S. Mellor, K. Schwaber, J. Sutherland,
and D. Thomas, Manifesto for Agile Software Development, http://AgileManifesto.org, 2001.
[7] P. Abrahamsson, O. Salo, J. Ronkainen, J. Warsta, Agile SofwareDevelpment Methods Review and
Analysis, VTT Publications, 2002.
[8] K. Beck, Embracing Changr With Extreme Programming, IEEE Computer 32(10), 1999, 70-77.
[9] K. Beck, Extreme Programming Explained: Embrace, Reading Mass., Addison-Wesley, 1999.
57