Programming is many things
Programming is many things.
A single person (group) can do all of the things, but, if you need to scale upwards from a cottage industry mindset, you need to find ways to cleave the work into separate parts, which can be done by other people / groups.
The essence is to provide a notation for communication between the parts, that allows each of the parts to concentrate on their goals
- probably needs more than one “language” / notation (ex. construction blueprints as opposed to CAD drawings of I-beam details)
Possible Breakdown of Programming Into Separate Parts
- SWArch
- Architecture
- Requirements gathering
- sketching, storyboarding, roughing-in
- SWEng
- Engineering
- MVI - Minimum Viable Implementation
- need to maintain provenance to original SWArch sketch
- Engineer can use any technology, but, it needs to be known to work
- SWImpl
- Implementation
- MVI
- subsequent iterations
- SWProdEng (Production Engineering)
- Optimization
- possible refactoring of MVI
- need to maintain provenance to original Architectural sketch
- Optimization
- SWMaint
- SWTesting
- white box
- black box
- regression
- Q/A
- etc, etc.
The members of each group are allowed to communicate / negotiate with the other groups in an iterative manner. Yet, each group must concentrate on their set of goals.
Appendix Examples
- Kinopio2md case study
- to follow in another note
Appendix - Original Notes
https://kinopio.club/differentiating-swarch-from-sweng-from-swimpl-from-swprodeng-from-swmaint-from–AJoDrdgLzyNK7dyRsqlPU
Appendix - TL;DR
(self-reference to this note, don’t bother reading or following this reference if you’re already reading this …)
I believe strongly that SWArch, SWEng, SWImpl, SWProdEng, SWMaint, etc. are very distinct disciplines under the same umbrella called “programming”.
A single person (group) can do all of the things involved in programming, but, if you need to scale upwards from a cottage industry mindset, you need to find ways to cleave the work into separate parts which can be done by other people / groups.
Appendix - See Also
References
https://guitarvydas.github.io/2021/12/15/References.html
Blogs
obsidian blogs (see blogs that begin with a date 202x-xx-xx-)
Videos
videos - programming simplicity playlist
Books
leanpub’ed (disclaimer: leanpub encourages publishing books before they are finalized - these books are WIPs)
Programming Simplicity Takeaways, and, Programming Simplicity Broad Brush
Discord
Programming Simplicity all welcome, I invite more discussion of these topics, esp. regarding Drawware and 0D
@paul_tarvydas
Mastodon
(tbd, advice needed re. most appropriate server(s))