Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
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
1
460
How to make a better FM
Continuous documentation - using mkdocs, PlantUML, NPlant, salt & msbuild
Awesome Incremented
October 09, 2015
Tweet
Share
More Decks by Awesome Incremented
See All by Awesome Incremented
Fast GeoIp Lookup using Redis
awesomeincremented
0
82
Continuous License Compliance-Analysis
awesomeincremented
0
27
(Almost) Continuous Delivery with Docker in offline environments
awesomeincremented
0
31
Update on Technology Radar
awesomeincremented
0
41
Docker Build Automation with Jenkins
awesomeincremented
1
66
Software Quality
awesomeincremented
1
66
Code Reviews
awesomeincremented
0
60
Coding Guidelies
awesomeincremented
0
48
Oracle Spatial 101 - An Introduction
awesomeincremented
0
120
Other Decks in Technology
See All in Technology
Amazon ElastiCacheのコスト最適化を考える/Elasticache Cost Optimization
quiver
0
390
開発メンバーが語るFindy Conferenceの裏側とこれから
sontixyou
2
490
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
2
760
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
350
Amazon Bedrock AgentCore 認証・認可入門
hironobuiga
2
480
Meshy Proプラン課金した
henjin0
0
180
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
120
20260129_CB_Kansai
takuyay0ne
1
260
今日から始めるAmazon Bedrock AgentCore
har1101
4
320
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
1
340
DatabricksホストモデルでAIコーディング環境を構築する
databricksjapan
0
230
Application Performance Optimisation in Practice (60 mins)
stevejgordon
0
110
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
130
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
69
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
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!