<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Chinonso Ani</title>
    <description>The latest articles on DEV Community by Chinonso Ani (@kingnonso).</description>
    <link>https://dev.to/kingnonso</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1058241%2Fb7bebe7f-9726-4883-a7b7-4d265df457f8.jpeg</url>
      <title>DEV Community: Chinonso Ani</title>
      <link>https://dev.to/kingnonso</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kingnonso"/>
    <language>en</language>
    <item>
      <title>Reviewing a 1992 paper: Foundations for the study of Software Architecture</title>
      <dc:creator>Chinonso Ani</dc:creator>
      <pubDate>Tue, 16 May 2023 11:06:43 +0000</pubDate>
      <link>https://dev.to/kingnonso/reviewing-a-1992-paper-foundations-for-the-study-of-software-architecture-38mk</link>
      <guid>https://dev.to/kingnonso/reviewing-a-1992-paper-foundations-for-the-study-of-software-architecture-38mk</guid>
      <description>&lt;p&gt;This seminal paper by Perry and Wolf pulls Software Architecture definitions from established architectural disciplines.&lt;/p&gt;

&lt;p&gt;Software architecture model consist of 3 components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Elements: processing, data and connecting elements&lt;/li&gt;
&lt;li&gt;Form: properties of/ relationships amongst elements&lt;/li&gt;
&lt;li&gt;Rationale: system constraints amongst elements and form.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Architecture vs Design
&lt;/h1&gt;

&lt;p&gt;Design is a separate activity from implementation, but it is also a separate activity from architecting.&lt;/p&gt;

&lt;p&gt;In design, there needs not be any reason given, any standards followed. However, architecture evokes notions of codification, abstraction, standards and style. It points the Software Architect to "this is how" and "this is why" - a formal methodology which requires formal training.&lt;/p&gt;

&lt;h1&gt;
  
  
  Gains and expectations
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Architecture must satisfy the functional and non-functional requirements of the system&lt;/li&gt;
&lt;li&gt;Architecture is the basis for design, cost estimation and process management&lt;/li&gt;
&lt;li&gt;Architecture as an effective basis for reuse&lt;/li&gt;
&lt;li&gt;Architecture as the basis for dependency and consistency&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;What I particularly love is how the field of software architecture was synthesized from other disciplines&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Like a building architect who sits with a client to design their future home, the software architect must sit with the various users and use cases to design both the functional and non-functional requirements of the system.&lt;/p&gt;

&lt;h1&gt;
  
  
  Descriptive vs Prescriptive architectural style
&lt;/h1&gt;

&lt;p&gt;Descriptive - codification of design elements and formal arrangement&lt;/p&gt;

&lt;p&gt;Prescriptive - limits the kinds of design elements and their formal arrangements&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Because one does not just build a sky scrapper with wooden posts and beams.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Architectural choices has to be tied to Software Engineering principles (prescriptive)&lt;/li&gt;
&lt;li&gt;Architectural choices has to be tied to Software Engineering materials (descriptive)&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  The design process
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Requirements: information about users and use cases&lt;/li&gt;
&lt;li&gt;Architecting: framework for satisfying the requirements that determines what architectural elements to select and how they would interact with each other.&lt;/li&gt;
&lt;li&gt;Design: modularization and detailing of interfaces of the architectural elements, data types and database types&lt;/li&gt;
&lt;li&gt;Implementation: representation of the algorithm and data types for the design&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Tech debt: Bad architecture leads to huge debts
&lt;/h1&gt;

&lt;p&gt;Technical debt defines the increasing brittleness of a system - that is its increasing resistance to change or at least to change gracefully. Whilst it has been seen as a problem with the codebase, it is actually a 2 part architectural problem:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Architectural erosion: violations of the architecture&lt;/li&gt;
&lt;li&gt;Architectural drift: insensitivity about the architecture - which leads to inadaptability of the architecture. This then results in lack of clarity and coherence of form - which in turn makes it much easier to violate the architecture that has now become more obscure.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Take home
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Using a framework like react (a javascript web library) or django (a python web framework) or spring (a java framework) does not automatically give your code an architecture.&lt;/li&gt;
&lt;li&gt;If you don't know the underlying architecture upon which the framework you are using is built, it is easy to violate it.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>architecture</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Wagtail: Engineering transformation through documentation</title>
      <dc:creator>Chinonso Ani</dc:creator>
      <pubDate>Thu, 13 Apr 2023 12:35:59 +0000</pubDate>
      <link>https://dev.to/kingnonso/wagtail-engineering-transformation-through-documentation-b57</link>
      <guid>https://dev.to/kingnonso/wagtail-engineering-transformation-through-documentation-b57</guid>
      <description>&lt;p&gt;Writing is the only way to talk without being interrupted, and sometimes authors just talk on!&lt;/p&gt;

