- There is a distinct construction phase that is separate from the maintenance phase.
- Maintenance is less expensive and longer lasting than the construction phase.
- With sufficient documentation and schematics, we can simply follow a set plan.
- There is no incremental value; construction progresses from "not done" to "done".
- It is a knowledge-based profession
- No one wants medicine or surgery if it can be avoided
- Clean code is like eating healthy or exercising
- Pairing and code reviews are like a second opinion
- Making changes to a live system is like performing surgery on a patient while running.
Software is never done, it is always evolving. Software is not done until the last customer logs out and the servers are shut down.
- Some projects have very well-defined phases, which is okay. Hopefully, we will have fewer and fewer of these types of projects each year.
Thanks:Many thanks to @keyvanakbary for the feedback.