ObjectLab XP Development Workflow
ObjectLab has extensive experience in applying best-of-breed open source tools to integrate build process.
As part of this offering, ObjectLab will attend your premises and install all the tools required to fully
automate the XP process. Where applicable the appropriate licences will be acquired on your behalf.
The ObjectLab XP Development Workflow is:
- Set of tools and processes to facilitate quality XP code development
- E2E tools employed to fully automate workflow, continuous (near time) documentation, build, integration, test, configuration management, document control and bug/issue integration
- Toolset integration developed and refined over a 2 year period
- A quality monitoring toolset that collects data over time and enables project managers and architects to 'get a feel' of the progress (Learn more about this unique proposition)
- Toolset and process proven on multiple projects
The main tools include:
- A build tool that will provide a standard build mechanism without imposing undue restrictions upon the developer.
- An email server (ObjectLab could use any server as long as it supports SMTP).
- A version control system. ObjectLab could use a pre-installed version of CVS but would have to tailor it to suit the process as long as it is installed under Linux.
- A bug-reporting tool that will be integrated with the version control system and email server.
- An automated, real-time build process that will keep the build up-to-date and report to developers automatically.
- A suite of tools to enhance and monitor the quality of code, as well as the complex settings to minimise disruption and providing a standard for coding.
- A suite of tools that collects data revealing code quality and displays it over time, allowing it to be monitored by architects and project managers. The reports are very readable and can often be consolidated into charts (see examples)
Additional Quality Related Tools:
- A code formatter used by developers. ObjectLab has invested a lot of time rationalising and refining such a format.
- Tool for unit testing. This is required for any XP environment, but the tests are now automated and cover a lot more than just unit testing; ObjectLab has co-developed a tool to test (unit or functional testing) a website or a swing GUI in an automated manner. We also have performance and xml test frameworks for automation and finally we have integrated some tools to test the tests!
- Tool to check the code against a series of coding standards, coding quality, J2EE verification and usability. ObjectLab has enhanced this tool and configured a comprehensive series of checks. This is generated automatically.
- Tool to check the structure of the code and detect code complexity and stability as well as dependencies. ObjectLab is able to explain the rationale and how to detect issues. This is generated automatically.
- Tool to monitor developer productivity and work profile, based on the version control system. This is generated automatically.
- Tool to size the application, its modules and the number of changes to them. This is generated automatically.
- Tool to detect poor design and re-use by copy/paste; this is a problem that can be left undetected for months, until an issue or bug is found and the fix for it is a nightmare. This is generated automatically.
- Tool to document the code. This is generated automatically.
- Tool to maintain UML class diagrams in total synchronisation with the code. This is generated automatically.
- Tool that automatically documents the building tools.
- Tool that compiles developer's notes left in the code itself.
- Tool that compiles a list of differences between versions so that the project manager can judge the impact of any up-coming release. This is generated automatically.
- Tool that will measure the effectiveness of the test code by automatically measuring the lines of code that have actually been tested versus those that have not. This will give a clear indication of progress and sense of completeness.
- Tool that cross references the source code, the documentation, the bug reports and version control history. No anomalies will go unnoticed.
- Tool that packages everything mentioned above and presents it on a development portal. ObjectLab spent a significant amount of time refining this.
Code Development Process Associated With the Toolset:
- Present the suite of tools, their rationale, how to use them and how to interpret their output.
- Present the steps for a developer to take, from creating a class to documenting it (with minimum impact), integrating code into the automated build, utilising the statistics and checks to ensure maximum quality. Emphasis will also be given to testing.
- Present the team leader and project manager with the metrics and items to pay attention to in order to detect any deviation from the process quickly and effectively.
- Make the case by example for a quality-driven team and set the parameters of success for a fast-moving, delivery-focused environment.