Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Topics inbox #30

Open
stanislaw opened this issue Feb 9, 2017 · 0 comments
Open

Topics inbox #30

stanislaw opened this issue Feb 9, 2017 · 0 comments

Comments

@stanislaw
Copy link
Owner

stanislaw commented Feb 9, 2017

  • Centralized vs federated.
  • When sequencing tasks (possibly repetitive), group tasks that are related to each other and split them from other tasks. E.g. writing a requirements document, split the task of collecting Inbox items for the task of allocating requirements to sections. Or extracting from a non-trivial branch the trivial changes as separate Pull Requests and merging them separately.
  • The cost of abstraction
    • Abstraction as a gadget that one has to mentally install. Difficulties of installing abstractions.
    • Over-engineering with wrong abstractions.
    • Examples: State machines
  • Struggle for survival
  • Too many lessons learned paralysis.
    • The development still happens because something has to be built.
    • New companies cannot implement all lessons learned at the same time.

  • Doing less work / busy work. The best code is code that is not written. Engineering is sometimes cheating.
  • A combination of quick-and-dirty scripts that creates miracles. Add after "Quick exploration".
  • Cloning or re-implementing an existing solution is easier than creating a new one.
  • Estimates and intuition. Developers just don't know when they estimate but they may not tell.
  • Managers are your friends.
  • Top-down systems engineering. Single entry point to every topic as anchor. One page per topic.

Top down system engineering is critical for engineering safety into complex systems (MIT ESW)

  • Systems engineering activity consists of computation tasks. SysEngineer acts like IO device.
  • Making decisions in hard situations. Saying NO or YES.
  • Inherently messy.
  • Encyclopedism/esoterism as anti-pattern.
  • Newcomers vs aftercomers (maintenance programmers).
  • In the beginning there was cash.
  • Open positions are not emerging by themselves. Driven by some pain.
  • Before something can scale, it must exist.
  • Transformation of unknown to boring
  • Bad design -> No longer adequate
  • The systems are not based on perfect design.
  • Effective learning is a result of computation.
  • Order (wires and clothes)
  • Maintenance Trade-offs
  • Research teams vs execution teams
  • If a process is done once or rarely, it will likely be slow and full of mistakes or issues.
  • Seek for an opportunity to automate processes or tasks.
  • An example about air traffic: the whole is more important than the interests of individual participants

Documentation

  • Documentation is a garden.
  • Hierarchy, composition, zooming helps in chunking information
  • Redundancy in text: strengthens the common understanding / helps finding errors. This is an exception to the Single Source of Truth principle.

Diagrams

  • I/O model
  • Control/Feedback diagram
  • Static diagram
@stanislaw stanislaw changed the title Describe: Everyone is Busy aka Maintenance Trade-offs Some topics to decribe Nov 18, 2021
@stanislaw stanislaw changed the title Some topics to decribe Topics inbox Nov 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant