Docstoc

Cover

Document Sample
Cover Powered By Docstoc
					Adoption of XP in web
application projects
                            www.vasoftware.com


                   Mark Striebeck
                   Engineering Director
                   VA Software Corp.
                   mstriebeck@vasoftware.com

                   May 12, 2004
Case: Rewriting SourceForge in J2EE
                                                     www.vasoftware.com




 SourceForge Enterprise Edition is commercial version of
 sourceforge.net
 ~ 500,000 LOC
 50 man years development
 Initial plan – Phased approach:
    Prototype (Q2/2002)
    Framework requirements (Q3/2002)
    Framework implementation (Q4/2002 – Q1/2003)
    Application requirements (Q4/2002 – Q1/2003)
    Application implementation (Q2/2003 – Q4/2003)

 Roadblock: Product Management could not deliver
 application requirements in time (End 2002)
 Alternative: Iterative Method – XP
Adopting XP: The Cortez Method
                                  www.vasoftware.com




               “Burn the boats”
The Cortez Method
                                            www.vasoftware.com




 Do not try to keep legacy processes and
 documents alive
   Monolithic requirement documents
   Big design documents (which are outdated
   the day after development starts)
   Code reviews
   Written testing scripts and extensive manual
   tests after development
 XP’s 12 practices address all these but in
 a very different way – TRUST!
Courage!
                                     www.vasoftware.com




 XP will slow down coding BUT accelerate
 development
 Advantages of XP are NOT seen upfront
 but down the road (higher quality, no
 integration phase, redesigns possible)
Process Challenges
                                                  www.vasoftware.com




 The XP process seems counterintuitive and
 conflicts with traditional Software Development
 methodologies
   Onsite / fulltime customer
   User Story based requirements
   Test-Driven development (acceptance tests upfront!)
   Pair programming
   Constant Acceptance Testing

 Difficult to get used to – needs constant
 reminders
 Don’t try to fix XP process by avoiding XP
 practices
Technical Challenges
                                    www.vasoftware.com




 Continuous Integration
 Automated Tests
 Constant (merciless) Refactoring
Technical Challenges – Web-based
applications
                                             www.vasoftware.com




 HTML applications are not build from OO toolkits
 Separate presentation logic from business logic
 in presentation layer
    Use CSS excessively
    Create or use templating framework
 Need testing framework that only tests logic but
 not presentation
    HttpUnit
    JWebUnit
Resources
                                                                                www.vasoftware.com




Build tools
    Ant                       (http://ant.apache.org/)
    CruiseControl             (http://cruisecontrol.sourceforge.net/)
    Tinderbox                 (http://www.mozilla.org/tinderbox.html)

Testing tools
   Cactus                     (http://jakarta.apache.org/cactus/)
   JUnit                      (http://www.junit.org/)
   JWebUnit                   (http://jwebunit.sourceforge.net/)
   HttpUnit                   (http://httpunit.sourceforge.net/)

Interesting Knowledge Sources
    Continuous Integration
                    (http://www.martinfowler.com/articles/continuousIntegration.html)
    Wards Wiki                (http://c2.com/cgi/wiki?ExtremeProgramming)
    XP Mailing List           (http://groups.yahoo.com/group/extremeprogramming/)

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:1
posted:7/15/2012
language:
pages:9