&lt;h2&gt;
  
  
  Signposting the problems
&lt;/h2&gt;

&lt;p&gt;In reading through the GSOD page I noticed this&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IBq4PacJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s1ka2og1jnj1m5oy6lq0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IBq4PacJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s1ka2og1jnj1m5oy6lq0.png" alt="About Wagtail Docs" width="800" height="122"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is the problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There is a regular scheduled release cycle for the product (Wagtail) but not for the documentation of the product.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In essence &lt;strong&gt;documentation lags behind product&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why is this a problem?
&lt;/h3&gt;

&lt;p&gt;Whilst, this isn't common or applies only to Wagtail, most open source and even closed-source project encounter such problem of &lt;em&gt;doc lagging behind product&lt;/em&gt; hence leading to doc playing catchup. GSOD strives to eliminate this.&lt;/p&gt;

&lt;p&gt;Why this is a problem is because, &lt;em&gt;doc playing catchup to product&lt;/em&gt; is a symptom of a larger systemic problem.&lt;br&gt;
It may imply, that by this time next year, we might still be re-enacting this same catch-up script.&lt;/p&gt;

&lt;p&gt;As software engineers, we know how quickly documentation goes out of date, but we also know how quickly code goes out of date - amongst many things we call it &lt;em&gt;Technical Debt&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Having given a talk on &lt;a href="https://docs.google.com/presentation/d/1jxtaci8H7BRqwUly6un-EY9Xb97HOjIf/edit?usp=sharing&amp;amp;ouid=112194834423799235525&amp;amp;rtpof=true&amp;amp;sd=true"&gt;Technical Debt in 2019&lt;/a&gt; I can call the above problem - Documentation Debt.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Wagtail (as most software projects) has some documentation debt it has to pay. But more importantly, it needs to stop accumulating compound interest on.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is important to prioritize stopping the accumulation of interest over paying it. But it is best to do both - and both can be done.&lt;/p&gt;

&lt;p&gt;The methodology to be applied speaks to the heart of the message - &lt;em&gt;engineering transformation through documentation&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The final output of this transformation (and this is a big and bold claim) would not be the need to gather friction logs, but to completely eliminate the need for friction logging.&lt;/p&gt;

&lt;p&gt;This does not despise or diminish the need for Friction Logs, they are still useful in other context, but no longer for this.&lt;/p&gt;

&lt;h3&gt;
  
  
  Timelines
&lt;/h3&gt;

&lt;p&gt;6 months would allow us to begin to see short-term  progress, but 2-3 years is more like it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Initial 2-3 weeks: Learning - where and how the docs happen, who and what impacts it and when.&lt;/li&gt;
&lt;li&gt;2-3 months: Unlearning - identify the problems in our star and how it occurs&lt;/li&gt;
&lt;li&gt;2-3 years: Relearning - first in building systems and structures, then in building people and communities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A more detailed timeline is to be built with mentors according to the scope to be covered.&lt;/p&gt;

&lt;h4&gt;
  
  
  What to expect
&lt;/h4&gt;

&lt;p&gt;By the next &lt;a href="https://github.com/wagtail/wagtail/wiki/Release-schedule"&gt;release schedule in August&lt;/a&gt; the documentation for that release is already up to date&lt;/p&gt;

&lt;h3&gt;
  
  
  Budget
&lt;/h3&gt;

&lt;p&gt;This is a full time job. The extent to which this has to be driven for impact to be seen early and fast would need strong commitments and full-on dedication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wagtail Documentation: The goals
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Drive adoption of wagtail.&lt;/li&gt;
&lt;li&gt;Provide help and support to people adopting the product.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  The User goals
&lt;/h3&gt;

&lt;p&gt;The User's goals can be framed into four (4) boxes using the Diataxis documentation framework&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;They are beginning to learn about Wagtail, hence seeking a tutorial.&lt;/li&gt;
&lt;li&gt;They want to understand something about Wagtail, hence seeking an explanation.&lt;/li&gt;
&lt;li&gt;They want to carry out a task, hence seeking a how-to guide.&lt;/li&gt;
&lt;li&gt;They are in the process of carrying out a task and want to verify the correct use of a particular widget, hence seeking a reference.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q-M67g5z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/df7man12b6q6wdgf3weu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q-M67g5z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/df7man12b6q6wdgf3weu.png" alt="The Diátaxis framework - credit diataxis.fr" width="800" height="468"&gt;&lt;/a&gt;&lt;br&gt;
Wagtail is however making substantial effort to align its documentation to this frameworks as can be seen on &lt;a href="https://guide.wagtail.org/en-latest/"&gt;Wagtail user guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It has a perculiar challenge as quoted in &lt;a href="https://github.com/wagtail/wagtail/wiki/Google-Season-of-Docs-2023#our-challenge"&gt;the challenge&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We have a lot of strong initial interest in Wagtail both from &lt;em&gt;developers and business stakeholders who are looking&lt;/em&gt; for open source alternatives to a proprietary CMS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Challenge 1 - The People that are looking: Devs and Business people.&lt;/li&gt;
&lt;li&gt;Challenge 2 - Where they are in their buyer's journey&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  General Critique (Friction Log)
&lt;/h2&gt;

