About#


JUNCTION BOX#


What’s in a name?#

The process of writing software is very similar to the electrical trade in the sense that things are wired up or connected.

Hence the name Junction Box, a place where things are connected.


Overview#


This project is about documenting how we use several technologies that meet the needs of our software development initiatives.


What#


To kick-off, we will be exploring and documenting these technologies:

  1. Diátaxis: A documentation content organisation framework.

  2. Sphinx: A document building tool.


When how we use the first two items has been documented, other technologies on our list include:


  1. Continuous Delivery: Dave Farley Style.

  2. Django: A python web framework.

  3. Pytest: A software testing tool.

  4. Hypothesis: A software testing tool.

  5. Playwright: End-to-end testing for modern web apps.


How#


  1. Create and follow a style guide.

  2. Create standard layouts for content.

  3. Follow the Diátaxis document content framework.

  4. Only record what we have used and tested.


Why#


  1. You want people to use your project.

  2. If you have good documentation, people are more likely to use your project.

  3. If people are more likely to use your project, you will have more contributors.

  4. If people have trouble installing your project with poor documentation, they are more likely to opt out.


Continuous documentation is a critical task often overlooked or poorly executed.

Over time as memories fade, the need for good quality documentation becomes evident.

Things that make sense now often don’t make sense later.

When it is needed, good documentation can ease the load of remembering.

This may help some one else!


When#


Following Continuous Delivery Principles, this is a living document.


The Author#


Mark Sevelj has an electrical trade background.

Roles where often technical and using Python and pandas for data analysis was a lot faster than excel.

A need to formalise and document these scripts and workflows is the purpose of this project.