1. 程式人生 > >讀書筆記@系統工程的藝術與科學

讀書筆記@系統工程的藝術與科學

機緣巧合遇到這本小冊子,很lucky。2018/8/12

本書希望對系統工程下一個明確的定義,用以描繪優秀的系統工程師特質,以及明確所有NASA工程師的成長目標。

本書所有的內容都基於有複雜性挑戰的系統而言。簡單的一個系統、既不需要怎麼設計,也不需要怎麼管理。

我不懷疑NASA對系統工程學領域的經驗和權威。畢竟最早最大的一個軟體系統都誕生在NASA。對於如何給系統工程下一個定義,主要從人的維度入手(工程師的職責與工作),用工作內容界定工作領域。

本書給我最深刻的印象在於劃分工程師能力的三個維度:技術領導力、技術寬度、過程與系統管理。

最近幾個月前,我總結技術經理真正的使命應該是什麼。思考了幾周、當時下了個英文定義:leading tech's future。跟技術領導力類似,更多是面向團隊、指引系統發展的技術路線,強調的是tech域的leadingship,不是people域的leadingship。國內很多文章說技術leader不應該再專注在技術這件事上,感覺很扯淡。

 這該是業務開發的一條主發展路線,雖然國內並沒有很強調tech leadingship,但系統越來越複雜、對應人才需求也越來越茂。

#系統工程師角色#

書中提及:系統工程師就像一個管絃樂隊的指揮大師,他知道好的音樂聽起來是什麼,以及有能力帶領一個團隊演奏出好的音樂。

系統工程師對整個系統的成功負責。首先他要求有專業能力,在這個領域內做架構和設計。其次他必須具備技術領導力,將所有不同技能的人組織協作寫來。

跟specialist相比,他更多是一個generalist,在各種領域裡做tradeoffs和compromises。他要從綜合與全域性技術域的角度去考慮系統。這種綜合能力不僅在團隊管理,最主要的是在技術領域。

所以本書提出來一個詞:技術領導力(tech leadingship)。跟我們傳統意義上的team leadingship不太一樣,團隊領導力hr都能幹、技術領導力只能有技術思維的人來幹。

由於NASA涉及軟體、硬體、電子、物理、天文等多學科,因此導致系統的複雜性很高、是個大工程。對應的也強調綜合技術,要求強大的技術整合能力。 

#工程師的能力與範圍#

本書提及工程師應該具備兩種能力,一種是技術領導能力,另一種系統管理能力。系統工程的第一個目標、也是最重要的目標是正確的設計,其次才是將各種技術整合在一起正確的實施。

技術領導力是藝術(art)。理解領域,掌握工程知識,善於發現、分析與解決問題。要求技術綜合素質,有能力做技術整合,保證正確的系統。

系統管理是科學(science)。針對的是一個活動的生命週期,拆解流程步驟,保證正確的實施。

科學和藝術兩件事,藝術一般說不清楚,和個人的經驗息息相關,也有原則指導、更偏個人學習、理解與實踐。科學一般都有通用的檢驗標準,能夠重複做實驗。

該書鑑定系統工程師的範圍:設計,開發和運營。系統工程師也許並不是親自做這一塊事情,但一定要有相關的專業知識及能力、知道各域的大原則,將整個系統合協的演奏起來。

#系統工程師的fetures#

依賴主觀認識。不同層次的人理解不一樣,不多談。

#複雜系統的設計過程#

書中提及一個設計的7個過程:定義問題與目標,確定衡量標準,綜合考慮淺在的候選方案集,分析、比較、選擇最優方案,最後再實現。

我們經常直接對問題給出解決方案。但往往問題並不像表面那麼簡單,需要做很多一些分析。中間也會省略掉很多候選方案的過程,少了很多權衡思考。

書中也分享了一些設計原則,比方說gap分析、健康張力、魯棒設計等等。這些原則屬於一些偏抽象的指導。最主要的還是實踐,沒有實踐,對這些形而上的原則理解不會太深刻。

#工程師的能力等級#

NASA能力維度分成三類:技術領導力,技術的寬度(綜合),過程與系統管理。這三類維度服務的目標很明確,就是為了解決複雜的系統工程。雖然我司工程師標準與NASA某些方面相似,但目標確不如這般清淅連續、更像堆砌物。

綜合技術能力很少被國內提及,也許跟NASA需要整合很多領域技術相關吧。過程與系統管理,類似軟工的專案管理和系統運營。