Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How to make a better FM
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Awesome Incremented
October 09, 2015
Technology
490
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to make a better FM
Continuous documentation - using mkdocs, PlantUML, NPlant, salt & msbuild
Awesome Incremented
October 09, 2015
More Decks by Awesome Incremented
See All by Awesome Incremented
Fast GeoIp Lookup using Redis
awesomeincremented
0
100
Continuous License Compliance-Analysis
awesomeincremented
0
39
(Almost) Continuous Delivery with Docker in offline environments
awesomeincremented
0
54
Update on Technology Radar
awesomeincremented
0
51
Docker Build Automation with Jenkins
awesomeincremented
1
78
Software Quality
awesomeincremented
1
83
Code Reviews
awesomeincremented
0
84
Coding Guidelies
awesomeincremented
0
58
Oracle Spatial 101 - An Introduction
awesomeincremented
0
170
Other Decks in Technology
See All in Technology
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
6
2.8k
【Oracle AI SPOTLIGHT ウェビナー】事例から見る!なぜOCIが選ばれたのか ― AI時代のクラウド戦略を紐解く ―
oracle4engineer
PRO
1
150
GitHub、使う?使わない?
happysamurai294
0
140
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
160
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
160
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
120
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
890
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
550
AI Search (Foundry IQ) におけるRAGデータの準備と配置
ryomaru0825
1
130
Adversary Infrastructure Hunting101
disconinja
0
190
キヨさん、67歳。AIコーディングエージェントに挑む
happysamurai294
0
140
リアクションエンジニア ― 小さなリアクションから、話しかけやすい組織をつくる ―
ryuguyana
1
110
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
610
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
Rails Girls Zürich Keynote
gr2m
96
14k
Darren the Foodie - Storyboard
khoart
PRO
4
4.1k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
The untapped power of vector embeddings
frankvandijk
2
2k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Transcript
How to make a better FM Dev.Talk October 2015 Marcel
Körtgen
None
Agenda •Traditional documentation •Alternative approaches •Demo: docs as part of
the build • Architectural documentation • UI sketches •Conclusions & Perspectives
Traditional documentation Docs feedback ultra-slow, if any •Written as very
last step • if it fails, no time for a 2nd shot •“Documentation Drift” • code changes lot faster • docs maintained out of band
Alternative approaches “Build-Measure-Learn” again • introduce a feedback loop (make
it short) → put docs close to code (git) → make docs part of build process → How?
Introducing MkDocs Why Markdown? •simple plain-text → easy to integrate
(git, build, …) •decouples styling → easy to write & view •lots of tooling around...
MarkdownPad...
Visual Studio...
Dillinger.io (online)...
...or MkDocs (offline)
Architectural Documentation Guidelines → Software Guidebook (Simon Brown) → arc42
Template (in Germany) Tooling → PlantUML
Avoiding Drift UML is ... • usually one-way • suspect
to BDUF and technical drift Solution: introduce feedback loop. Again. → “Yes, this is a pattern!”
Avoiding Drift: NPlant NPlant: code-based fluent DSL for diagrams •
generates UML notation • wraps PlantUML to generate images → “Notice the irony?” build integration: compile & test
UI Prototyping with Salt Salt: PlantUML subproject @startuml salt {
Just plain text [This is my button] () Unchecked radio (X) Checked radio [] Unchecked box [X] Checked box "Enter text here " ^This is a droplist^ } @enduml
UI Prototyping with Salt Salt: plain UML! no code! Feedback?
UI Prototyping with Salt Salt: plain UML! no code! Feedback?
Demo Time Using mkdocs, plantuml, NPlant & salt https://github.com/mkoertgen/hello.NPlant
Demo Time Generating docs & diagrams as part of your
build • git clone https://github.com/mkoertgen/hello.NPlant.git • build.bat /t:Docs /v:m
Summary •Traditional documentation evolves too slow •Documentation needs to be
part of the daily build process •Code generates documentation (and not vice versa) •Markdown, PlantUML & Co. do the work for you
Some references • D.Matthews - MkDocs: Documenting projects with Markdown
(ep2015) • Architekturdokumentation mit Entwicklerwerkzeugen (jaxenter) • write-the-docs.org, EU 2014 Presentations • GitHub Pages • sphinx-doc.org
Thank You Time for Questions!