CSC/ECE 517 Fall 2007/wiki3 10 tm: Difference between revisions
No edit summary |
No edit summary |
||
Line 35: | Line 35: | ||
It is a lot of work, I need to put the data I gathered in organizing way, may be by the next submission, so keep around! at least I placed some comics :) | It is a lot of work, I need to put the data I gathered in organizing way, may be by the next submission, so keep around! at least I placed some comics :) | ||
==Agile Methodologies' Real | ==Agile Methodologies' Real Manifesto== | ||
XP/Agile's practices are introduced to achieve certain values (Communication, Feedback, Courage, Simplicity, Respect). It is true that these practices will help to provide the best environment for these values to grow. Nevertheless, many of these practices acquire the existence of these values in the project, the company, the management, the individuals, and moreover the customer. Certain enough these values represent moral and professional values that should exist in every social and individual system. Nevertheless, we recognize their variation in every system. Moreover, many of these values might be out of the control as simplicity of the project or the courage of the customer. The author think that is why Agile approach will give even a better results in different area such as R&D or education, see links. <br> | XP/Agile's practices are introduced to achieve certain values (Communication, Feedback, Courage, Simplicity, Respect). It is true that these practices will help to provide the best environment for these values to grow. Nevertheless, many of these practices acquire the existence of these values in the project, the company, the management, the individuals, and moreover the customer. Certain enough these values represent moral and professional values that should exist in every social and individual system. Nevertheless, we recognize their variation in every system. Moreover, many of these values might be out of the control as simplicity of the project or the courage of the customer. The author think that is why Agile approach will give even a better results in different area such as R&D or education, see links. <br> | ||
Line 42: | Line 42: | ||
==Conclusion== | ==Conclusion== | ||
Agile methodologies provided a framework for software development. These methodologies not mint to be for every project, company and/or person. To gain the promised savings in the documentation, architecture and process, you need more than Agile practices; You will need Communication, Feedback, Simplicity, Courage, Respect existing in your company, project, individuals and in the customer. If you can't achieve these conditions, then you will need to be assisted with more documentations, design and process. Still Agile methodology will provide you with a lot of useful tools, you can pick and match what is suitable for your company, project, customer and personality. | Agile methodologies provided a framework for software development. These methodologies not mint to be for every project, company and/or person. To gain the promised savings in the documentation, architecture and process, you need more than Agile practices; You will need Communication, Feedback, Simplicity, Courage, Respect existing in your company, project, individuals and in the customer. If you can't achieve these conditions, then you will need to be assisted with more documentations, design and process. Still Agile methodology will provide you with a lot of useful tools, you can pick and match what is suitable for your company, project, customer and personality. | ||
==External Links by Side== | ==External Links by Side== | ||
Line 61: | Line 59: | ||
===Arguments *Support* XP=== | ===Arguments *Support* XP=== | ||
*[http://portal.acm.org/citation.cfm?id=962352&coll=GUIDE&dl=GUIDE&CFID=42425829&CFTOKEN=88673594 "Are agile methods good for design?"] <br> | *[http://portal.acm.org/citation.cfm?id=962352&coll=GUIDE&dl=GUIDE&CFID=42425829&CFTOKEN=88673594 "Are agile methods good for design?"] <br> | ||
*[http://www.amazon.com/Agile-Software-Development-Evaluating-Organization/dp/1580538428 "Agile Software Development: Evaluating The Methods For Your | *[http://www.amazon.com/Agile-Software-Development-Evaluating-Organization/dp/1580538428 "Agile Software Development: Evaluating The Methods For Your Organization"]<br> | ||
*[http://agilemanifesto.org/ "http://agilemanifesto.org/"]<br> | *[http://agilemanifesto.org/ "http://agilemanifesto.org/"]<br> | ||
*[http://agilesoftwaredevelopment.com/ "http://agilesoftwaredevelopment.com/"] | *[http://agilesoftwaredevelopment.com/ "http://agilesoftwaredevelopment.com/"] | ||
Line 80: | Line 78: | ||
* [http://portal.acm.org/citation.cfm?id=776897&coll=Portal&dl=GUIDE&CFID=42448435&CFTOKEN=54833985 "eXtreme Programming at universities: an educational perspective"]<br> | * [http://portal.acm.org/citation.cfm?id=776897&coll=Portal&dl=GUIDE&CFID=42448435&CFTOKEN=54833985 "eXtreme Programming at universities: an educational perspective"]<br> | ||
===Project | ===Project Management=== | ||
* [http://leadinganswers.typepad.com/leading_answers/2007/07/developments-in.html "Developments in Agile Project Management"] | * [http://leadinganswers.typepad.com/leading_answers/2007/07/developments-in.html "Developments in Agile Project Management"] | ||
===R&D=== | ===R&D=== | ||
* [http://portal.acm.org/citation.cfm?id=1094898&coll=Portal&dl=GUIDE&CFID=42448435&CFTOKEN=54833985 "agile practices for R&D projects"]<br> | * [http://portal.acm.org/citation.cfm?id=1094898&coll=Portal&dl=GUIDE&CFID=42448435&CFTOKEN=54833985 "agile practices for R&D projects"]<br> |
Revision as of 14:11, 17 November 2007
The Agile debate. Perhaps the most prominent controversy in o-o design today is whether it is possible to do a robust design with as little advance planning as agile methodologies recommend. Research this issue, on the Web and in the ACM DL, and report (fairly) on the major arguments of both sides, and on the evidence for both positions.
What is 'Agile Methodology'?
Agile Methodology was introduced as an iterative approach for developing software as a counter to waterfall approach. Where the five main phases of waterfall (requirement, design, coding, integration, testing) are practiced through every iteration. Moreover, it suggested several practices to enhance the software developments, see next figure from [http://txpug.editme.com/files/Lec2004Jul26/rupvagile.1.ppt "Finding Agility -�A comparison of RUP and Agile"], *.PPT .
Many Agile methodologies were introduced in the last decade (XP, Scrum, DSDM, FDD, Lean, Adaptive, Crystal). It would be difficult to introduce every aspect of these methodologies in this wiki. That is why, This wiki will concentrate in the most popular agile methodology, XP (eXtreme Programming).
Comparison Basis for Robust Design
A comparison between Agile methodologies and Waterfall methodology is found to be a little out of scope, as the advantages of iterative methodologies already recognized. That is why the current wiki will concentrate to compare with other iterative methods, such as RUP (Rational Unified Process). RUP share many of Agile's practices. Other practices can be immigrated from XP to RUP, or vise versa. Other features will still be unique to XP or in RUP. Next figure outline these practices, from [http://txpug.editme.com/files/Lec2004Jul26/rupvagile.1.ppt "Finding Agility -�A comparison of RUP and Agile"], *.PPT .
In the current wiki we will try to test the Agile Manifesto and its related practices relative to design quality. These found to be the comprehensive basis for comparison as it provide the basis Agile methodologies trying to establish over other methods.
Individuals and Interactions Over processes and tools
Requires too much cultural change to adopt
Only works with senior-level developers
Working software Over comprehensive documentation
Lack of structure and necessary documentation
Customer collaboration Over contract negotiation
Can lead to more difficult contractual negotiations
Responding to change Over following a plan
Incorporates insufficient software design
It is a lot of work, I need to put the data I gathered in organizing way, may be by the next submission, so keep around! at least I placed some comics :)
Agile Methodologies' Real Manifesto
XP/Agile's practices are introduced to achieve certain values (Communication, Feedback, Courage, Simplicity, Respect). It is true that these practices will help to provide the best environment for these values to grow. Nevertheless, many of these practices acquire the existence of these values in the project, the company, the management, the individuals, and moreover the customer. Certain enough these values represent moral and professional values that should exist in every social and individual system. Nevertheless, we recognize their variation in every system. Moreover, many of these values might be out of the control as simplicity of the project or the courage of the customer. The author think that is why Agile approach will give even a better results in different area such as R&D or education, see links.
The question will be "Which should exist first the values -the egg- or the Agile methodology -the chicken-."
Conclusion
Agile methodologies provided a framework for software development. These methodologies not mint to be for every project, company and/or person. To gain the promised savings in the documentation, architecture and process, you need more than Agile practices; You will need Communication, Feedback, Simplicity, Courage, Respect existing in your company, project, individuals and in the customer. If you can't achieve these conditions, then you will need to be assisted with more documentations, design and process. Still Agile methodology will provide you with a lot of useful tools, you can pick and match what is suitable for your company, project, customer and personality.
External Links by Side
Arguments *Against* XP
- "Extreme Programming Refactored: The Case Against XP "
- "Questioning Extreme Programming"
- "Extreme Programming vs. Interaction Design"
- "Towards Extreme(ly) Usable Software"
- "The Case Against Extreme Programming"
- "The Agile Method and Other Fairly Tales", *.PDF
- "Kevin Brady Blog"
- "Opinion: Extreme Programming Is Evil"
- "Xp Critique"
- "The Case Against Extreme Programming"
Arguments *Support* XP
- "Are agile methods good for design?"
- "Agile Software Development: Evaluating The Methods For Your Organization"
- "http://agilemanifesto.org/"
- "http://agilesoftwaredevelopment.com/"
Success Stories
- "Breaking the Ice for Agile Development of Embedded Software: An Industry Experience Report"
- "Agile enterprise software development using domain-driven design and test first"
External Links by Field
Programming
Education
- "Extreme Learning"
- "A cross-program investigation of students' perceptions of agile methods"
- "eXtreme Programming at universities: an educational perspective"