goals for presentation explain the basics of software development methodologies explain basic xp...
TRANSCRIPT
![Page 1: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/1.jpg)
![Page 2: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/2.jpg)
Goals for Presentation
• Explain the basics of software development methodologies
• Explain basic XP elements
• Show the structure of an XP project
• Give a few simple examples
![Page 3: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/3.jpg)
![Page 4: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/4.jpg)
![Page 5: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/5.jpg)
Common Breakdowns
Problem: This isn’t what I wanted….
Problem: Six months of meetings and we have nothing to show for it…
Problem: When we went to install this, we found out this will need to be done in Perl. Is that a problem?
Problem: We just had this great idea. Forget what we told you last time. . .
![Page 6: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/6.jpg)
Software Methodologies Formally Address…
• Requirement Analysis – Specifying what it needs to do
• System Design – Specifying how it will do it• Implementation Techniques - Specifying when it
will do it• Deployment strategies – Specifying where it will do
it
… Providing techniques to accomplish each.
![Page 7: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/7.jpg)
Making this connection is requirement analysis. It is where most projects fail. It is the hardest job for most programmers. Methods for this are critical!
![Page 9: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/9.jpg)
• Evolutionary – Assumes customers will change their minds.
• Light-weight – Minimizes excessive documentation• Fast – Produces tested software in 1 to 2 week
cycles• Rapid Assessment - Customers are activity involved
in all phases.
Hence, the term Agile
![Page 10: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/10.jpg)
From the web site http://www.extremeprogramming.org/ It is an excellent resource and I strongly recommend reviewing it.
![Page 11: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/11.jpg)
XP Element – User Story•They are a one to three sentence description of how the customer envisions using the system.•They are written by the customer.•They are written on 3” x 5” card.•The programmer assigns a time estimate to it in terms of ideal programmer weeks. •They are written in the language of the customer and not in programmer techno-jargon.
Note that no lengthy requirement document is produced.
![Page 12: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/12.jpg)
XP Element – User Story
Some pages trigger the login mechanism and some don’t.
The list of pages that do/don’t is dynamic.
And the mechanism is triggered once per session.
One day
Taken from Extreme Programming in PracticeBy Newkirk and Martin
![Page 13: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/13.jpg)
XP Element – Acceptance Test• The customer must supply an acceptance
test for each user story.• It is detailed scenario that will determine
whether the user story is operational.• The customer is responsible for verifying
accuracy.• All acceptance tests are run whenever the
system is changed in any way. Hence they should be automated.
![Page 14: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/14.jpg)
XP Element – Acceptance TestAutomated testing is facilitated through unit test software.
Many packages to do this are on sourceforge.
A nice summary is found at
http://c2.com/cgi/wiki?TestingFramework
![Page 15: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/15.jpg)
XP Element – Spike
• A small, simple program written to resolve uncertainty.
• Normally done to improve an time estimated associated with a user story.
• Expect to throw the effort away.
• Try not to spend much time doing it
![Page 16: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/16.jpg)
User Story Summary
Customer Programmer
Writes Story
Specifies AcceptanceTest
Verifies AcceptanceTest
Provides Estimate Spike
![Page 17: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/17.jpg)
XP Element - Velocity
• The velocity of a set of user stories is the sum of the estimates, which is given in terms of ideal programmer weeks.
• The velocity of an individual is the number of ideal days per real days. (For example, velocity = ½ means it takes two real days to do an ideal day.)
![Page 18: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/18.jpg)
Project Structure
• Each Project is subdivided into a series of Releases. Typically a release is of 1 to 3 months.
• Each release is sub-divided into Iterations. Each iteration is 1 to 3 weeks.
• Velocity is held constant.
![Page 19: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/19.jpg)
XP Element – Release & Iteration
Customer Programmer
Determines User StoryPriorities
Selects user storiesWithin the constraint
Determines Release Duration
Determinesvelocity
Limits number of user stories
![Page 20: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/20.jpg)
XP Element – Release & Iteration
Iteration duration: 1 real weekRelease duration: 3 iterations or 3 real weeksIndividual velocity: 1/3 ideal days per real dayPair velocity: 2/3 ideal/real
15 real x 2/3 ideal/real = 10 ideal days allowed for the release roughly 3 ideal days for each iteration
Always work in pairs
No overtimeAllowed
!
![Page 21: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/21.jpg)
XP Element - Task• The user stories selected for an iteration are broken
down into programming tasks.• These tasks are written on index cards like user
stories.• Tasks are written by programmers in the language of
programmers.• Programmers are allowed to select their own tasks.• A time estimate in ideal days is assigned to each task
by the programmer who selected it.
![Page 22: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/22.jpg)
XP Element – Task Registration Servlet Task
Pull data from HTML input.If e-mail present in database go to “forgot password” screen.Else Generate password. Insert user into database. E-mail password to e-mail then go to login screen.
Jim 4 hours
Taken from Extreme Programming in PracticeBy Newkirk and Martin
![Page 23: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/23.jpg)
XP Element –Iteration & Task
Customer Programmer
Determines User StoryFor iteration
Moves user stories toNext iteration, if needed
Determines Programming Tasks
Estimates time on task
Estimates iteration velocity
There are two time estimates for an iteration:
user story view & task view
![Page 24: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/24.jpg)
Writing the Code
• Unit tests are written first.
• All programming is done in pairs. Two people work on a shared computer.
• Only one pair integrates at a time.
• No overtime!
![Page 25: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/25.jpg)
Testing the code
• All code must have unit tests based on the acceptance tests.
• All code must pass unit tests before it can be released.
• Errors lead to new unit tests.
• Acceptance test scores are published.
![Page 26: Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few](https://reader036.vdocuments.us/reader036/viewer/2022062515/56649f525503460f94c76d29/html5/thumbnails/26.jpg)
From the web site http://www.extremeprogramming.org/ It is an excellent resource and I strongly recommend reviewing it.