Sharing about architecture aspects, technical knowledge and diagram as communication tool and navigation for software architect, stakeholder, operational team and developers
2. About Me
I'm an active member of IASA Global - An Association
for All IT Architects and MAPA – Microsoft Association
of Practicing Architects . I'm also Certified Microsoft
MCPD for ASP.NET.
Technology research is my favorite things especially in
Software Development. I love transforming the
research result by creating software that can make job
or activity more faster to finish, more accurate and
more fun.
Ongoing open source project www.aspknife.net
2
5. Technical Knowledge
Stuff you know
Stuff you have to maintain
Stuff you know
You don’t know
Stuff you don’t know
You don’t know
Technical
depth Technical
breadth
Focus here
5
6. Technical Knowledge (continue)
Multiplatform knowledge
Just Advice, better to have multiple knowledge that’s is not
vendor locking. You can integrate the best part of each.
This is part of technical breadth
The more you know, it could be more effective and efficient
to provide architecture solution
6
7. Technical Knowledge (continue)
Increase Technical Breadth
• Read Tech web such as https://techcrunch.com/
http://mashable.com/ http://www.zdnet.com/ etc.
• Going to tech meetup, seminar, event, workshop, conferences
• Read magazine such MSDN magazine, Wired magazine, etc.
• Teaching, coaching, mentoring, sharing
• Follows big company such as Microsoft, Google, Facebook, etc.
• Technology Radars
7
12. Technology Radar
• A living document to assess the risks and rewards of existing
and nascent technologies.
• Personal radar, to help guide career decisions
• Enterprise radar, for employer, to help restore sanity to
purchasing decisions and technology direction
12
16. Imagine if we can zoom in and
zoom out our code from low-
level to high-level overview.
It would be nice, right?
16
17. Diagram as a communication tool and
navigation
17
Introduce
C4 Model
The "C4 model" is a simple hierarchical way to think about the
static structures of a software system in terms
of containers, components and classes (or code).
18. 18
A software system is made up of one or more containers,
each of which contains one or more components,
which in turn are implemented by one or more classes.
19. System context diagram
Level 1
19
The focus should be on people (actors, roles, personas, etc) and
software systems rather than technologies, protocols and other low-
level details.
It's the sort of diagram that you could show to non-technical people.
20. Container diagram
Level 2
20
A container diagram shows the high-level
shape of the software architecture and how
responsibilities are distributed across it.
It also shows the major technology choices
and how the containers communicate with
one another.
It's a simple, high-level technology
focussed diagram that is useful for
software developers and
support/operations staff alike
21. Component diagram(s)
Level 3
21
Decompose each container.
The components diagram shows
how a container is divided into
components, what each of those
components are, their
responsibilities and the
technology/implementation
details.
22. Class diagram(s)
Level 4
This is optional, but draw one
or more UML class diagrams if
you want to illustrate specific
component implementation
details.
22
25. For more information
• The Information Technology Architecture Body of Knowledge
(ITABoK) from IASA - http://iasaglobal.org/itabok/
• O’Reilly Software Architecture -
https://www.oreilly.com/topics/software-architecture
• Simon Brown - http://www.codingthearchitecture.com/
• https://www.thoughtworks.com/radar/faq
• http://nealford.com/memeagora/2013/05/28/build_your_own_techno
logy_radar.html
• https://www.structurizr.com/
• https://8thlight.com/blog/uncle-bob/2011/09/30/Screaming-
Architecture.html
25
Editor's Notes
Technical Knowledge first because I want to try bottom top approach
From developer to architect.
Which is developer may interact with many technology which is technical knowledge area
Technical breadth is very important for Software architect
Because its will impact with the architecture solution.
The more we know, we can do pragmatic approach
Sebuah dokumen hidup untuk menilai risiko dan manfaat dari teknologi yang ada dan baru lahir.
radar pribadi, untuk membantu memandu keputusan karir
Perusahaan radar, majikan, untuk membantu mengembalikan kewarasan keputusan pembelian dan arah teknologi
Show Indonesia map
Show zoom in map for Jakarta
Map zoom in for Blibli office.
Showing Map as analogy
Diagram to navigate each level into code
Uncle Bob references…
When someone look at the top level diagram, they can said
Oow.. This a church
Oow. This ia a trading syste
….