Sunday, February 22, 2009

Jumping into the unknown and extreme programming

On Wednesday evening, I dove into extreme or XP programming at the XPDX seminar, Acceptance Test Driven Development http://calagator.org/events/1250456634. In my career as a software tester I had heard about different kinds of programming modes, e.g. Agile Development. I had tested software from the user's perspective, by executing automated scripts, and running test cases at different points of the software development life cycle. However, I did not know about XP and was sometimes lost in a sea of jargon.

So, I asked the person conducting the seminar, Elisabeth Hendrickson, about some resources to find out more about extreme programming. She recommended extreme programming explained: EMBRACE CHANGE, by Kent Beck, http://www.powells.com/biblio/2-0201616416-2 As the reviews on Powell's website reveal, this book is considered a basic primer and authority to the what, how and why of extreme programming. It can be dry at points.

So, I looked online for a short description of extreme programming and a different perspective. I found Extreme Programming: a gentle introduction by Don Wells http://www.extremeprogramming.org/index.html. This distilled 20 pages into one page, easy to follow. I learned, from the site that Extreme (XP) programming is a methodology that measures success by delivering what the customer needs. The philosophy is a response to frustrations with big, onerous software. The XP slant advocates for the customer by underscoring flexibility, communication, feedback, and simplicity. In addition there is a list of helpful resources http://www.extremeprogramming.org/more.html as users have additional questions.

Speaking of additional information on XP, Ron Jeffries has put together a nice site describing XP rules and practices. The site is called XProgramming.com - an agile software development resource, http://www.xprogramming.com/index.htm. Jeffries unites the XP community in his site by posting various articles, listing helpful software tools, and facilitating discussions among the XP experts in the field.

So there is information on another development philosophy, extreme (XP) programming. So what?
Well, this methodology is prevalent in developing software. Understanding this as customers, helps to communicate desired software changes and needs to developers, project managers and testers. Software is integral to daily life, whether it impacts cell phones, locating information on the internet or writing a simple letter. Our effectiveness is, in a way, defined by the software we use. It makes sense to understand extreme programming to better communicate the applications we need tomorrow.

No comments:

Post a Comment