Changes for page General Insights

Last modified by chrisby on 2024/09/19 10:56

From version 1.42
edited by chrisby
on 2024/05/18 09:42
Change comment: There is no comment for this version
To version 1.38
edited by chrisby
on 2024/03/03 13:56
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -2,7 +2,7 @@
2 2  
3 3  #### Economic Development
4 4  
5 -* **Economic Development Explained**: The ultimate goal of any software development effort is resource efficiency. In a business context, resources primarily mean money. That is, whether the topic is clean code, testing, architecture, agile, or even personal behavior as a professional, the goal is always to follow the **economic principle** of either achieving a fixed software goal using minimal resources (the **minimum principle**), or spending a fixed amount of time generating the most (business) value (the **maximum principle**). The goal is economic, the means to achieve it are technical. This means that the software engineer must think about the resources used for every technical decision, including typical business considerations such as cost-benefit and risk estimates. This is a valid business expectation for software engineers. And often, the best bu
5 +* **Economic Development Explained**: The ultimate goal of any software development effort is resource efficiency. In a business context, resources primarily mean money. That is, whether the topic is clean code, testing, architecture, agile, or even personal behavior as a professional, the goal is always to follow the **economic principle** of either achieving a fixed software goal using minimal resources (the **minimum principle**), or spending a fixed amount of time generating the most (business) value (the **maximum principle**). The goal is economic, the means to achieve it are technical. This means that the software engineer must think about the resources used for every technical decision, including typical business considerations such as cost-benefit and risk estimates. This is a valid business expectation for software engineers.
6 6   * Minimum principle example: When implementing a feature - which represents a fixed goal - the most time-efficient approach is chosen to get it done.
7 7   * Maximum principle example: The agile team tries to solve as many stories as possible in the time allotted for a fixed length iteration.
8 8  * **Sustainability**: Although economic development is too often misinterpreted as making short-term driven decisions, the actual goal is to achieve maximum profitability, which must include long-term considerations. In this way, time spent on maintaining high code quality through rigorous testing and refactoring are well spent investments that pay off in the long run.
... ... @@ -26,4 +26,4 @@
26 26  * **The sooner a problem is addressed, the cheaper it is.** For example, it is much cheaper to discover a problem in development than in production, where it could have caused real business damage. Or it is cheaper to refactor newly written code immediately, when you are familiar with it, than later, when you have forgotten the technical details and subtleties, or when someone else has to refactor it. This is why immediate refactoring, extensive testing, code reviews, and a focus on early feedback have become common practices.
27 27  * **Early Feedback Through Early Implementation.** Tasks like analysis, design, and specification don't provide feedback and therefore no correction mechanism. Without this, a lot of effort can be wasted on concepts that do not work. The first technical feedback comes during implementation. The first user feedback may come after implementation. This is why people use agile and work in iterations to start implementation as early as possible, get feedback as early as possible, and ultimately waste less resources.
28 28  * **Many small steps are cheaper than one big step.** It's more cost-effective to tackle a problem iteratively in small, simple, and safe steps than to tackle its full complexity all at once. That is why practices such as small-step refactoring, test-driven development, continuous integration and story-driven development have prevailed.
29 -* **Individual productivity is higher in a team than when working alone.** A collaborative environment encourages knowledge sharing, professional growth, constructive challenge of individual views, mutual support and feedback. In addition, or if you have no one to talk to about technical issues, I highly recommend discussing problems and code with [ChatGPT 4](https://chat.openai.com/) .
29 +* **Individual productivity is higher in a team than when working alone.** A collaborative environment encourages knowledge sharing, professional growth, constructive challenge of individual views, mutual support and feedback. In addition, or if you have no one to talk to about technical issues, I highly recommend discussing problems and code with [ChatGPT 4+](https://chat.openai.com/) .