I'm a technical writer tasked to document a rather complex WPF/WCF .net application for a governmental agency. I'm not sure where to start and would like some suggestions from .net developers about what information I ought to capture. If you were a .net/WCF developer and you were brought into a massive custom .net application using WCF, what information would you need to be able to figure out how to use and customize or extend the system? The application, when finished, will consist of:
- a client app which is available on each machine of an AD authenticated user
- a variety of web services which are run on a machine IIS
- one big SQL database which contains the data for the records created by the system
- calls to third party applications available elsewhere which will be called by the main application.
This is a multimillion dollar custom application with lots of hands touching it and lots of developer hours. It also involves a lot of stakeholders and financial transactions.
The purpose of my documentation is to document the application system for future developers who are new to the project or support personnel who have to figure out what's not working. We already have a technical writer who is documenting user behavior and typical user behavior, so I don't need to cover that.
The developer lead explained a little about the system itself and how the dll's on client and server app talk to one another. He also said that the dll's themselves are compiled code that by themselves they aren't interesting. He also explained that there is a data abstraction layer (called "entities framework"??) which the developers will reference in Visual Studio (instead of incorporating SQL queries in their code). Because of this data abstraction layer, the lead developer seems to feel that documenting the DB tables is not useful (which makes sense). Instead I need to document the service components at a fairly high level.
Now my question: what sort of information should I be capturing? What sort of information would help experienced .net developers learn how to develop for a new application? What sort of questions should I be asking the developers to get this information? I am not a developer (and certainly not a .net developer), but I've worked with several programming languages and documented several Windows apps. The manager who assigned this task to me must feel that the app is not well-documented (even though I've found a lot of UML diagrams and diagrams by business analysts which document business processes. My main audience for whatever I produce will NOT be system administrators or users but other developers.
So do you have any ideas or tips for me? Thanks.