Quantcast
Channel: Bulldozer00's Blog » software architecture
Browsing all 33 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Too Detailed, Too Fast

One of the dangers system designers continually face is diving into too much detail, too fast. Given a system problem statement, the tendency is to jump right into fine-grained function (feature)...

View Article



Image may be NSFW.
Clik here to view.

Not Either, But Both?

I recently dug up an old DDS tutorial pitch by distributed system middleware expert extraordinaire, Doug Schmidt. The last slide in the pitch shows a side-by-side, high-level feature comparison of...

View Article

Image may be NSFW.
Clik here to view.

Code First And Discover Later

In my travels through the whacky world of software development, I’ve found that bottom up design (a.k.a code first and “discover” the real design later) can lead to lots of unessential complexity...

View Article

Image may be NSFW.
Clik here to view.

Three Degrees Of Distribution

Behold the un-credentialed and un-esteemed BD00′s taxonomy of software-intensive system complexity: How many “M”s does the system you’re working on have? If the answer is three, should it really be...

View Article

Image may be NSFW.
Clik here to view.

Time For A Toga Party!

View Article


Image may be NSFW.
Clik here to view.

Boulders And Pebbles

When embarking on a Software Product Line (SPL) development, one of the first, far-reaching cost decisions to be tackled is the level of “granularity” of the component set. Obviously, you don’t want to...

View Article

Image may be NSFW.
Clik here to view.

Asynchronous Flows And Synchronous Transactions

The figure below shows a pair of BD00 concocted models for two classes of systems; peer-to-peer and client-server: The primary mission of an AFCS is to progressively transform a high rate stream of...

View Article

Image may be NSFW.
Clik here to view.

The Gall Of That Man!

A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have...

View Article


Image may be NSFW.
Clik here to view.

Working Code Over Comprehensive Documentation

Comprehensiveness is the enemy of comprehensibility – Martin Fowler Martin’s quote may be the main reason why this preference was written into the Agile Manifesto… Working software over comprehensive...

View Article


Image may be NSFW.
Clik here to view.

Our Stack

The figure below shows a layered view of the latest distributed system product that I’m working on. Customer teams compose their applications by writing their own system-specific Crumbs and linking...

View Article

Image may be NSFW.
Clik here to view.

Intimately Bound

Out of the bazillions of definitions of “software architecture” out in the wild, my favorite is: “the initial set of decisions that are costly to change downstream“. It’s my fave because it encompasses...

View Article

Image may be NSFW.
Clik here to view.

Alternative Considerations

Before you unquestioningly accept the gospel of the “evolutionary architecture” and “emergent design” priesthood, please at least pause to consider these admonitions: Give me six hours to chop down a...

View Article

Image may be NSFW.
Clik here to view.

Components, Namespaces, Libraries

Regardless of which methodology you use to develop software, the following technical allocation chain must occur to arrive at working source code from some form of requirements: The figure below shows...

View Article


Image may be NSFW.
Clik here to view.

Clean And Jagged

Suppose you’re developing a software-intensive product and you have to choose to write your app code on top of two competing infrastructure platforms: Well, duh. I think I’ll take the candidate on the...

View Article

Image may be NSFW.
Clik here to view.

Codecharts

l felt the need to share this e-mail exchange with a fellow colleague.

View Article


Image may be NSFW.
Clik here to view.

Not So Nice And Tidy

Assume we have a valuable, revenue-critical software system in operation. The figure below shows one nice and tidy, powerpoint-worthy way to model the system; as a static, enumerated set of executables...

View Article

Image may be NSFW.
Clik here to view.

Let the Design Emerge, But Not The Architecture

I’m not a fan of “emergent global architecture“, but I AM a fan of “emergent local design“. To mitigate downstream technical and financial risk, I believe that one has to generate and formally document...

View Article


Image may be NSFW.
Clik here to view.

Where To Start?

The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. — Edsger Dijkstra With Edsger’s delicious quote in mind, let’s explore seven...

View Article

Image may be NSFW.
Clik here to view.

Regardless Of Agile Or Waterfall

The figure below depicts an architectural view of a real-time embedded sub-system that I and a team of 8 others built and delivered 10 (freakin!) years ago. At revision number 9, the diagram ended up...

View Article

Image may be NSFW.
Clik here to view.

Gilbitecture

Plucked from his deliciously titled “Real Architecture: Engineering or Pompous Bullshit?” slide deck, I give you Tom Gilb‘s personal principles of software architecture engineering: Tom’s proactive...

View Article
Browsing all 33 articles
Browse latest View live




Latest Images