Saturday, March 30, 2019

The History Of Extreme Programming

The History Of native programExtreme Programming (XP) is a package engineering methodology that has been formu posthumousd in 1996 by Kent Beck. It is a lightweight development methodology, XP is sensation of several popular agile processes. XP has acquire fair media attention, and is roughly renowned for its practices that argon some convictions regarded as controversial, such as pair programming and test-driven development. It has already been proven to be real successful beca engross it reaches to the customer satisfaction. Instead of delivering e genuinelything at the same time the XP guidance on some date far in the future, this process delivers the computer softw be you need as you need it, in different words Extreme Programming empowers the developers to confidently respond to ever-changing customer requirements, even late in the task development life cycle. The philosophy of Extreme Programming is teamwork, in former(a) words Managers, Customers and Developers a r all equal partners in a collaborative team. The implement is simple regarding Extreme Programming, yet impressive environment enabling teams to become productive.XP is built on four valueCommunication Extreme programmers constantly communicate with their customers and fellow programmers.Simplicity The carry on their forge simple and clean.Feedback They get feedback by testing their software package scratch line on day oneCourage/ Respect They deliver the dust to the customers as early as possible and implement changes as suggested. all keen success deepens their respect for the unique contributions of each and e really team member.The main differences with Extreme Programming is that it accepts that humans are imperfectand builds a process that not barely accepts progressive elaboration, but makes this reality a central theme to all of its other practices. in that respect is also intuition that the proscribed practices in the real world can be very challenging, to over come this difficulty the practices interlock and complement each other.With this joyrides that have been keep the Extreme Programming are able to courageously respond to changing requirements and technology.Figure1 Extreme Programming Over take in1 http//www.extremeprogramming.org/12 practices of Kent Beck used in an XP projectThere 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) preparation GameThis is focused on determining requirements details. The customers and developers are some(prenominal) part of this. In a planning game the customers and the developers sit in a room together. They make plans for software releases and iterations together, identifying each role clearly. Planning game involves the making of story cards from each users point of view and splitting each story into task cards for individual developers and then they make plans that take into consideration the volume of work and the schedule ground on these cards.2) Small ReleasesIn small releases developers put quickly a simple ashes into production, and then release new versions in a very short time.3) MetaphorIn metaphor, developers in the team plow story or understandings about how their programs work.4) Simple DesignThe dust should be designed as simply as possible at some(prenominal) given moment. Keep canon simple and extra complexity is withdraw as soon as it is discovered. Always keep in consciousness the principle of YAGNI (You arent going to need it).5) TestingProgrammers continually write unit tests, which must run flaw slightly for development to continue.Customers define test cases for transcription releases.6) RefactoringWithout changing their behavior, improve the internal structures of programs.7) Pair ProgrammingProduction inscribe which is actually used in the final product, is written with the celebra tion of ii programmers at same machine.8) Collective OwnershipProgramming code is the airscrew of few programmers it owned by the team collectively, and anyone can change code anywhere and at anytime.9) Continuous IntegrationIntegrate and build the arranging many times in a day, every time a task is use.10) 40-hour WeekThis is the rule of XP that no work more than 40 hours. Never work overtime a second week in a row.11) On-site CustomerIn solely project accommodate a real, live user on the team who is available fulltime on site to answer questions.12) Coding StandardsProgrammers write common rules to standardize label styles in the team.XP has 4 basic activities, coding, testing, listening and designing, which are conducted by five-spot major roles, programmer, customer, tester, tracker, and coach.Iteration is a key concept in XP. The time constant in the different 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) examine devil methodologiesComparing two methodologies requires some form of empirical studies, The role model used is a combination of 2 established frameworks, one is Zachmans which consists of the 6 categories what, how, where, who, when and why and the second 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 table I combine the frameworks an an order to utilize the strengths of both(prenominal)zechmanChecklandwhatTransformationwhy?World viewwhen where?Environmenthow?who?Client, Actor, Owner1) What?The sharp-witted Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation. The Rational Software Corporation was acquired by IBM in 2003. RUP is a thick methodology the whole software design process is described with high detail. RUP has evolved in conjunction with the Unified theoretical account 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 medium coat software development teams. XP is intended to meet the demands of a context with unclear and vaporizable requirements. XP is not a commercial 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 terminus a adept management scene patch XP is uses in development staff. RUP describes the whole software design process with highdetail RUP is a very complex methodology and is difficult to comprehend for bothproject managing directors and project members. Therefore, it is not the most appropriate 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) FinancialFinancial 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 docume ntation package then it is available to use while XP offers the freeware solution and open to use for everyone, which is financially an advantage.2.2) Technical perspectiveWhen we compare these 2 methodologies from technical perspective, RUP provides the organization a large criterion 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 ever 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 availability on the other hand larger software development companies take interest to purchase 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 exhibit 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. police squadXP rolesRUP rolesCustomer teamCustomerRequirements specifierSystem analystProject managerTrackerTesterTest analystTesterTest system executiveDevelopment teamProgrammerImplementer Designer IntegratorSystem executiveCoachIn 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.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.