Agile XML Schema Development
STAR data architects participated on a panel at the XML 2006 Conference, in Boston MA, on December 5, 2006. STAR discussed how to apply agile development methodologies and project management techniques to XML Schema development. The presentation and paper are available for download.
- The presentation? is a very high level overview and covers the benefits STAR has realized.
- The paper? goes into greater detail on topics like unit testing, continuous integration, and automated builds. It also contains numerous references to other agile sources where more information about agile development can be found.
The process of developing document specifications using schema languages can take years to complete. Most organizations that are building industry specifications for business-to-business document exchange are following a waterfall methodology. The problem is that by the time the schema representations have been developed, the business requirements have changed. This leads to further delays of a specification as new requirements are analyzed and added to the schema. To reduce the delay and increase the accuracy of the schema for the document exchange, an Agile Development approach is needed. This approach can greatly benefit anybody that is developing schema or implementing a schema specification.
An Agile Development approach to developing XML Schema specifications can lead to an overall reduction in the amount of time from initial requirements gathering to final production of the schema. By implementing the concepts of continuous integration, test first development, unit testing, iterations, and user acceptance tests, the accuracy of the final schema specification is more likely to meet the end user's need. End users should be involved in user acceptance testing of the schema, and milestone and release candidate builds are needed to allow early verification that the requirements are being implemented as specified. Agile Development methodologies when applied to schema development allow for fewer errors and the identification and implementation of new requirements sooner.
By implementing an Agile Development process initially based on Extreme Programming, STAR XML Data Architects were able to automate the build and publishing process. This automation reduced the time from eight hours to one hour. Data Architects now do development as requirements are gathered, reducing delays and allowing for adaptation to changing requirements early instead of late in the process. Unit testing has reduced the number of integration errors. The final schema is more accurate. Also Milestone and Release Candidate versions of the repository are made available to members on a consistent basis. This allows them to receive the schema sooner, and help identify any issues. The most a member has to wait for a schema is two weeks. Prior to taking an agile approach, members would wait up to three months before having a schema that they could use. An agile approach requires thinking of schema specifications not just as documents, but as software applications. The same agile techniques that are used to develop application software can be successfully applied to schema specification development, and produce a more accurate document that meets business needs sooner.