<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AThe_correct_Desing_Philosophy</id>
	<title>ICT:The correct Desing Philosophy - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AThe_correct_Desing_Philosophy"/>
	<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:The_correct_Desing_Philosophy&amp;action=history"/>
	<updated>2026-07-22T23:28:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mwiki.costasano.club/index.php?title=ICT:The_correct_Desing_Philosophy&amp;diff=110&amp;oldid=prev</id>
		<title>Mngr: Created page with &quot;= Lessons Learned and Design Philosophy =  This page documents the design philosophy and lessons learned that guide the development of this MediaWiki-based research system.  It exists to make implicit experience explicit, and to serve as a long-term guardrail against common project failure modes.  == Background ==  Decades of experience in academic and government-related projects show a recurring pattern:  * A significant portion of projects are never completed * Many co...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:The_correct_Desing_Philosophy&amp;diff=110&amp;oldid=prev"/>
		<updated>2026-01-19T13:07:12Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Lessons Learned and Design Philosophy =  This page documents the design philosophy and lessons learned that guide the development of this MediaWiki-based research system.  It exists to make implicit experience explicit, and to serve as a long-term guardrail against common project failure modes.  == Background ==  Decades of experience in academic and government-related projects show a recurring pattern:  * A significant portion of projects are never completed * Many co...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Lessons Learned and Design Philosophy =&lt;br /&gt;
