Extreme Programming (XP) is such a methodology so that either you do all of XP or none at all. There is no in-between thing. But all of the utopian theory of XP may not be true in all cases. I interacted with many Project Managers due to the nature of my profession and I found some of the major difficulties for the implementation of XP project.
- Extreme Programming is hard to do. You may have difficulty to get many developers accept this practice, and it takes a lot of discipline to keep doing them all. Your customers may not like the idea of so much involvement. Management may also find problems to get used with the practice that changes dynamically during the project life cycle.
- XP team does not believe the idea of fixed price, fixed scope kind of terms with the customer. Other processes are more likely to encourage the creation of detailed planning from the beginning.
- XP encourages pair programming. There may be a huge amount of duplication of codes that clubs with unit test. As a result, it is going to take long time to run and leave the database with lot of duplicate data.
- XP is code centric rather than design centric development. The lack of XP design concept may not be serious for small programs. But, it can be problematic when programs are larger than a few thousand lines of code or when many people are associated with the project.
- XP does not measure or plan Quality aspect of development. Managers for the big project believe that quality planning helps properly trained teams produce high-quality products.
- Another basic problem is that software today are very large and complex by nature. My practical experience is that it is hard to design by using incremental method that XP practises.
- XP emphasizes on refactoring during software development process. But, as far as my experience goes, too much refactoring may not be that important all the time and can be a waste of time rather than being productive in positive sense.
- Since, XP programming is not structured, it may be difficult to find significant number of defects for testers by just mere looking at the screen. On the contrary, traditional programming enables testers to find improved number of defects because it is well documented. That’s what I witnessed in a couple of mid sized projects at our company.
Filed under
Enterprise Software,
Extreme Programming | Tags:
Cases,
Pair Programming,
Refactoring,
software design,
Software Quality,
Waterfall,
xp | Comment Below
Related?
Role of Quality Assurance in Extreme Programming (XP) EnvironmentApril 26th, 2009 Extreme Programming (XP) does not have a separate Quality Assurance (QA) team or role. Usually, the programmers perform unit testing, and either the programmers or the customer carries out acceptance testing. The QA team is associated with the project from the very beginning.
Top 10 Benefits of Extreme ProgrammingMarch 29th, 2009 Extreme Programming (xp) is a methodology for software development. The key concept is that it works by bringing the whole team of your company together. The core idea of XP is Agile programming that is fast and flexible and Iterative development.
A Brief Introspect of Agile Methodology for Software DevelopmentMay 29th, 2008 Overview:
Agile method attempts to minimize risk and maximize productivity by developing software in short iterations and deemphasizing work on secondary or interim work artifact. Scrum and Extreme-programming (XP) are two of the most popular agile methods.
Top 8 ways SCRUM Differs from XP and Why it MattersApril 15th, 2009 Both XP and SCRUM are derived from Agile methodology but with a slight different principle and practices. When you work in a software development team, both of the above methodologies are so close that you may get confused which one you are in. Different people provide different opinion about the differences between the two methodologies.
5 Disadvantages of Hosted Solution Over In House SolutionDecember 29th, 2008 The hosted market, which uses an application service provider (ASP) model of hosting software for customers, has been major talking point in the past year, and many companies have started moving to hosted offerings from their traditional in house software. But, there are also some disadvantages of using Hosted solution.
IBM Introduces Data Lifecycle Management ToolsOctober 28th, 2008 Most of the enterprises, currently, are concerned about Data Storage because it involves huge cost and overhead. Data Lifecycle Management(DLM) solution provides a way so that less critical data can be classified and move to a tiered storage infrastructure.
Java Plays an Important Role for Application Development Among the Top 50 Enterprise VendorsJuly 13th, 2009 As per the latest report of AMR research, major Enterprise Vendors in the top category are building application with Java as the core programming language. It further said that SAP and Oracle ranked number one and number two Enterprise Vendor with $16 bill and $8.6 bill revenues respectively.
Sun Announces Open Source Solaris Operating SystemMay 5th, 2008 Sun Microsystems has released Solaris as open-source software. This is a step to counter the dominance of the rivals Red Hat, IBM and Microsoft.