看待未來的4種方法

樂觀的人迎接未來,悲觀的人恐懼未來
將未來看成不確定的人:將過程看得比實質重要,在欠缺具體計畫時,就盡量收集多種選項,就是沒為了特定的目標做好準備。
將未來看成確定的人:他們會決定一件最該做的事,盡力而為。奮力培養出色的實力,以求獨霸一方。

不確定的悲觀主義:混一天算一天,唯一能做的事就是等待
確定的悲觀主義:覺得前景黯淡無光,必須預早做好準備。有錢人正設法把錢往外搬,窮苦中國人則盡力存下每一分錢,希望存下的錢足夠花用。嚴肅看待未來
確定的樂觀主義:做好計畫並付出努力,未來一定會比現在更好。
不確定的樂觀主義:不會耗費數年的時間打造新產品,而是會重整既有的發明

樂觀確定的未來會需要工程師設計海底城市和太空殖民地,樂觀不確定的未來則需要更多銀行家和律師。
只有確定的未來,金錢才是達到目標的手段,而非目標。

art of agile

What is the success of  a software project?

tranditional success:
The traditional idea of success is delivery on time, on budget and according to specification
Successful : completed on time , on budget, with all the features and functions as originally specified
Challenged : completed and  operational but over budget, over the time estimate, with fewer features and functions than originally specified

Impaired :  cancelled at some point during the development cycle

true success: 
Without personal success, you’ll have trouble motivating yourself and employees.
Without technical success, your source code will eventually collapse under its own weight.
Without organizational success, your team may find that they’re no longer wanted in the company
organizational success : deliver value and decrease costs
(1) Agile projects release their most valuable features first and release new versions frequently, which dramatically increases value. When business needs change or when new information is discovered, agile teams change direction to match
(2)  the best agile projects generate only a few bugs per month (review and refactor continually). They also eliminate waste by cancelling bad projects early and replacing expensive development practices with simpler ones

technical success :  transparent, quick response, test-driven development

personal success :

#Executives and senior management

They will appreciate the team’s focus on providing a solid return on investment and the software’s longevity.

#Users, stakeholders, domain experts, and product managers

They will appreciate their ability to influence the direction of software development, the team’s focus on delivering useful and valuable software, and increased delivery frequency.

#Project and product managers

They will appreciate their ability to change direction as business needs change, the team’s ability to make and meet commitments, and improved stakeholder satisfaction.

#Developers

They will appreciate their improved quality of life resulting from increased technical quality, greater influence over estimates and schedules, and team autonomy.

#Testers
They will appreciate their integration as first-class members of the team, their ability to influence quality at all stages of the project, and more challenging, less repetitious work.

thinking fast & slow

fast thingking :
1. expert intuition
2. heuristic

slow thinking:
a slower, more deliberate and effortful form of thinking

halo effect:
when the handsome and confident speaker bounds onto the stage, for example, you can anticipate that the audience will judge his comments more favorably then he deserves.

rule of thumb
use resemblance as a simplifying heuristic to make a difficult judgement

availability heuristic
reliance on the ease of memory search, first instance came to mind

intuition
when faced with a difficult question, we often answer an easier one instead, usually without noticing the substitution. (guided directly by feelings of liking and disliking, with litter deliberation or reasoning)