Thursday, September 20, 2007

Complexity In XML

XML Metrics

Over the past few meeting with Nick we have began the developed of a framework for measuring the complexity of XML projects. We have based our framework on the extensibility manifesto by Rick Jelliffe.

Approach

The extensibility manifesto provides a good overview of the problems that face developers, and hence would provide a good framework to base the application of XML governance.

Using the Jelliffe's outline of the issues behind the extensibility manifesto [Jelliffe2006] as a basis, the following key areas were found:

  • Stakeholder requirements
  • Fit for purpose

Other Rick issues todo:

  • Reality
  • Metrics
  • Reuse
  • Consistency
  • Focus and agility
  • Bureaucracy
  • Be Methodical

Definitions

  • Business data requirements - from the business end
  • External data constraints - extra constraints for the data from the business end
  • Stakeholder data requirements = business data requirements + external data constraints
  • System data requirements - from the developers end

Stakeholder requirements

The schema must comply with all business requirements and external data constraints.

  • All requirements and constraints must be documented and agreed upon
  • Traceability and accountability must be maintained on all requirements throughout the development lifecycle
  • Stakeholders should be informed of the resource implications of their data requirements and data constraints

Fit for purpose

The schema must be fit to produce the necessary functionality required by the system.
Compliance with business requirements does not necessarily result in a system which is of benefit to the client and fit for their purposes.

Possible solutions

A list of good practices that we can apply to the issues of XML governance.

  • Schematron - specify the gap between requirements and the data model
  • Usage schemas - determine how the structure is being used. Often the schema is not a proper representation of the usage of a schema is not properly
  • Progressive validation
  • Metrics
    • complexity of the schema
    • element and attribute count
    • Mapping completeness ratio - in fields : out fields
    • Mapping additions ratio - from : to
  • Configuration items - xlink to other forms of documentation
  • XML auditability - daily build

References
[Jelliffe2006] Jelliffe, Rick 2006, "XML Governance & Publishing", Open Publish 2006