The document discusses documentation management in software projects. It describes three common problems that occur: 1) engineers asking where to find information without proper documentation, 2) customers disagreeing with agreed upon specifications due to lack of documentation, and 3) different teams having mismatched understandings due to poor documentation handoffs. It then outlines best practices for requirements management, architecture, documentation processes, quality control, and tooling to help address these issues and improve documentation management.
Mixing d ps building architecture on the cross cutting examplecorehard_by
В рамках доклада мы поговорим о важности архитектурных решений, в том числе, для обеспечения высокого качества ПО при минимальных трудозатратах. Сквозной пример из области резервного копирования данных позволит лучше понять техническую, QA и общепроцессную составляющие подхода. Прошло достаточно времени, чтобы раскрыть технические детали без нарушения NDA, предложенный вариант на базе метрик, которые мы обязательно упомянем, был признан лучшим архитектурным решением в рамках компании – одного из лидеров отрасли, получил награду Microsoft, был «размножен» на смежные области. Приступаем: Builder, Decorator, Composite, Iterator и Visitor - как эти паттерны помогли решить нетривиальную С++ задачу.
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATIONDr Anuranjan Misra
Software Requirements: Functional and Non-Functional, User requirements, System requirements, Software Requirements Document – Requirement Engineering Process: Feasibility Studies, Requirements elicitation and analysis, requirements validation, requirements management-Classical analysis: Structured system Analysis, Petri Nets- Data Dictionary
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Useful for BE E & TC engineering students to prepare SRS, SDS documents before implementing their projects. Unit II. It is designed as per SPPU syllabus of Electronic Product Design, BE E & TC Engineering
Requirements Engineering - "Ch2 an introduction to requirements"Ra'Fat Al-Msie'deen
System requirements, Types of requirements, Requirements problems, FAQS about requirements, Systems engineering, Emergent properties, System engineering activities, Requirements document, Users of requirements documents, Adapting the standard, Writing requirements, Writing guidelines, Writing essentials, etc.
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
Analyst360 is one of the largest and most forward-thinking learning services providers in the world,
delivering more than 10 million hours of training globally each year.
Mixing d ps building architecture on the cross cutting examplecorehard_by
В рамках доклада мы поговорим о важности архитектурных решений, в том числе, для обеспечения высокого качества ПО при минимальных трудозатратах. Сквозной пример из области резервного копирования данных позволит лучше понять техническую, QA и общепроцессную составляющие подхода. Прошло достаточно времени, чтобы раскрыть технические детали без нарушения NDA, предложенный вариант на базе метрик, которые мы обязательно упомянем, был признан лучшим архитектурным решением в рамках компании – одного из лидеров отрасли, получил награду Microsoft, был «размножен» на смежные области. Приступаем: Builder, Decorator, Composite, Iterator и Visitor - как эти паттерны помогли решить нетривиальную С++ задачу.
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATIONDr Anuranjan Misra
Software Requirements: Functional and Non-Functional, User requirements, System requirements, Software Requirements Document – Requirement Engineering Process: Feasibility Studies, Requirements elicitation and analysis, requirements validation, requirements management-Classical analysis: Structured system Analysis, Petri Nets- Data Dictionary
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Useful for BE E & TC engineering students to prepare SRS, SDS documents before implementing their projects. Unit II. It is designed as per SPPU syllabus of Electronic Product Design, BE E & TC Engineering
Requirements Engineering - "Ch2 an introduction to requirements"Ra'Fat Al-Msie'deen
System requirements, Types of requirements, Requirements problems, FAQS about requirements, Systems engineering, Emergent properties, System engineering activities, Requirements document, Users of requirements documents, Adapting the standard, Writing requirements, Writing guidelines, Writing essentials, etc.
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
Analyst360 is one of the largest and most forward-thinking learning services providers in the world,
delivering more than 10 million hours of training globally each year.
Similar to Aleksey Denysiuk «Document Management in SW Projects – Recommendations and Hints » (20)
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
2. www.luxoft.com
Three “little stories”
Story 1
- Mentor: “To be able to do something useful you have to know the basis about our project”
- Engineer: “Where can I read about it?”
Story 2
- Customer: “I don’t accept it”
- Team: “But this is what we have agreed”
- Customer: “I don’t think so.”
Story 3
- Team A: “We will send you those parameters, you just have to save them”
- Team B: “Which parameters?”
- Team A: “The one I have described you yesterday”
6. www.luxoft.com
Requirements model
Customer (“Wishes”) Supplier (“Specifications”)
End user
Functional
C-RS S-RSNon-Functional
Other
Engineering
Functional
C-TRS S-TRSNon-Functional
Other
Managerial
Organizational
C-PRS S-PRSFinancial
Other
7. www.luxoft.com
Requirements elaboration
Customer requirements are fragmented and
don’t match needs of supplier
Supplier requirements is an elaboration or
merge of corresponding supplier and
customer requirements
S-TRS is the main “source of truth” for
“What has to be done?” question
S-PRS is the main “source of truth” for
“How project has to be done?” question
C-PRS
C-RS
C-TRS
S-PRS
S-RS
S-TRS
Architecture
Design
Code
Customer Supplier
8. www.luxoft.com
Requirements model – typical names
Group Content type Customer Supplier
End user
Functional CRS TRS
Non-Functional CRS TRS
Other Not tracked Not tracked
Engineering
Functional Specifications TRS
Non-Functional Specifications TRS
Other Not tracked Not tracked
Managerial
Organizational PMP S-PRS
Financial Contract template, SOW template Contract, SOW
Other Not tracked Contract, SOW, Not tracked
9. www.luxoft.com
End user requirements and elements examples
Requirements that describe cooperation
between system and actual user (person).
Can describe system not precisely
Can be verified by end user when system is
running
Not related to the internal structure of the
system – describe system as a “black box”
Functional
- Use cases
- User stories
- User Features
Non-Functional
- System Responsiveness
- System Up-time
- System Recoverability
Hardware
- Type
- Size, Weight
10. www.luxoft.com
Engineering requirements and elements examples
Requirements that clarify end user
requirements and describe system with the
level of technical details necessary to develop
system.
Maximize precision level of system
description
It might be possible to verify them by end
user
Can describe any internal structure,
communication, protocol, rules, etc.
Functional
- Use cases specifications
- Protocols definition
Non-Functional
- Modules recoverability
- Timing requirements
HW
- HW specifications
11. www.luxoft.com
Managerial requirements and elements examples
Requirements that describe why, when and
how project/product will be done.
Can be related to any managerial aspect
Typically appear first, get finalized last
Organizational
- Milestones
- Processes (PMP, CMP)
- Team
- Risks, Assumptions, Dependencies
- Communication
- Quality
Financial
- Payments
- Scope
16. www.luxoft.com
Architecture model (Simplified 1)
What How Where Who When Why
Executive Scope
High-level
processes
Location R&R, Team Milestones
Business goal,
Payments
Managerial
requirements
Product
End-user
Features
Use cases,
Non-functional
System
deployment
Users
Non-functional
requirements
Business proc.
analysis
End-user requirements
Architect
Technical
features
Sequences
SW
Deployment
Domains Timing Traces SW Architecture
Development Module features
Sequences
Algorithms
SW
Deployment
Components
Classes
Timings Traces High-Level Design
Team Team tooling
Managerial
requirements
18. www.luxoft.com
Documentation elaboration
Architecture is an elaboration of S-TRS
Customer expectations related to
implementation are treated as C-TRS
- This allows to simplify actual development
Design is an elaboration and a part of
architecture
Architecture is the main “source of truth”
for “How it has to work?” question
C-PRS
C-RS
C-TRS
Architecture
Design
Code
S-PRS
S-RS
S-TRS
Architecture
Design
Code
Customer Supplier
19. www.luxoft.com
SW Architecture and elements example
Document that describes decisions taken to
define system boundaries, internal structure
and rules
Is derived from requirements
Defines sub-systems/modules
(responsibilities, boundaries)
Defines communication principles between
sub-systems/modules
Considers modules as black-box
Responsibilities
Decisions
Logical view
- System view, System level architecture
- Functional domain breakdown
Development view
- Code development guidelines
- Integration strategy, Integrated libraries
Physical view
- Partitioning. Memory limits, CPU limits
- IPC, Processes
Conventions
20. www.luxoft.com
High-Level design and elements example
Document that describes decisions taken to
define sub-system/module internal structure
and rules
Defines details of communications between
modules, subsystems
Defines details of sub-system
Responsibilities
Decisions
High level design
- System view
- Environment (Outgoing, Incoming)
- Breakdown (components, interfaces, internal
dependencies)
- Deployment (Binaries, Threads)
- Testing strategy
Detailed view
- Components, interfaces, etc.
- Diagrams
24. www.luxoft.com
Development process important notes
“V” model is always used, but usage might vary.
Iterative development (like SCRUM) have simplified “V” on every
iteration
Change request processing – is a “V” for a single feature
25. www.luxoft.com
Development & Documentation process – typical reality
• Clarifications
• Supplier requirements
development
(fragments)
Customer
requirements
analysis
• More clarifications
• Major architecture
decisions specification
Architecture
development • More clarifications
• Design documentation
(fragments)
• First coding
(prototyping)
Design
development
• More clarifications
• Some updates to
design
• Coding
• Testing
Development
• Test cases definition
• System testing
• More clarifications
• Testers feedback
System testing
26. www.luxoft.com
Typical reality problems
• Only fragments of clarified requirements are documented
Customer requirements analysis
• Requirements are not updated after further clarifications
• Not all architecture decisions are documented
• Reasons for decisions are not documented
Architecture development
• Requirements are not updated after further clarifications
• Architecture is not updated after further clarifications
• Only fragments of design are documented
• Prototyping is considered by management as first results, rather than Proof-Of-Concept
Design development
• Requirements, Architecture, Design are not updated after further clarifications
• Requirements, Architecture, Design are not updated after coding and testing
Development
• Requirements, Architecture, Design are not updated after further clarifications or feedback
• Decisions on bug-fixing are taken quickly, locally, without checking impact on the whole system
Testing
28. www.luxoft.com
Reasons
It is hard to
formulate
decision shortly
• Engineers try to avoid
this
Documentation is
separated from
the main process
• It becomes “additional
effort”
Time pressure
• Short-term
perspective focus
(quick-fix, quick-
solution)
• “Additional effort” is
not worth it
“Team is aware of
all decisions”
• “It’s easier and faster
to tell than to write”
• “Documentation is
outdated anyway”
29. www.luxoft.com
Tips to improve
Define required
documentation details
•I won’t do more that absolutely
required anyway
•You will do what is absolutely
required anyway
Simplify documentation
development
•Use advanced tooling
•Make tutorials on tooling usage
•Show how to use the tool yourself –
during meetings, talks
Make documentation part of
the process
•Integrate process with tool to avoid
“additional effort” for documentation
•Document decisions, agreements
immediately by tool
•Ask for decisions in written form
31. www.luxoft.com
Product quality definition (by standard)
ISO
9126
Functionality
• Suitability
• Accuracy
• Interoperability
• Security
• Functionality
compliance
Reliability
• Maturity
• Fault tolerance
• Recoverability
• Reliability
compliance
Usability
• Understandability
• Learnability
• Operability
• Attractiveness
• Usability
compliance
Efficiency
• Time behaviour
• Resource utilization
• Efficiency
compliance
Maintainability
• Analyzability
• Changeability
• Stability
• Testability
• Maintainability
compliance
Portability
• Adaptability
• Installability
• Co-existence
• Replaceability
• Portability
compliance
Product is of good quality if
I like it, because it
(usability)
satisfies my needs by
(functionality)
helping me to reach my goals easier by
(efficiency)
doing what I want, how I want
(functionality, efficiency)
with a quality I want and
(functionality, efficiency)
does have no problems while doing this
(reliability)
32. www.luxoft.com
How to ensure good quality
Each quality requirement shall be met
- Before product development
Choose correct development model
- During product definition
Make correct business analysis
- During product development
Develop what was defined
Ensure mature development process
- After product development
Verify result against requirements
Quality related roles
Business analytic
Requirements manager
Architect
Technical lead
Quality engineer
Developer
33. www.luxoft.com
Questions that are hard to answer
When starting project
Have we processed all customer r. and
developed corresponding supplier r.?
Have we processed all end-user r. and
developed corresponding engineering r.?
Have we processed all engineering r. and
made corresponding architectural decisions,
sub-systems, modules?
Have we processed all architectural
decisions and made corresponding design
decisions, interfaces, classes, sequences?
When processing any change
What will be the impact if this module, class, etc. is
changed?
- What might be broken?
- What shall be tested?
What will be the impact if this module will be
moved/changed?
- Which end-user functionality will be affected?
- Which other modules, teams will be affected?
- How much time will it take?
- How much will this cost?
34. www.luxoft.com
Traceability
Traceability is a bi-directional linkage
between elements of the documentation
Allows to answer important questions
(prev. slide) by making coverage analysis
Answers questions “derived from”,
“required because”, “required by”
Allows to analyze impacts in case of
change of an item
Allows to automate reporting
Managerial
requirements
End-user
requirements
Engineering
requirements
Managerial
requirements
End-user
requirements
Engineering
requirements
Architecture
High-Level
Design
Code
Customer Supplier
36. www.luxoft.com
Typical tooling
Documents
(Word, PDF, etc.)
• Easy to start
• Hard to compare
• Hard to make
version control
• Hard to make
linkage between
documents
• Developers don’t
like
Wikipedia style
(ex.: Confluence)
• Harder to start
• Easy to compare
• Easy to make
version control
• Easy to make
linkage between
documents, but
hard to track
them
• Developers
might like
GIT
documentation
• Harder to start
• Easy to compare
• Easy to make
version control
• Harder to make
linkage between
documents, hard
to track them
• Developers like
Special tools
• Harder to start
• Easy to compare
• Easy to make
version control
• Easier to make
linkage between
documents, easy
to track them
• Developers don’t
like
• Costs
Special formats
• Hard to start
• Easy to compare
• Easy to make
version control
• Easier to make
linkage between
documents, easy
to track them
• Developers
might like
• Support
generation of
any document