From f9ab7a812bb5e82b1ca67ba3f44005d121bf1596 Mon Sep 17 00:00:00 2001 From: "Sam Wagner [SSW]" <66365977+SamBWagner@users.noreply.github.com> Date: Wed, 18 Feb 2026 16:30:39 +1000 Subject: [PATCH 1/9] TinaCMS content update Co-authored-by: Sam Wagner --- public/uploads/rules/tracking-complexity/rule.mdx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 public/uploads/rules/tracking-complexity/rule.mdx diff --git a/public/uploads/rules/tracking-complexity/rule.mdx b/public/uploads/rules/tracking-complexity/rule.mdx new file mode 100644 index 00000000000..c1d9a260b17 --- /dev/null +++ b/public/uploads/rules/tracking-complexity/rule.mdx @@ -0,0 +1,14 @@ +--- +title: Do you track the complexity of your software project? +uri: tracking-complexity +guid: af80869b-363b-4a01-8807-673dc1101105 +created: 2026-02-18T06:27:56.778Z +createdBy: Sam Wagner +createdByEmail: SamWagner@ssw.com.au +--- + +Intro + + + +Body From 8f16a2afdbb22d02046f998d8a906056d67b5b9a Mon Sep 17 00:00:00 2001 From: "Sam Wagner [SSW]" <66365977+SamBWagner@users.noreply.github.com> Date: Wed, 18 Feb 2026 16:32:43 +1000 Subject: [PATCH 2/9] TinaCMS content update Co-authored-by: Sam Wagner --- .../rules-to-better-architecture-and-code-review.mdx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/categories/software-engineering/rules-to-better-architecture-and-code-review.mdx b/categories/software-engineering/rules-to-better-architecture-and-code-review.mdx index f5f0faa6674..80e5dd18fac 100644 --- a/categories/software-engineering/rules-to-better-architecture-and-code-review.mdx +++ b/categories/software-engineering/rules-to-better-architecture-and-code-review.mdx @@ -1,9 +1,8 @@ --- -_template: category type: category title: Rules to Better Architecture and Code Review -guid: a09ec7f5-4035-48ad-afb2-08ac9c620dc6 uri: rules-to-better-architecture-and-code-review +guid: a09ec7f5-4035-48ad-afb2-08ac9c620dc6 index: - rule: public/uploads/rules/do-you-evaluate-the-processes/rule.mdx - rule: public/uploads/rules/software-architecture-decision-tree/rule.mdx @@ -66,6 +65,8 @@ index: - rule: public/uploads/rules/use-feature-flags/rule.mdx - rule: public/uploads/rules/use-structured-logging/rule.mdx - rule: public/uploads/rules/resolving-code-review-comments/rule.mdx + - rule: public/uploads/rules/tracking-complexity/rule.mdx +_template: category --- For any project that is critical to the business, it’s important to do ‘Modern Architecture Reviews’. Being an architect is fun, you get to design the system, do ongoing code reviews, and play the bad ass. It is even more fun when using modern cool tools. @@ -74,4 +75,4 @@ Follow these steps to achieve a 'Modern Architecture Review'. See how performing These steps enable you to attend to the code that needs the most attention. Finally, create PBI's to make sure they get fixed in the next Sprint. -Want to drive business value with IT Transformation? Check [SSW's Strategic Architecture consulting page](https://www.ssw.com.au/consulting/strategic-architecture). \ No newline at end of file +Want to drive business value with IT Transformation? Check [SSW's Strategic Architecture consulting page](https://www.ssw.com.au/consulting/strategic-architecture). From c120e4c2f0b23bbd1075facf80eea5d80fe2d69a Mon Sep 17 00:00:00 2001 From: "Sam Wagner [SSW]" <66365977+SamBWagner@users.noreply.github.com> Date: Wed, 18 Feb 2026 16:32:45 +1000 Subject: [PATCH 3/9] TinaCMS content update Co-authored-by: Sam Wagner --- public/uploads/rules/tracking-complexity/rule.mdx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/uploads/rules/tracking-complexity/rule.mdx b/public/uploads/rules/tracking-complexity/rule.mdx index c1d9a260b17..f51e1266b5f 100644 --- a/public/uploads/rules/tracking-complexity/rule.mdx +++ b/public/uploads/rules/tracking-complexity/rule.mdx @@ -1,10 +1,15 @@ --- title: Do you track the complexity of your software project? uri: tracking-complexity +categories: + - category: categories/software-engineering/rules-to-better-architecture-and-code-review.mdx guid: af80869b-363b-4a01-8807-673dc1101105 created: 2026-02-18T06:27:56.778Z createdBy: Sam Wagner createdByEmail: SamWagner@ssw.com.au +lastUpdated: 2026-02-18T06:32:44.677Z +lastUpdatedBy: Sam Wagner +lastUpdatedByEmail: SamWagner@ssw.com.au --- Intro From f7478d0c3c4ccf08252987b9876bc493308c9bee Mon Sep 17 00:00:00 2001 From: "Sam Wagner [SSW]" <66365977+SamBWagner@users.noreply.github.com> Date: Wed, 18 Feb 2026 16:33:26 +1000 Subject: [PATCH 4/9] TinaCMS content update Co-authored-by: Sam Wagner --- public/uploads/rules/tracking-complexity/rule.mdx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/public/uploads/rules/tracking-complexity/rule.mdx b/public/uploads/rules/tracking-complexity/rule.mdx index f51e1266b5f..7183af32285 100644 --- a/public/uploads/rules/tracking-complexity/rule.mdx +++ b/public/uploads/rules/tracking-complexity/rule.mdx @@ -3,11 +3,14 @@ title: Do you track the complexity of your software project? uri: tracking-complexity categories: - category: categories/software-engineering/rules-to-better-architecture-and-code-review.mdx +authors: + - title: Sam Wagner + url: 'https://ssw.com.au/people/sam-wagner' guid: af80869b-363b-4a01-8807-673dc1101105 created: 2026-02-18T06:27:56.778Z createdBy: Sam Wagner createdByEmail: SamWagner@ssw.com.au -lastUpdated: 2026-02-18T06:32:44.677Z +lastUpdated: 2026-02-18T06:33:24.973Z lastUpdatedBy: Sam Wagner lastUpdatedByEmail: SamWagner@ssw.com.au --- From fdacde4f52f4ca93b4ff540f1e81b5bdfe63a091 Mon Sep 17 00:00:00 2001 From: "Sam Wagner [SSW]" <66365977+SamBWagner@users.noreply.github.com> Date: Wed, 18 Feb 2026 17:01:37 +1000 Subject: [PATCH 5/9] TinaCMS content update Co-authored-by: Sam Wagner --- public/uploads/rules/tracking-complexity/rule.mdx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/public/uploads/rules/tracking-complexity/rule.mdx b/public/uploads/rules/tracking-complexity/rule.mdx index 7183af32285..a27d9595f72 100644 --- a/public/uploads/rules/tracking-complexity/rule.mdx +++ b/public/uploads/rules/tracking-complexity/rule.mdx @@ -10,13 +10,22 @@ guid: af80869b-363b-4a01-8807-673dc1101105 created: 2026-02-18T06:27:56.778Z createdBy: Sam Wagner createdByEmail: SamWagner@ssw.com.au -lastUpdated: 2026-02-18T06:33:24.973Z +lastUpdated: 2026-02-18T07:01:35.271Z lastUpdatedBy: Sam Wagner lastUpdatedByEmail: SamWagner@ssw.com.au --- -Intro +Complexity is a necessary evil in any softare project. To make things work, you've gotta have some concepts that, when understood, are used to make it work. + + +However, the mark of a great engineer/engineering team is to only ever opt into the minimal amount of complexity possible while constantly driving down whatever complexity currently exists. -Body +## What is Complexity? + +Complexity is the total sum of all the different concepts in any given system. Now in order for this to really make sense we need to define what we mean by a “concept”. + +> "A distinct piece of knowledge would cause someone to be blocked if they didn't have it?" + +So, with this definition we can start to examine our software projects and see how complicated they really are. Now, notably there's nothing in this definition that says that a concept has to be a “package”, “library”, or anything that's specifically tied to something you can point at. So, Next.js would be a concept. But, so would Clean Architecture, cross-field validation, the redux pattern, etc. From af6249472ae35342d14069e4574065f3c6086836 Mon Sep 17 00:00:00 2001 From: "Sam Wagner [SSW]" <66365977+SamBWagner@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:04:22 +1000 Subject: [PATCH 6/9] TinaCMS content update Co-authored-by: Sam Wagner --- public/uploads/rules/tracking-complexity/rule.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/uploads/rules/tracking-complexity/rule.mdx b/public/uploads/rules/tracking-complexity/rule.mdx index a27d9595f72..f0f70ff372f 100644 --- a/public/uploads/rules/tracking-complexity/rule.mdx +++ b/public/uploads/rules/tracking-complexity/rule.mdx @@ -7,24 +7,24 @@ authors: - title: Sam Wagner url: 'https://ssw.com.au/people/sam-wagner' guid: af80869b-363b-4a01-8807-673dc1101105 +thumbnail: /uploads/rules/tracking-complexity/grug.png created: 2026-02-18T06:27:56.778Z createdBy: Sam Wagner createdByEmail: SamWagner@ssw.com.au -lastUpdated: 2026-02-18T07:01:35.271Z +lastUpdated: 2026-02-19T04:04:21.656Z lastUpdatedBy: Sam Wagner lastUpdatedByEmail: SamWagner@ssw.com.au --- Complexity is a necessary evil in any softare project. To make things work, you've gotta have some concepts that, when understood, are used to make it work. - However, the mark of a great engineer/engineering team is to only ever opt into the minimal amount of complexity possible while constantly driving down whatever complexity currently exists. ## What is Complexity? -Complexity is the total sum of all the different concepts in any given system. Now in order for this to really make sense we need to define what we mean by a “concept”. +Complexity is the total sum of all the different concepts in any given system. Now in order for this to really make sense we need to define what we mean by a “concept”. > "A distinct piece of knowledge would cause someone to be blocked if they didn't have it?" From 5fb605cfff674e219c9f74320851cf4dd6a43b28 Mon Sep 17 00:00:00 2001 From: "Sam Wagner [SSW]" <66365977+SamBWagner@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:05:17 +1000 Subject: [PATCH 7/9] TinaCMS content update Co-authored-by: Sam Wagner --- public/uploads/rules/tracking-complexity/rule.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/uploads/rules/tracking-complexity/rule.mdx b/public/uploads/rules/tracking-complexity/rule.mdx index f0f70ff372f..f17f17186a2 100644 --- a/public/uploads/rules/tracking-complexity/rule.mdx +++ b/public/uploads/rules/tracking-complexity/rule.mdx @@ -11,12 +11,12 @@ thumbnail: /uploads/rules/tracking-complexity/grug.png created: 2026-02-18T06:27:56.778Z createdBy: Sam Wagner createdByEmail: SamWagner@ssw.com.au -lastUpdated: 2026-02-19T04:04:21.656Z +lastUpdated: 2026-02-19T04:05:16.511Z lastUpdatedBy: Sam Wagner lastUpdatedByEmail: SamWagner@ssw.com.au --- -Complexity is a necessary evil in any softare project. To make things work, you've gotta have some concepts that, when understood, are used to make it work. +Complexity is a necessary evil in any software project. To make things work, you've gotta have some concepts that, when understood, are used to make it work. However, the mark of a great engineer/engineering team is to only ever opt into the minimal amount of complexity possible while constantly driving down whatever complexity currently exists. From 0f49e05191be650b77c28217115828294170192e Mon Sep 17 00:00:00 2001 From: "Sam Wagner [SSW]" <66365977+SamBWagner@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:05:56 +1000 Subject: [PATCH 8/9] TinaCMS content update Co-authored-by: Sam Wagner --- public/uploads/rules/tracking-complexity/rule.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/uploads/rules/tracking-complexity/rule.mdx b/public/uploads/rules/tracking-complexity/rule.mdx index f17f17186a2..dd06a484629 100644 --- a/public/uploads/rules/tracking-complexity/rule.mdx +++ b/public/uploads/rules/tracking-complexity/rule.mdx @@ -11,7 +11,7 @@ thumbnail: /uploads/rules/tracking-complexity/grug.png created: 2026-02-18T06:27:56.778Z createdBy: Sam Wagner createdByEmail: SamWagner@ssw.com.au -lastUpdated: 2026-02-19T04:05:16.511Z +lastUpdated: 2026-02-19T04:05:54.937Z lastUpdatedBy: Sam Wagner lastUpdatedByEmail: SamWagner@ssw.com.au --- @@ -26,6 +26,6 @@ However, the mark of a great engineer/engineering team is to only ever opt into Complexity is the total sum of all the different concepts in any given system. Now in order for this to really make sense we need to define what we mean by a “concept”. -> "A distinct piece of knowledge would cause someone to be blocked if they didn't have it?" +> "A distinct piece of knowledge would cause someone to be blocked if they didn't have it." So, with this definition we can start to examine our software projects and see how complicated they really are. Now, notably there's nothing in this definition that says that a concept has to be a “package”, “library”, or anything that's specifically tied to something you can point at. So, Next.js would be a concept. But, so would Clean Architecture, cross-field validation, the redux pattern, etc. From 8fef50deb66f7cb40570fba4dae697a297be9aa7 Mon Sep 17 00:00:00 2001 From: "Sam Wagner [SSW]" <66365977+SamBWagner@users.noreply.github.com> Date: Thu, 19 Feb 2026 14:14:56 +1000 Subject: [PATCH 9/9] TinaCMS content update Co-authored-by: Sam Wagner --- public/uploads/rules/tracking-complexity/rule.mdx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/public/uploads/rules/tracking-complexity/rule.mdx b/public/uploads/rules/tracking-complexity/rule.mdx index dd06a484629..3e754d45bda 100644 --- a/public/uploads/rules/tracking-complexity/rule.mdx +++ b/public/uploads/rules/tracking-complexity/rule.mdx @@ -11,7 +11,7 @@ thumbnail: /uploads/rules/tracking-complexity/grug.png created: 2026-02-18T06:27:56.778Z createdBy: Sam Wagner createdByEmail: SamWagner@ssw.com.au -lastUpdated: 2026-02-19T04:05:54.937Z +lastUpdated: 2026-02-19T04:14:54.530Z lastUpdatedBy: Sam Wagner lastUpdatedByEmail: SamWagner@ssw.com.au --- @@ -29,3 +29,11 @@ Complexity is the total sum of all the different concepts in any given system. N > "A distinct piece of knowledge would cause someone to be blocked if they didn't have it." So, with this definition we can start to examine our software projects and see how complicated they really are. Now, notably there's nothing in this definition that says that a concept has to be a “package”, “library”, or anything that's specifically tied to something you can point at. So, Next.js would be a concept. But, so would Clean Architecture, cross-field validation, the redux pattern, etc. + +## Why Do We Need It? + +## Accidental Complexity + +## Short-term Gain + +## Explaining the Cost Of Complexity