Monday, June 3, 2019
The History Of Extreme Programming
The History Of Extreme computer programingExtreme Programming (XP) is a softw ar engineering methodological analysis that has been formulated in 1996 by Kent Beck. It is a lightweight development methodological analysis, XP is one of several popular agile processes. XP has received fair media attention, and is most renown for its practices that argon sometimes regarded as controversial, such as pair programming and test-driven development. It has already been proven to be very successful because it reaches to the customer satisfaction. Instead of delivering everything at the selfsame(prenominal) time the XP focus on some date far in the future, this process delivers the software you need as you need it, in other delivery Extreme Programming empowers the developers to confidently respond to changing customer requirements, even late in the project development life cycle. The philosophy of Extreme Programming is squadwork, in other words Managers, Customers and Developers are all eq ual eruptners in a collaborative team. The implement is elementary regarding Extreme Programming, yet effective environs enabling teams to become productive.XP is built on four valuesCommunication Extreme programmers constantly communicate with their customers and fellow programmers.Simplicity The keep their throw simple and clean.Feedback They get feedback by testing their software starting on day oneCourage/ Respect They deliver the system to the customers as early as possible and implement changes as suggested. Every small success deepens their respect for the unique contributions of each and every team member.The main differences with Extreme Programming is that it accepts that valet de chambre are imperfectand builds a process that not that accepts progressive elaboration, but makes this reality a central theme to all of its other practices. in that respect is also recognition that the proscribed practices in the real world can be very challenging, to overcome this diffi culty the practices interlock and complement each other.With this tools that take a leak been mention the Extreme Programming are able to courageously respond to changing requirements and technology.Figure1 Extreme Programming Overview1 http//www.extremeprogramming.org/12 practices of Kent Beck used in an XP project at that place are strong relationships between XP and its practices. Without practices its not XP, and without practicing the practices of XP it cannot deliver benefits.Figure2 Dependencies between the 12 practices of XP1) Planning GameThis is focused on determining requirements details. The customers and developers are both part of this. In a planning game the customers and the developers sit in a room together. They make plans for software push buttons and iterations together, identifying each role clearly. Planning game involves the devising of story cards from each users point of view and splitting each story into task cards for individual developers then they ma ke plans that take into favor the volume of work and the schedule based on these cards.2) Small ReleasesIn small releases developers put quickly a simple system into production, and then release new versions in a very short time.3) MetaphorIn metaphor, developers in the team share story or understandings about how their programs work.4) Simple figure of speechThe system should be designed as simply as possible at any given moment. Keep code simple and extra complexness is removed as soon as it is discovered. Always keep in mind the principle of YAGNI (You arent going to need it).5) TestingProgrammers continually write social unit tests, which must run flawlessly for development to continue.Customers define test causas for system releases.6) RefactoringWithout changing their behavior, improve the internal structures of programs.7) Pair ProgrammingProduction code which is in reality used in the final product, is written with the celebration of two programmers at same machine.8) C ollective OwnershipProgramming code is the property of few programmers it owned by the team collectively, and anyone can change code anywhere and at anytime.9) Continuous IntegrationIntegrate and build the system many times in a day, every time a task is implemented.10) 40-hour WeekThis is the rule of XP that no work a good deal than 40 hours. Never work overtime a second week in a row.11) On-site CustomerIn whole project include a real, live user on the team who is available fulltime on site to answer questions.12) Coding StandardsProgrammers write common rules to standardize coding styles in the team.XP has 4 basic activities, coding, testing, listening and designing, which are conducted by five major roles, programmer, customer, tester, tracker, and coach.Iteration is a key concept in XP. The time constant in the diametric iterations range from seconds to months.Figure3 Planning/feedback loops in XP23 http//www.acis.org.co/fileadmin/Curso_Memorias/Curso_CMMI_Sep06/Modulo%202% 20-%20Product%20Engineering%20/xp_rup.pdf(Article Analysis of the Interaction between Practicesfor Introducing XP Effectivel by Osamu Kobayashi and Mitsuyoshi Kawabata)Comparing two methodologiesComparing two methodologies requires some form of empirical studies, The framework used is a crew of 2 established frameworks, one is Zachmans which consists of the 6 categories what, how, where, who, when and why and the 2nd one is Checklands framework is called CATWOE and has six other categories. CATWOE is the abbreviation of Client, Actor, Transformation, World view, Owner, Environment.In the following elude I combine the frameworks an an order to utilize the strengths of bothzechmanChecklandwhatTransformationwhy?World viewwhen where?Environmenthow?who?Client, Actor, Owner1) What?The Rational Unified Process (RUP) is an repetitious software development process framework created by the Rational Software Corporation. The Rational Software Corporation was acquired by IBM in 2003. RUP is a thick methodological analysis the whole software design process is described with high detail. RUP has evolved in conjunction with the Unified Modeling Language (UML). RUP is designed for large software projects.On the other hand XP has its origins in practical applications in projects during the 1990s it is formulated by Kent Beck. XP is a lightweight methodology and used for small to long suit coat software development teams. XP is intended to meet the demands of a context with unclear and volatile requirements. XP is not a commercialised methodology unlike RUP.The origin of RUP and XP are similar. Both methodologies based on experience from software engineering and are evolved during the same decade, although RUP is bit older in age.There are two different underlying philosophies behind RUP and XP. RUP takes to a large extent a technical management scene while XP is uses in development staff. RUP describes the whole software design process with highdetail RUP is a very co mplex methodology and is difficult to comprehend for bothproject managers and project members. Therefore, it is not the most let software design methodology for most small projects. While XP is originally designed for small to medium sized projects,The distribution of the methodologies is different RUP is a commercial product, no open or free standard. Before RUP can be used, the RUP has to be bought from IBM as an electronic software and documentation package while XP is freeware methodology and every one can use it freely.2)Why?I analyze advantages and disadvantages of RUP and XP from different perspectives like what is the financial, technical and social aspect of these methodologies on each other.2.1) fiscalFinancial issues of both RUP and XP are different. Rup is a commercial product not open or free standard and owned by IBM, one should buy RUP from IBM as an electronic software and documentation package then it is available to use while XP offers the freeware solution and o pen to use for everyone, which is financially an advantage.2.2) Technical perspectiveWhen we analyse these 2 methodologies from technical perspective, RUP provides the organization a large amount of development tools and documents. It is delivered online via the web, and updated in new releases, all information about the software development methodology is available at the project members fingertips. Also, the newest version of RUP is always present on the computer of each team member. On the other hand XP leads to simplicity it is more user friendly, it is not specific to a single tool but its depends on the user choice that which tool he wants to use and which to reject.2.3) Social perspectiveThe social perspective of RUP and XP are also related to the commercial versus freeware discussion. The selection on of methodology is depends on the software development company requirements and needs. Small and medium size software development companies like to use XP because of its free a vailability on the other hand larger software development companies take participation to buying software licenses, and hence buying licenses for methodology is quite natural.ExtentRUP includes a large amount of formal process paperwork, role description and documentation etc it is also because of these properties called heavy weight or thick methodology while XP is very lightweight or thin methodology, both in its presentation and in the practical applications. The following table shows the difference in extent of the RUP and XP, there all the roles of an XP project are presented, with their counterparts in RUP, constituting a small subset of the RUP roles. In total, RUP comprises more than 80 major artifacts, 150 activities and 40 roles.TeamXP rolesRUP rolesCustomer teamCustomerRequirements specifierSystem psychoanalystProject managerTrackerTesterTest analystTesterTest system administratorDevelopment teamProgrammerImplementer Designer IntegratorSystem administratorCoachIn summary , RUP is a much more extensivemethodology than XP, for good and for bad.2http//www.acis.org.co/fileadmin/Curso_Memorias/Curso_CMMI_Sep06/Modulo%202%20-%20Product%20Engineering%20/xp_rup.pdfProject driversRUP is use case driven, i.e. descriptions of use of thesystem are implemented, and continuously integrated andtested. XP applies test-driven design, i.e. test case arederived and implemented before the code is written. XPhas user stories to guide what to implement. These userstories are less extensive descriptions, compared to theRUP use cases, where the complete scenario for theinteraction between the user and the system is defined.Regarding planning, both methodologies agree on thata complete project cannot be planned in detail. RUPproclaims continuous changes in the plans, while XPadvocates planning only the very near future in detail.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment