創新式開發探索(四) 探索式學習

2022-01-13 16:02:05 字數 1224 閱讀 6544

我們真正需要掌握一種有效有力的方法體系,獨立觀察和分析事實, 得出自己的結論, 而不是接受現有結論,人云亦云。當學習一樣新事物或新技術時,不是想著快速掌握它以滿足工作需要賺取薪水,而是深入細研它,能夠從中有新的發現和洞見。

我們從小深受「灌輸式學習」的危害 , 總是在別人經驗的「安全已知」的保護之下行動, 期望以最小代價獲得最大收益,  然而,卻因此失去了探索能力和創造能力, 對別人經驗企及不到的地方, 望而卻步。

回想一下, 

一種常見場景是:

按照技術書籍和文章, 一步步搭建起環境, 執行成功。 然後, 就可以大呼 「oh yeah, 成功了!」 ; 接著,一遍遍地重複這一過程。 如果失敗了, 會去埋怨別人的做法是否有問題, 而這件事原本就是該自己去探索, 別人只不過提供一些有用的線索而已; 如果成功了, 是否會繼續深入透徹地探索別人沒有做完的工作?

在軟體和產品開發活動中, 同樣, 沒有什麼固定的東西可以遵循。 起初, 也許通過那些常規模式和方法就能完成不少任務, 然而, 一旦開始熟練了, 就會發現很多東西一遍遍地重複。 這時候, 可能要面臨兩個更大的挑戰: 整體設計和技術選型。 整體設計是指對整個的需求和開發有更透徹地理解, 能夠洞悉其中的關聯, 從而設計出更好的框架來處理問題, 加快開發效率和保證質量; 技術選型是指需要在多個技術元件中選擇最適合專案的那種,保證實現需求的關鍵指標和滿足約束。

這兩個挑戰都超出了」已知「 的範圍, 是必須自己去真正探索的, 即使現有的經驗也無法直接幫你完成任務。 也正是因為 "超出已知", 才能成為你獨特的優勢。

此外, 也會有很多事情的阻力非常之大。 需要有魄力地去開拓。 就像賈伯斯當年創辦蘋果一樣, 他並沒有系統地學習產品開發、市場營銷、風險投資之類的事情, 而是在時勢所迫的情況下, 依靠自己的直覺、個性一步步去探索, 去消除障礙, 最終達成目標。

軟體開發, 本質是探索性的活動。 每乙個開發任務,都是一件需要依據直覺、經驗、專業能力和職業素養進行持續探索、判斷、決策、調整、進擊的事情, 而不是一件簡單的可以借鑑和重複的事情。期望以例行的一成不變的方法去完成各種開發任務,往往會將這件創造性的工作變成平庸乏味的苦活,而且也不能達到出色的地步。

探索式學習, 不是在沙灘上漫步, 而是在大海之中航行, 必須保持高度敏銳的感知、判斷和決策, 在不確定性的情況下堅持不懈地探索方向。

探索式學習, 就是在這種不確定性的狀態下, 去做自己不太確定的事情, 就像一種冒險一樣, 你並不知道前方會是什麼, 但是, 通過堅持不懈地努力之後, 你會看到不一樣的風景和收穫。

具體而言, 

四 探索需求 專案調研

四 探索需求 專案調研 心態 耐心。把自己作為乙個初學者,對所有的事情都是平等的 新奇的 不可能的。原則 調動一切可以調動的資源。量化,可測試你的需求。過程 1,為每乙個會議設立議題,避免不相關人員的參與。為每一類人準備相關的題目。2,讓客戶表達他的期望。幫他找到最低與最高期望。技巧 1 事務的名稱...

(四)容器探索 關聯容器

關聯容器的查詢和插入都很快,類似於資料庫,通過key來查詢value 底層通過紅黑樹和hast table來支援。一 紅黑樹 1 按照key來排序 二 set multiset 1 key即value,所以不允許修改值 2 將迭代器設定為const,來阻止修改其值 3 set的操作,都交給了紅黑樹來...

Apple Watch 開發探索日誌 一

看了一點wwdc的216 sd layout and animation techniques for watchkit,上面提到在aw上面要生成控制項 必須一定要利用storyboard拖曳,不能用 生成 wkinte cetable 這老兄與uitableview不一樣,它不需要透過 協議的方式...