Hello, Ivcs!
I’ll try to answer the question "How is good documentation done using SCRUM?" by answering something more generic like "How is agile documentation?" OK? I’ll try to be very informal and talk very simple...
First of all, it is a myth to say that agile development models completely abandon documentation. They just rationalize the creation of documents in order to do things with REASON.
Another detail is the difference that is made in agile model is between document and model (diagrams). A document has several models, but you should not create a model necessarily to document, because you can create a model just to reason or facilitate the explanation about something very specific.
You don’t create a class diagram like the one you did just to put in the document, you will create when you need to explain something to someone on the team or even just to think about relationships. What’s more, this modeling doesn’t even need to be a heavy weight process, full of use of state-of-the-art CASE tools, a simpler tool can be used (or even paper drawing =D).
Note that in classic models everything revolves around documentation (key piece in these models), even creating models just to document and document only by mere formalism. In agile methodology the document loses importance (but it is not abandoned!!) and you have a thought called "agile modeling", where you do not model to document, but model because you really need for a very specific purpose.
No document is created by creating in an agile development. You create a document...
- Why the customer requested
- To define a contract model (in such cases more detailed documentation is required)
- Supporting communication with an external group
- Reason
An agile document:
- Maximizes the return of customers
- Lean and economical
- Has a specific purpose
- Describes information that is less likely to change
- Contains only "good things to know"
- Have specific client and facilitate the work of this client
- It is accurate, consistent and detailed
- Sufficiently indexed
I’m not an expert on the subject, but I think the idea of using an agile methodology is not to waste time using UML and creating all its documentation (diagrams). The idea is basically to annotate the customer’s needs, put in the backlog, verify implementation priority, implement and present the result. Repeat this cycle until the system is ready.
– mau humor
@Mauhumor I believe this is a non-binding criterion, in some places they are used and others are not. When I saw this article, that’s what I meant, taking it as an option, I decided to add these two. But also not sure kk for that question
– Leonardo
Yes, yes, SCRUM is not a religion that should be followed to the letter. You can adapt your need. But by doing a very extensive documentation, you lose agility, which is one of the objectives of agile methodologies. But if really this documentation will be needed later and the requirements are well defined. So that in the middle of the project the client will not ask to modify everything. I see no problem in mixing with UML.
– mau humor
really, if it is well exposed the use of diagrams can become useless.
– Leonardo
It may or may not be. The client asks you to change something and gives you a short deadline. Will you update the documentation, or go straight to the code, will you have time for that? It will take some experience time for you to realize what is really useful or a waste of time. Especially when you need to rely on documentation for repairs, or assign another programmer to work on the system.
– mau humor