&lt;br /&gt;
This page documents the design philosophy and lessons learned that guide the development of this MediaWiki-based research system.&lt;br /&gt;
&lt;br /&gt;
It exists to make implicit experience explicit, and to serve as a long-term guardrail against common project failure modes.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
Decades of experience in academic and government-related projects show a recurring pattern:&lt;br /&gt;
&lt;br /&gt;
* A significant portion of projects are never completed&lt;br /&gt;
* Many completed systems are never used&lt;br /&gt;
* Most successful systems only become useful after substantial rework&lt;br /&gt;
&lt;br /&gt;
Despite advances in technology, this pattern has remained largely unchanged over time.&lt;br /&gt;
&lt;br /&gt;
The primary causes are rarely technical.  &lt;br /&gt;
They are conceptual and organizational.&lt;br /&gt;
&lt;br /&gt;
== Core Observation ==&lt;br /&gt;
&lt;br /&gt;
Most project failures originate from:&lt;br /&gt;
&lt;br /&gt;
* Unclear or unstable concepts&lt;br /&gt;
* Implicit assumptions that are never documented&lt;br /&gt;
* Premature implementation&lt;br /&gt;
* Confusion between structure, storage, and presentation&lt;br /&gt;
* Lack of a shared mental model among stakeholders&lt;br /&gt;
&lt;br /&gt;
Once implementation begins, correcting these issues becomes exponentially more expensive.&lt;br /&gt;
&lt;br /&gt;
== Fundamental Principle ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Implementation should follow understanding, not precede it.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This system is designed according to that principle.&lt;br /&gt;
&lt;br /&gt;
== Design Philosophy ==&lt;br /&gt;
&lt;br /&gt;
The following principles guide all design and implementation decisions.&lt;br /&gt;
&lt;br /&gt;
=== 1. Conceptual Clarity First ===&lt;br /&gt;
&lt;br /&gt;
* Entities must be explicitly defined before they are modeled&lt;br /&gt;
* Names must correspond to clear concepts&lt;br /&gt;
* Ambiguous concepts are resolved before implementation&lt;br /&gt;
&lt;br /&gt;
If a concept cannot be explained clearly, it is not ready to be implemented.&lt;br /&gt;
&lt;br /&gt;
=== 2. Documentation Is Part of the System ===&lt;br /&gt;
&lt;br /&gt;
Design documentation is not an afterthought.&lt;br /&gt;
&lt;br /&gt;
ICT pages are treated as:&lt;br /&gt;
* Design agreements&lt;br /&gt;
* Memory of decisions&lt;br /&gt;
* Context for future contributors&lt;br /&gt;
* Protection against ad-hoc changes&lt;br /&gt;
&lt;br /&gt;
Undocumented decisions are considered unstable.&lt;br /&gt;
&lt;br /&gt;
=== 3. Slow Down at the Right Moment ===&lt;br /&gt;
&lt;br /&gt;
Time invested early in:&lt;br /&gt;
* analysis&lt;br /&gt;
* reflection&lt;br /&gt;
* documentation&lt;br /&gt;
&lt;br /&gt;
prevents large-scale refactoring later.&lt;br /&gt;
&lt;br /&gt;
Deliberate pauses before implementation are a feature, not a delay.&lt;br /&gt;
&lt;br /&gt;
=== 4. Separate Concerns Explicitly ===&lt;br /&gt;
&lt;br /&gt;
The system separates:&lt;br /&gt;
&lt;br /&gt;
* Historical reality (HeritageObjects, Actors)&lt;br /&gt;
* Interpretation and narrative (ResearchChapters)&lt;br /&gt;
* Representation (DigitalAssets)&lt;br /&gt;
* Storage (Files)&lt;br /&gt;
* Technical infrastructure (Cargo, Page Schemas)&lt;br /&gt;
&lt;br /&gt;
Blurring these layers leads to brittle systems.&lt;br /&gt;
&lt;br /&gt;
=== 5. Avoid Premature Optimization and Automation ===&lt;br /&gt;
&lt;br /&gt;
Automation is introduced only when:&lt;br /&gt;
* the underlying model is stable&lt;br /&gt;
* workflows are well understood&lt;br /&gt;
* manual processes have proven their value&lt;br /&gt;
&lt;br /&gt;
Early automation hides conceptual flaws instead of solving them.&lt;br /&gt;
&lt;br /&gt;
=== 6. Favor Evolution over Perfection ===&lt;br /&gt;
&lt;br /&gt;
The goal is not a perfect initial model, but a stable and evolvable one.&lt;br /&gt;
&lt;br /&gt;
Changes are expected, but they must be:&lt;br /&gt;
* intentional&lt;br /&gt;
* documented&lt;br /&gt;
* conceptually justified&lt;br /&gt;
&lt;br /&gt;
Schema drift without reflection is discouraged.&lt;br /&gt;
&lt;br /&gt;
=== 7. Implementation Is Reversible; Conceptual Errors Are Not ===&lt;br /&gt;
&lt;br /&gt;
Technical choices can often be changed.&lt;br /&gt;
Conceptual misunderstandings are far more costly.&lt;br /&gt;
&lt;br /&gt;
For this reason:&lt;br /&gt;
* ER models are frozen before implementation&lt;br /&gt;
* Entity definitions are agreed upon first&lt;br /&gt;
* Structural changes require reflection&lt;br /&gt;
&lt;br /&gt;
== Working Method ==&lt;br /&gt;
&lt;br /&gt;
The adopted working method follows this cycle:&lt;br /&gt;
&lt;br /&gt;
# Think&lt;br /&gt;
# Define&lt;br /&gt;
# Document&lt;br /&gt;
# Review&lt;br /&gt;
# Reflect&lt;br /&gt;
# Implement&lt;br /&gt;
# Evaluate&lt;br /&gt;
# Iterate deliberately&lt;br /&gt;
&lt;br /&gt;
Skipping steps increases the risk of failure.&lt;br /&gt;
&lt;br /&gt;
== Intended Audience ==&lt;br /&gt;
&lt;br /&gt;
This page is intended for:&lt;br /&gt;
&lt;br /&gt;
* System administrators&lt;br /&gt;
* Editors involved in structural decisions&lt;br /&gt;
* Future maintainers&lt;br /&gt;
* Anyone wondering &amp;#039;&amp;#039;why&amp;#039;&amp;#039; things are done this way&lt;br /&gt;
&lt;br /&gt;
It is not intended as a technical manual.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
This document expresses the current design philosophy.&lt;br /&gt;
&lt;br /&gt;
It should evolve only when experience clearly justifies it.&lt;/div&gt;</summary>
		<author><name>Mngr</name></author>
	</entry>
</feed>