In this chapter, we will learn about some tools used in Extreme Programming.
ExtremePlanner is a browser-based Agile Project management solution that is designed specifically to support Agile methods including Scrum and Extreme Programming.
ExtremePlanner concentrates on planning and tracking the progress of features (or user stories) that have actual business value to customers.
The key features of ExtremePlanner are −
Supports the whole team including project managers, developers, QA, tech support, and stakeholders.
Estimates and plans software releases with drag and drop ease.
Manages features, defects, test cases and development tasks in one place.
Has an integrated issue tracking to manage customer requests from start to finish.
Provided the latest changes with email notifications and project activity reports.
For more Information − www.extremeplanner.com
PPTS is a Web-based environment supporting teams who have chosen to develop Software according to the Agile Methodologies Scrum and/or Extreme Programming.
PPTS functionality includes −
Administration of project, iteration and resource attributes
Product backlog that can be prioritized
Work breakdown structure (sprint backlog)
Metrics (velocity and estimated/spent effort)
Burndown and progress charts
Fine grained access to information based on overall role (administrator or user) or role in project (project leader, developer or customer)
Customization of menus and language (both English and Dutch available)
Interfacing with PR/CR tools
For more Information − http://ses-ppts.sourceforge.net/
Targetprocess is a Visual project management software that enables you to visually manage complex work and focus on the things that matter.
Targetprocess gives the visibility and transparency you need across your organization. From Kanban and Scrum to almost any operational process, Targetprocess flexibly adapts to your management approach and organizational structure.
Targetprocess provides −
Boards for planning and progress tracking. Board view gives many options to handle a large amount of cards seamlessly.
Boards that can be shared with any person to broadcast information outside. They are flexible.
Multiple cards can be moved with drag and drop.
Lists for project hierarchy and manage backlogs with ease.
Full customization, inline edit and beautiful design.
For more information − www.targetprocess.com
Plone Extreme Management tool provides project administration which supports the Extreme Programming methodology.
Plone Extreme Management tool provides −
Content types −
Project − Project Managers can add multiple projects. For each project, iterations and stories can be added by both the customers and employees.
Iteration − The project will be planned with iterations. An iteration is a period of 1 to 3 weeks in which a number of stories will be implemented.
Offer − Contains the stories that a customer wants in this project. It is used as a way to bundle the wishes of the client and give a first indication of the size of a project.
Story − The customer can define new features by describing these feature in a story.
Task − The employees can estimate the story by defining tasks.
Booking − While working on tasks the employees can track time and easily book those at the end of the day.
The following table gives a list of tools for Java developers for related activities.
|Java Extreme Programming Tools||Activity|
|Maven and AntHill||Project management and continuous integration.|
|Ant and XDoclet||Automated building and continuous integration.|
|AntHill and CruiseControl||Automating continuous integration .|
|IntelliJ Idea, Xrefactory, DPT, Jfactor, Jrefactory||Java refactoring.|
|JUnit||Automated Java testing.|
|Cactus||Automated Servlet, JSP, and other J2EE testing.|
|Jemmy, JFCUnit, and Abbot||Automated swing testing.|
In lines with Java, .Net has NAnt, NUnit, CruiseControl.NET. Visual Studio has many refactoring tools.
If you are planning to adopt Extreme Programming in your organization, first you select a project suitable for Extreme Programming and a team. Get an experienced coach. Get the team accustomed to the Extreme Programming practices, estimation and team communication.
Initiate the project with the minimal essential Extreme Programming rules for the project. Allow the rules to evolve for better implementation. Take into consideration the synergies across the Extreme Programming practices. Allow sufficient time for the team to scale the learning curve. Manage the team culture and change.
It is advised to take an internal project at first. Once you successfully implement that project, you will have the team and the management to stand by you for the extension to other suitable projects.