&lt;p&gt;I absolutely love how the &lt;a href="https://docs.wagtail.org/en/stable/getting_started/tutorial.html"&gt;Wagtail's Getting Started&lt;/a&gt; guide was initially laid out. It began by giving &lt;em&gt;one line commands with a bold header&lt;/em&gt; helping me quickly build momentum.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yiyPdDkQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/atf72836p59y7jxo1wid.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yiyPdDkQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/atf72836p59y7jxo1wid.png" alt="Image 1: Specific one line commands with headings" width="588" height="688"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a developer, If I want to quickly pace through this guide, I only need to look at the headers and the commands, copy and paste them and move on. This maybe because, as a Django dev, I already know what those command mean and do, hence it is not essential for me to read the details. It may also be because I don't care enough to read, I just want to get to the final output, or I am highly pressed for time to show some productivity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Log 1: Guide is too long
&lt;/h3&gt;

&lt;p&gt;This guide is too long or the content on this page is long to all be on the same page. This is a problem because:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It does not enable Wagtail track which phase people are and where they drop off. If it is broken up into smaller pages - e.g. Part 1/2/3 etc, then we can tell that 50% of the people did not proceed from Part 4 to 5, hence knowing where the bottleneck is at.&lt;/li&gt;
&lt;li&gt;It does not allow for easy follow on. As a developer following through on the guide, I hate the fact I have to scroll down to somewhere on the page, whenever I come back to it. I hate the fact I don't know where I was and have to spend mental energy comparing my project to each step of the process, because I couldn't just bookmark it.&lt;/li&gt;
&lt;li&gt;Providing bitesize chunks, that proceeds to the next page, provides some form of motivation to continue, since it seems like progress more than scrolling downwards. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the tutorial could be gamified a little bit, makes it all the better. Providing some form of user engagement is essential to learning. See an example from &lt;a href="https://www.howtographql.com/graphql-python/1-getting-started/"&gt;How to GraphQL&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Log 2: Destroying the UX
&lt;/h3&gt;

&lt;p&gt;Despite the super long how-to-guide, I was flowing beautifully, just looking at the headers and the commands. It got to a point where the beautiful momentum, that has been building up is broken, destroying the User (developer) experience.&lt;/p&gt;

&lt;p&gt;As can be seen in the image below, the guide does not maintain the bold headers and dark background commands, but changes that to red sentences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BJJ8wajf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ygcm3l0bxwrsrmuc20s0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BJJ8wajf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ygcm3l0bxwrsrmuc20s0.png" alt="Image 2: A mixture of commands" width="588" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For newbies, this might create a slight confusion of &lt;em&gt;where do I run this command?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For oldies, it definitely has slowed me down! Since I would have to read the entire paragraph, which I either don't want to or don't have the time to.&lt;/p&gt;

&lt;h3&gt;
  
  
  Show Git Diff
&lt;/h3&gt;

