Extreme Programming (XP) method of developing I.S.

4 Mar

As my last blog was all about where agile development came from, this blog will focus on the extreme programming method of agile development. it will look at the different phases and hopefully give you a comparison between traditional methods and agile methods. enjoyūüôā

Extreme programming is probably the most prominant of the agile methods. the very first extreme programming project was started March 6th 1996 . Extreme Programming or XP focuses on customer satisfaction and teamwork, everyone is an equal partner i.e. managers, customers and developers all collborate together.

Extreme programming improves software development in 5 essential ways

  • Communication– XP developers constantly communicate with customers and fellow developers
  • Simplicity– They keep their design simple and clean so as to avoid any complications.
  • Feedback – they receive feedback by testing at every stage.
  • Respect – they respect customers and deliver the system as early as possible so that changes can be made if neccessary. Also because everyone is equal and in a collaborative team, opinions are respected by all members.
  • Courage – XP programmers respond courageously to changing requirements and new technologies

lifecycleXPProjectBeck

the XP  life cycle consits of 5 phases РExploration, Planning, Iterations to release, production, maintenence and death

  • Exploration phase -involves 2 stages
  1. initial requirements modelling – ¬†customers and users meet with the development team to create “user stories”. user stories are extremely important in XP as they provide high level requirements for your system and are a critical input into your planning process.
  2. Initial architectural modelling –¬†¬†identify a metaphor that describes how you intend to build the system.¬†The metaphor acts as a conceptual framework, identifying key objects and providing insight into their interfaces.it does not matter when exactly you develop this metaphor once it is at the beginning ¬†of the project
  • Planning Phase¬†

       It is during this phase that developers paln a date with the customer for the first set of user stories to be implemented. Modelling is an important part of this phase. Normally a task card is drawn up, this is a written list of what needs to be done to complete the task. however sketches can also be drawn up  and then they are transferred to an index card so to have a record of your design to base your coding efforts on during the next iteration.

taskCardSketch

example of a sketched task card .

  • Iterations to release Phase

this is where your major development efforts including modeling, programming, testing, and integration occur. In Iteration planning  the focus is on the user stories assigned to the current iteration.  When you are working on iteration  you will find that new user stories, ones that have not been estimated, have been added in therefore you need to go through the effort of identifying tasks so you may accurately estimate each user story.  After estimating the new stories, and perhaps revisiting the other stories just to be on the safe side, you may find that you have too many or too few stories for the iteration and will need to move stories to/from other iterations.

Pair programming –¬†this is a big part of the XP development. people work in pairs. throughout the production of the system 2 programmers sit side by side at the same machine, this ensures that everything is gone over by not 1 but 2 programmers and it is provent that pair programming produces better codes than programmers working on their own.

  • Production phase¬†

during this phase it is essential you slow down the rate at which ypu evolve the software because it is extremly important that the right things go into the next release. the system is tested and the performance of the system is checked before release. New changes may be introduced here , however they would have to be implemented quickly. it is also a good idea during this phase to look at ypur documentation and clean it up for users if needed.

  • Maintenance phase¬†

this phase is to ensure that the system is being used correctly and that is works well. an effort for customer ssupport has to be made here, it is vital that a system is maintained and to do this users need to know what they are doing – this is why documentation and also user involvement during development is crucial. if a system is not maintained then the development of it was a waste of time.

  • Death phase¬†

This occurs when customers have no more stories to implement, customer needs are met. all neccessary documentation is written in this phase. this phase may also occur if a development has to be abandoned because of it being too expensive to further development or desired product is not being delivered .

so those are the 5 phases of the XP model …….below is a video on the strengths and weaknesses of extreme programming , i just thought it might be helpful ….hope you like itūüôā

references 

            

5 Responses to “Extreme Programming (XP) method of developing I.S.”

  1. sad111708665 March 8, 2013 at 1:07 am #

    …it was good to read your blog; I did XP also and didnt know some of the points that you highlighted, so ive learned something from your blog…thank youūüôā

  2. sad112540853 March 8, 2013 at 1:21 am #

    great blog and the links were very helpful and i really enjoyed the YouTube clipūüėÄ

  3. sad111462698 March 8, 2013 at 10:35 am #

    good blog … this could be great revision for the summer exam

  4. sad111510567 March 9, 2013 at 1:14 pm #

    Very informative blog. Easy to read with lots of information. The video and diagrams also made it easier to understand. Great Blog!

  5. sad111505863 March 11, 2013 at 2:24 pm #

    tanx for all the commentsūüôā

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: