Fuchsia FIDL 團隊成員利用了下列四大文化原則,保持專注。當多個看似適合的路徑可用時,設定這些值有助於選擇適當的動作。這些文化原則旨在引導我們如何處理工作、專案、團隊呈現方式,以及定義合作方式。
確保設計清查
我們相當重視「設計卻尚未導入」的廣告空間。我們會編寫想法,避免日後構思過於遠大的想法。
我們希望減少接受尚未實作的 RFC 數量,或是避免在合理時間內得知無法看見當天通知的計畫,也就是我們的時間水平。隨著時間過去,「合理的時間」已從月、半年成長到現在約 1 到 2 年。為了迎接這個新的期間,有許多因素是影響著這個地位1。我們也觀察到,未實作的設計還不夠成熟,而在第一批蝕刻時有意義的要求和架構,很少適合我們稍後深入的研究。
我們設法避免「目前已淘汰,未來將失效」陷阱,為了打造未來、主動將客戶群遷移至這些新功能,並且通常盡量減少進行中的遷移次數。
我們也會盡可能提供具體的答案,說明如何解決目前工具的問題,而不是依照日後推出的功能提供「修正後的問題」。當我們知道一些好事即將發生時,能提供建議給目前的工具是讓人痛苦的一件事,正要提醒我們應在鄰近的程式碼集向使用者提供這個值 (與只有「可能」影響的設計文件不同)。
單一語音
在代表 Fuchsia FIDL 團隊的職涯中,我們會和諧地談論。我們努力向同業傳達清楚且一致的訊息。我們應該始終回答問題、一致地討論發展藍圖、一致描述技術方向、協調工作優先順序等等。
舉例來說,為 fidl-dev@fuchsia.dev 提供協助時,所有團隊成員都應提供相同的建議。如果團隊中的意見不同,我們有責任解決這些問題,以便為使用者提供共同的觀點。
另一個範例是,在代表 FIDL 團隊編寫 RFC 時,隱含表示所有團隊都支持大致的設計方向 (但通常都會在 CL 上討論)。這表示在 RFC 移至「疊代」步驟之前,團隊內部達成了某些校正,可能是透過與 Gerrit CL (例如 Google 文件) 進行前置作業,透過「其他媒介」發生。
未遵守內部針對我們的決策或懷疑,對使用者而言,所執行的技術方面取捨上的情境較少。有時會導致我們必須承認「我們不知道」或「目前沒有任何最佳做法」。在此情況下,我們應說明這些選項及其優缺點,並與使用者合作,引導他們採取最適合自己的行動。
行動偏見
我們以行動、工作和交付內容為優先考量。我們會留言、指導 並批判任何看待演講的地方
在我們所做的每項行動中,都很有幫助,不妨思考一下什麼是正面的結果,也就是我們能向前邁進的步行石。舉例來說,如果我們在團隊同步期間進行了有趣的設計對話,可以快速總結我們在幾個項目符號中討論的內容。下次出現這個情境時,這個背景資訊就會準備好,以更強而的方式重新開啟對話。或者,如果我們在某些程式碼集的 1:1 期間討論了技術債,並抱怨事情的狀態,即使這只是想向所有人提高警覺,也能夠命名問題和想要的結束狀態,我們就可以選擇轉化為具體的具體情況。
先從小規模開始2
我們以逐步的方式演繹遠大的願景,開始逐步分析工作,並先從小型概念驗證開始著手。我們習慣使用臨時快速鍵,專注於達成長期目標。
這包括排定優先順序、細分工作 以及對理想狀態逐步改善舉例來說,我們已自行排除問題,有時則是出於預料之外,先排除使用者遇到的問題,因為我們之後會解決架構上的落差。
舉例來說,引進 Dart FIDL JSON 範本很困難,因為這個範本利用謹慎的組裝程序 (確保我們沒有任何控制代碼,但一開始是以視覺審查類型的方式) 獲得負面影響。這項 Dart FIDL JSON 功能採用的架構差距僅由 RFC-0057:Default No Handle (預設無控點) 關閉,時間超過 18 個月。
另一個範例是程式碼大小分析 (請參閱 76 的 PS1)。我們決定從擁有一些資料且不佳的解決方案著手。然後稍微修正及修正這個解決方案重點是,我們同時進行了具體變更來改進測量結果,以減少 FIDL 擁有的程式碼中的二進位檔大小。因此,我們投入了足夠的資金來產生「提案清單」。並針對這份清單進行縮減,然後重複上述程序。在這個週期結束後的季度結束後,產生的工具就會變得十分精準,且報表功能也非常適合具體用途。後來此工具就已成為一般化的一環,現在是 Fuchsia 規模飲食的重要計畫。
第三個範例是使用 FIDL 語言描述 Zircon API 的例子。這一開始是非常駭人的 FIDL 檔案,其中有些檔案甚至並不會編譯。新的後端 (kazoo) 初期,同時也支援各種目標,依序新增後端。儘管如此,FIDL 檔案還是仰賴駭客入侵、實驗功能等技術。但是,我們對於這項工作的長期方向很有信心,且我們嚴禁在角落處繪製 FIDL 的設計債。
純粹的研究會持續進行,而在直接解決當下的問題,而不考慮對未來計畫的影響。您應留意進度,並積極設法找出未來可行的證明或過期程度。相較於快速鍵,在捷徑的平衡上可以找到適合的平衡,可以做為工程師的精力。熟能生巧。