We have 22 (.NET, webservice based) componentteams each consisting of atleast 3 developers and 1 buisiness analist. To make sure every one of the 22 components integrates without trouble, we work what is know as "Contract first". Two teams get together and they create a XSD for their to-be-created .NET Webservice. They create this XSD by hand or with tooling like XMLSPY.
What/why we do this:
- Developers can generate their C# code from the XSD.
We have tools that nicely display the structure of an XSD. Making it easier for teams to discuss the contents.
We (appearantly) have a need for a webservice catalog. To make it easy to oversee everything we have to across all webservices of all components. We do this by every single XSD to Confluence and generating pages for them. Having to version each page by hand to insure previous versions are still documented. + Currently the page generation is broken wich is another motivation to ask this question.
My problem with the above:
- Many developers seem to edit the XSD's by hand, but still claim it saves them time because they do not need to write code (because as you know, developers hate to write code?). How do other company's work contract first? Or maybe your adopting a different strategy, let me know!
- There must be a way to display all services of every component without developers having to create confluence pages or having to generate them by uploading the XSD. This feels like waste.
How do you do this? (PS I know there is no best answer (or maybe there is).. but I just want to know how other company's solve this. We have a habit of thinking we are unique).