&lt;p&gt;As a developer, I use git a lot (who doesn't), and how bewildering it is when I am quickly pacing through this tutorial, especially just copying and pasting code and I meet this&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nq6xpvF6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e6vz50szuaklmyfhiehd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nq6xpvF6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e6vz50szuaklmyfhiehd.png" alt="Show git difference on adding BlogPage to BlogIndexPage" width="662" height="649"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is also important to show the difference to a page or file - showing what is new addition to that page/file so that persons who &lt;em&gt;copy and paste&lt;/em&gt; can quickly follow along seeing what has changed and where.&lt;/p&gt;

&lt;h3&gt;
  
  
  Diataxis: Theory vs Practice - Wagtail User Guide
&lt;/h3&gt;

&lt;p&gt;As a Master's student, I have come to appreciate the difference between theory and practice. In sciences most theories are not practiced as theorized. Mostly because theories are based on Standard Temperature and Pressure - they are lab based. However, all practices have an underlying theory upon which they're based.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Practices are nuanced form of a specific foundational theory&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Wagtail user guide is a good attempt to apply the principles of &lt;a href="https://diataxis.fr/"&gt;Diataxis&lt;/a&gt; technical documentation authoring framework. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tNPXZF4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lf86w6zma4fb9e3u0e8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tNPXZF4V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lf86w6zma4fb9e3u0e8.png" alt="Wagtail User guide" width="689" height="889"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, having studied and thought deeply about it, I've got questions about how it is being applied to Wagtail:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Does it need the content to be broken out into the four different forms of the framework?&lt;/li&gt;
&lt;li&gt;Can a single page contain all four - but using either text styling, font weight, headers, etc to differentiate all four parts?&lt;/li&gt;
&lt;li&gt;Where in the user journey, would a develop need to reference something, prefer a longer explanation of another, etc?&lt;/li&gt;
&lt;li&gt;Would it be beneficial to build a dictionary of Wagtail? Given that the dictionary would become a reference.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  A Reference to the Zen of Wagtail
&lt;/h3&gt;

&lt;p&gt;The Zen of Wagtail defines four users: the content author, site administrator, developer and designer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yq9eApnX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vn4nb12cn0qfvscqtedk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yq9eApnX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vn4nb12cn0qfvscqtedk.png" alt="The Zen of Wagtail" width="581" height="655"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Having recognized these 4 users from the Zen of Wagtail, does the documentation define or describe: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Who - the guide is for? Is it for: the content author, site administrator, developer or designer?&lt;/li&gt;
&lt;li&gt;At what stage of buying journey is this person? Are they trying it out to compare it with something else? Or on a committed journey, needed some good reading digest.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;From the guide&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can’t make a beautiful website by plugging off-the-shelf modules together - expect to write code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It wouldn't appeal to anyone who is a content author, comparing content authoring tools.&lt;/p&gt;

&lt;p&gt;Whilst the breakdown of users might appeal to larger organizations, &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We have a lot of strong initial interest in Wagtail both from developers and business stakeholders who are looking for open source alternatives to a proprietary CMS&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It doesn't define the amount of dev effort that would be needed to see a page to simply author and publish content. Hence doesn't compare well for there's no way to measure the effort.&lt;/p&gt;

&lt;p&gt;Hence failing from lacking clarity and not from being bad.&lt;/p&gt;

&lt;h3&gt;
  
  
  Unhelpful feedback
&lt;/h3&gt;

&lt;p&gt;What should the technical author make of this response from the bottom of the page on the guide? Either positive or negative is both bland.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w4rIQgK3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7emq4cv5ss7szvgib6br.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w4rIQgK3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7emq4cv5ss7szvgib6br.png" alt="Unhelpful feedback" width="689" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I believe using the &lt;a href="https://ubuntu.com/blog/humans-may-be-rational-or-how-to-collect-better-documentation-feedback-with-linguistic-theory"&gt;Linguistic Theory&lt;/a&gt; would be tonne more useful than this.&lt;/p&gt;

&lt;p&gt;Apply this theory would also have to be nuanced to the product vision of Wagtail. However, this theory forms a good basis to build on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prioritizing what, who and how to write
&lt;/h2&gt;

&lt;p&gt;We don't have infinite resources of time, energy, money, etc. Hence building a strategy should prioritize the right things over time:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What - Dev docs&lt;/li&gt;
&lt;li&gt;Who - Devs&lt;/li&gt;
&lt;li&gt;How - Technical language: with a depth from simple (for beginners) to complex (for architects and core devs)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The first 6 months would be targeted at these.&lt;/p&gt;

&lt;p&gt;Using the principles of good &lt;a href="https://refactoring.fm/p/design-docs"&gt;design docs&lt;/a&gt; - is creating the MVP of docs: MV stands for &lt;em&gt;Most Valuable&lt;/em&gt; and &lt;em&gt;Minimum Viable&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PGvD_QhO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://substackcdn.com/image/fetch/f_auto%2Cq_auto:good%2Cfl_progressive:steep/https%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fc6222b87-4a4d-477a-bac6-a58e70a4c2e1_2012x1338.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PGvD_QhO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://substackcdn.com/image/fetch/f_auto%2Cq_auto:good%2Cfl_progressive:steep/https%253A%252F%252Fsubstack-post-media.s3.amazonaws.com%252Fpublic%252Fimages%252Fc6222b87-4a4d-477a-bac6-a58e70a4c2e1_2012x1338.png" alt="Design Docs MVP map" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And to really engage devs is to use David Pink's framework from his book - Drive:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Autonomy — the desire to be self-directed&lt;/li&gt;
&lt;li&gt;Mastery — the desire to improve our craft.&lt;/li&gt;
&lt;li&gt;Purpose — the desire to have a positive impact.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A documentation written that shows possible paths and allows devs to determine how they want to travel.&lt;/p&gt;

&lt;p&gt;A documentation that allows devs to determine the level of mastery (or complexity)&lt;/p&gt;

&lt;p&gt;A documentation written, aligned to their purposes. This is how to lead an engineering transformation through well written documentation.&lt;/p&gt;

</description>
      <category>wagtail</category>
      <category>documentation</category>
      <category>opensource</category>
      <category>writing</category>
    </item>
  </channel>
</rss>
