今日推薦開源項目:《美學 WebGL-Fluid-Simulation》
今日推薦英文原文:《Staying Focused and Understanding Trade-offs》
今日推薦開源項目:《美學 WebGL-Fluid-Simulation》傳送門:GitHub鏈接
推薦理由:一個玩起來簡單的小遊戲項目,通過滑鼠的拖動在屏幕上創造色彩,簡單但是意外的吸引人。在操作面板里可以控制諸如背景顏色這樣的效果,或者截個圖作為美學的紀念——不管是精心思考之後得來的巧妙花紋還是在不斷使用隨機生成時偶遇的奇觀景象。
今日推薦英文原文:《Staying Focused and Understanding Trade-offs》作者:Sean Watters
原文鏈接:https://medium.com/better-programming/staying-focused-and-understanding-trade-offs-4ec9d9be315d
推薦理由:區分開那些優先順序高和優先順序低的任務,把精力集中於真正重要的事情中
Staying Focused and Understanding Trade-offs
While this post is focused on software development, I have also found these ideas useful in other contexts. In fact, I have developed these perspectives primarily outside of a software context.
Every software project comes with a unique set of challenges. To ensure success, it』s important that your project has a clearly defined purpose.
Narrow Your Focus — Separate The Signal from the Noise
In most contexts people talk about goals in general terms: 「I want to build an app that changes the world」. However, when it comes to execution, there are some common deficiencies which trip people up:- Difficulty determining the steps necessary to execute efficiently
- Inability to accept sub-optimal, but adequate and necessary, solutions
- Struggling to change course and discard plans that are no longer valuable or necessary —— even if that means most or all of them.
Note: it is important to understand that 『distracting』 tasks are not neutral — they are always in the way of fixing real problems.
Prioritization
Prioritizing tasks and understanding the difference between signal and noise go hand and hand — effective prioritization has strong dependency on a clearly defined objective.Difficulties with prioritization often stem from a lack of understanding of how the feature or task relate to the overall project objective. This is a good example of poor prioritization: feeling the need to build your own framework so that it meets the exact needs of the application in the most efficient way possible, before you even have an MVP or have validated the market for the thing you are building. Unless your product is web frameworks, it would be misguided to spend that energy on it this early. There isno need to for an infinitely scalable framework if you only have 4 users.
Task prioritization should be ordered by value generated over effort necessary to deliver on the task, with varying value weight placed on short term vs. long term implementation.
For a brand new startup, prioritizing longevity is important and writing bad code is never a good idea, but spending weeks polishing your backend code base that already works, while your UX is suffering due to poor front-end design, is poor prioritization. On the other end of the scale, a large company with high traffic volume failing to address scalability over minor UI changes with no tangible value generated, is also poor prioritization.
The majority of priority decisions boil down to trade-offs. Remaining intentional about keeping your overarching goals in mind and understanding the implications of the trade-offs you make is fundamental to stable growth.
下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/