The ABCs of XP, RAD, and PSP

[article]

At some point within the XP process, the code typically grows so unstructured or unscalable (or both) that you need to rewrite it. At this point, it makes sense to use a RAD-like process for the redesign. The main RAD component that will help you here is its design phase. Start with a design phase in which you determine how to reimplement the existing product's features, then develop a plan for reimplementing the product iteration by iteration. You can decide whether to use other elements of RAD, such as CASE tools, by considering their benefits and drawbacks on a project-by-project basis.

If you can produce at least a basic design at the beginning of your project, we recommend that you start with RAD, then build into it the most useful practices from XP. For example, you could build into the implementation phase practices such as code reviews, coding standard enforcement, and unit testing. You could also rearrange the development team's work area in such a way that permits developers to engage in pair programming for problem solving and challenging implementation tasks. To further your error-prevention efforts, you could integrate PSP into the process to help developers recognize and prevent their most common coding mistakes.

In my opinion, the key to improving software reliability and reducing development time is not following any particular process, but rather ensuring that your process suits your project and includes practices that aggressively prevent errors. Each error you prevent translates to not just one fewer bug that you need to find and remove later in the project's lifecycle, but hundreds. The more effectively you prevent errors during the development process, the sooner you will be able to release reliable products.

1Error-prevention and static-analysis tools mentioned in the article are developed by Parasoft.

About the author

TechWell Contributor's picture TechWell Contributor

The opinions and positions expressed within these guest posts are those of the author alone and do not represent those of the TechWell Community Sites. Guest authors represent that they have the right to distribute this content and that such content is not violating the legal rights of others. If you would like to contribute content to a TechWell Community Site, email editors@techwell.com.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Nov 09
Nov 09
Apr 13
May 03