SilverMark news
Test Mentor for VisualWorks Smalltalk V7.2 is now available.
Cincom ships SilverMark's Test Mentor on Cincom Smalltalk CD.

Agile Testing for Java Developers class teaches the best testing practices, patterns, techniques, and tools.
SilverMark's Enhanced JUnit turns your JUnit tests into load tests. Distribute your JUnit tests across multiple threads, VMs and machines.
Test your Java classes and frameworks with Test Mentor - Java Edition.
See how developers and testers can collaborate.
SilverMark and WorkSoft collaborate to run Certify tests on VisualAge Smalltalk applications.
View animated demos of SilverMark products here.
Agile Testing for Java Developers Learn how to use these tools: JUnit, Cactus, EJBUnit, HTTPUnit, Clover, Jester, MockMaker, EasyMock, JFCUnit, Jemmy, Abbot, NoUnit, JUnit-addons, JUnitPerf, Enhanced JUnit, DBUnit, SQLUnit, FIT, FITnesse, WATT, ANT, Test Mentor, and JTest.
Agile Testing for Java Developers Learn how to release better code faster and with less cost and risk through Test-driven development.
Agile Testing for Java Developers Learn how to use lightweight processes such as Extreme Programming to handle change, streamline your development and write better code, faster.
Did you know a SilverMark expert can come to your site and help you design your tests?

Point to scroll:  

 
 

 

Services -> Training -> Extreme Programming (XP) Introduction and Workshop

 

Title:

V205 – Extreme Programming (XP) Introduction and Workshop

Duration:

4 days

Audience:

All team members building solutions using object-oriented technologies and is suitable for managers, programmers, and team leads.

Prerequisites:

None.

Objectives:

The goal of this course is to provide attendees with a working knowledge of the various facets, practices and principals of the Extreme Programming approach. Upon completing the course, students will the have the knowledge to assess how XP can fit into their current development environment, and some basic experience through the course exercises to begin participating in XP activities.

Description:

This course presents an introduction and overview of Extreme Programming (XP). Lectures, demonstrations and short exercises are used to present XP principals and practices.

 

This course is divided into two sections.  Days 1 and 2 are standard classroom instruction days, which include in class lab exercises.  Days 3 and 4 are a workshop tailored to each client.

Outline:

Day 1:  Overview, Planning & Designing

q       XP Overview
XP is a disciplined approach to software development. It was created in response to re-evaluating past software development practices and elevates those that reduce the cost of creating software. It takes commonsense principals to extreme levels and by doing so, creates very efficient, flexible and short development cycles.

o        What is XP?

o        When to use XP?

o        Why another software methodology?

q       Planning
Planning is where any software project begins life. XP uses the principal of “User Stories”, which are expressions by the customers about things that the systems needs to do for them. Release planning takes these stories to estimate the number of programming weeks to implement it. Project velocity is determined by how many stories can be implemented before a given date.

o        User stories

o        Release planning

o        Frequent small releases

o        Measuring “Project Velocity”

o        Iterative development

o        Iteration planning

o        Cross training and moving people around

o        Standing up instead of sitting down during meetings

o        If XP breaks, fix it!

q       Designing
One of the key XP design principals is to always do the simplest thing that will work. Using CRC cards to design the system will enable the team to appreciate object technology, and will allow the entire team to contribute in the design process. One of the important disciplines during the design process is to keep the system uncluttered by focusing on what is scheduled for today, and turn away potential enhancements that tend to creep into the schedule. Developers will need to constantly refactor throughout the project cycle to keep the design as simple as possible.

o        Keep it simple

o        Choose a system metaphor

o        CRC design

o        “Spike Solutions”

o        Keeping out early excess functionality

o        Aggressive refactoring

Day 2:  Coding, Testing,  & XP Cycle Lab

q       Coding
The customer is needed throughout the project, preferably onsite. They are the expert, and all phases of an XP project require constant communication to ensure that the project meets their user stories. The coding principals are often the most “shocking” to developers because they require strict adherence to defined coding standards and pair programming, or the practice of having two developers working on one computer. Pair programming produces much higher quality code, because as one person types, the other is constantly reviewing the code and making strategic recommendations.  Another XP principal that often comes as a surprise is that everyone owns all of the code, any developer can change any line of code to add functionality, refactor or fix problems – no one person becomes a bottle neck for changes. Team spirit and motivation are key to an efficient XP project, as such team members are required to work only 40 hours per week – no overtime!

o        The customer is always available

o        Coding standards

o        Test first

o        Two people, one computer = pair programming

o        Sequential integration

o        Integrate often

o        Collective code ownership

o        Make it work, make it work right, then make it fast – save optimizations till last.

o        Good news, no overtime!

q       Testing
Rigorous testing throughout the project is one of the cornerstones to a successful XP effort. All but the most trivial of code is required to have tests before it can be released to the project. Aggressive testing ensures code stability and constant forward momentum for the project.

o        Create test cases first

o        All code must have tests.

o        All code must pass all tests before it can be released.

o        Every reported bug has a corresponding test

o        Acceptance testing from user stories

q       XP Development cycle review
Experience a mini-XP project and all of the practices from the vantage point of a team member working day-by-day, and iteration-by-iteration. See how the principals work for a simples project, what roles are played, and the benefits of XP in action.

o        Release-by-release

o        Iteration-by-iteration

o        Day-by-day

 

Labs

Each section will have a short, hands-on lab exercise to reinforce the XP principals and practices introduced by that section. The course will end with a more in-depth lab that takes students through a mini-XP project day-by-day and iteration-by-iteration, so they can experience the lifecycle in its entirety.

 

Days 3 and 4:  Workshop

The workshop builds upon the exercises from the first two days.  Each workshop is individually tailored around the client's project.

 

 

 


Home | Products | Services | Company | Contact | Partners | Library | Search |

Copyright © 1996-2004 SilverMark, Inc.