敏捷方法苗圃.ppt

上传人:豆**** 文档编号:57171478 上传时间:2022-11-04 格式:PPT 页数:311 大小:3.18MB
返回 下载 相关 举报
敏捷方法苗圃.ppt_第1页
第1页 / 共311页
敏捷方法苗圃.ppt_第2页
第2页 / 共311页
点击查看更多>>
资源描述

《敏捷方法苗圃.ppt》由会员分享,可在线阅读,更多相关《敏捷方法苗圃.ppt(311页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、敏捷方法苗圃敏捷方法苗圃驚濤駭浪!台灣軟體業的險境 台灣工廠外移,國力所繫的代工產業台灣工廠外移,國力所繫的代工產業 危在旦夕,舉國寄望軟體業勃然興起,危在旦夕,舉國寄望軟體業勃然興起,但但真相是:真相是:軟體業軟體業乩童乩童乩童乩童*亂舞、神壇遍佈,亂舞、神壇遍佈,導致產業不振!導致產業不振!*乩童乩童乩童乩童 指軟體工程師指軟體工程師不做設計不做設計(切割切割),自然無法做,自然無法做單元測單元測試試,則工作不夠精準,則工作不夠精準(BUG(BUG未除未除;不易閱讀維修不易閱讀維修)軟體品質不軟體品質不良;但他能很快做完軟體並良;但他能很快做完軟體並demodemo,善男信女頂禮膜拜!,善

2、男信女頂禮膜拜!(其主管當年也是乩童,當然不知要糾正此事其主管當年也是乩童,當然不知要糾正此事)*乩童愈多、愈努力,則產生愈多垃圾乩童愈多、愈努力,則產生愈多垃圾乩童愈多、愈努力,則產生愈多垃圾乩童愈多、愈努力,則產生愈多垃圾(指無設計、無法指無設計、無法指無設計、無法指無設計、無法維修的軟體維修的軟體維修的軟體維修的軟體);軟體公司如神壇,當然產業就烏煙瘴氣了;軟體公司如神壇,當然產業就烏煙瘴氣了2 23 3敏捷方法苗圃 座落於:www.AgileMethod.csie.ncu.edu.tw有敏捷方法研討會投影片、上課教材(內有最新資料)、實習教材、國外論文、產業體檢問卷、經驗心得,請鑑賞!

3、4 4軟體行銷 vs.軟體工程軟體行銷軟體行銷軟體行銷軟體行銷 -找出利基產品、客戶,經營品牌,找出利基產品、客戶,經營品牌,是軟體業最重要的事,是軟體業最重要的事,老闆老闆老闆老闆們靈活地全球找商機們靈活地全球找商機 -紅海紅海(既存市場既存市場)或藍海或藍海(全新市場全新市場)行銷行銷之後,開發團隊之後,開發團隊工程師工程師工程師工程師們快速完成高品質產品,們快速完成高品質產品,這是這是軟體工程軟體工程軟體工程軟體工程,才是本課程範圍,才是本課程範圍有人疾呼有人疾呼:應行銷某軟體,軟體業就有錢賺應行銷某軟體,軟體業就有錢賺-混淆議題了!須深沈反省混淆議題了!須深沈反省 工程缺失工程缺失工程

4、缺失工程缺失5 5教材結構p.7 觀念 談 軟體 文化 溝通 思考p.177 方法 擴充 極限開發法(極致工藝法)(eXtreme Programming,XP)而得的十一個工序,叫 myAgilep.266 範例 用 myAgile 開發的 Java 例子p.301 附錄 C#單元測試工具安裝6 6 觀念7 7資訊 與 軟體 資訊(information)是真實世界中,物件(object)與物件之間的關係(relationship)的一種抽象概念(abstraction),而這些概念可由人腦認知及處理(注意:資訊不是電子的 0,1)電腦軟體(computer software)是一種特別的資

5、訊(information),用來描述電腦系統設計與實作的解決方案 生產電腦軟體的產業就叫:軟體業 軟體(software)是否僅限電腦軟體?NO!小說、畫作、舞台劇等,亦是軟體8 8創新 軟體工程 方法本課程以創新方法,提升軟體業工程實力 強調 綿密的團隊溝通 (組織組織心理學心理學*)*)及及專注的個人思考*(*(認知心理學認知心理學*)*)並採新的 測試帶動法測試帶動法 (測試驅動開發測試驅動開發)(Test-driven development,TDD)*軟體與心理學軟體與心理學(如如 cognitive informatics)cognitive informatics)數學數學 (

6、如如 modal logic)modal logic)相相關關*個人思考是陳教授針對國情而補充的,國外文獻無此個人思考是陳教授針對國情而補充的,國外文獻無此 9 9軟體業 文化最重要法國研究者 Bossavit*指出:文化 藏於內心無重量至輕,卻影響至深,所以是軟體業無法承受的輕 例子:鄉間深夜遇紅燈停車乃是發自內心的文化(紀律紀律)確實等候確實等候才可永保行車安全 反之 若自以為聰明 取巧通過取巧通過 看到警察才紅燈停車 某次可能因沒停車而釀成車禍 造成無法承受的傷害*Bossavit,The Unbearable Bossavit,The Unbearable LightnessLight

7、nessLightnessLightness of Programming of Programming,available at:,available at:1010軟體業 文化最重要(Cont.)Bossavit 指出某軟體公司的文化是:熱情(passion)大膽(daring)華麗(glamour)這不是好的文化因熱情,大膽 並不等同 勇氣(courage)軟體外表華麗 也不等同 程式品質 如抽象層次 模組程度 等1111奠定新的軟體業文化從前,台灣房子蓋好後常會漏水從前,台灣房子蓋好後常會漏水 -需需 ”抓漏抓漏”要請技術很好的師傅,用獨門要請技術很好的師傅,用獨門”撇步撇步”修理漏水

8、,一修再修,住戶很不方便修理漏水,一修再修,住戶很不方便為什麼不在當初,就把漏水為什麼不在當初,就把漏水測試測試測試測試做好做好?營造業長年營造業長年缺乏紀律使然缺乏紀律使然!工人訓練不佳工人訓練不佳,工頭監工不嚴工頭監工不嚴軟體業亦然,軟體業亦然,不良不良不良不良工作文化工作文化工作文化工作文化(粗糙粗糙粗糙粗糙,不細膩不細膩不細膩不細膩,精準精準精準精準),造成軟體造成軟體 ”常漏水常漏水”,用戶很不方便,用戶很不方便為什麼:不在為什麼:不在 當初當初當初當初 就建立正確工作文化,就建立正確工作文化,以以 測試來帶動開發測試來帶動開發測試來帶動開發測試來帶動開發 呢呢?文化文化紮根愈早愈好

9、,中學即應進行,紮根愈早愈好,中學即應進行,大一已遲了大一已遲了1212奠定新的軟體業文化(Cont.)陳教授遇過三級木工工班:A級:IKEA工班 有零件工序圖示文件,技術熟練,且會不斷檢查品質,並與在場客戶確認B級:本土年輕工班 技術熟練,但無文件C級:本土年老工班 拼命認真,但品質不行,且工時完全無法預估台灣軟體工班大多屬C級,年輕人應以敏捷工法(可達A級水準)來創業,滿足社會需求 1313文化是產業基礎 但不是產業*舉例說:若故宮博物院視辦特展為文化創意(文創)產業,而以高價門票的收入為產業產值,則這是膚淺短視而不對的 相反的,故宮應低價或免費供民眾觀賞精品,以提升人民文化水準,日後人民

10、才可蘊育出高產值的文創產業*漢寶德漢寶德,”,”當心,文化與產業兩失!當心,文化與產業兩失!”中國時報中國時報,2009.11.29,2009.11.29.1414軟工是軟體業基礎 但不是產業軟體工程(軟工)是任何軟體業都需的工作文化,是軟體業基礎,但軟工本身不是產業 例子:電信軟體是電信領域的軟體業的產品,當某開發團隊做某電信軟體專案時,該團隊的工作方式,特別是溝通方式,就是該專案的軟工1515Agile 文化 軟體業需軟體業需 快捷週密快捷週密 (agile)(agile)的文化的文化:1)綿密的團隊的團隊溝通 團隊成員隨時隨地面對面快速溝通,團隊成員隨時隨地面對面快速溝通,如如:架構設計

11、會議架構設計會議架構設計會議架構設計會議 2)專注的個人的個人思考 各成員個人思考每分每秒要專注週密,各成員個人思考每分每秒要專注週密,如如:演算法演算法演算法演算法設計設計設計設計 16161)綿密的團隊溝通 敏捷方法的重點敏捷方法的重點:透過開發團隊成員透過開發團隊成員綿密的溝通,溝通,使開發團隊能因應使開發團隊能因應 變動變動 (being able to support change)(being able to support change)這對任何成員都有效,不限資深成員這對任何成員都有效,不限資深成員 下面先談各種溝通管道,找出最佳的管道,下面先談各種溝通管道,找出最佳的管道,依

12、此設計依此設計 軟體公司佈置軟體公司佈置軟體公司佈置軟體公司佈置 及及測試帶動的開發方法測試帶動的開發方法測試帶動的開發方法測試帶動的開發方法1717Communication Channels 溝通管道A.Cockburn,A.Cockburn,Agile Software Development,p.95,Agile Software Development,p.95,Addison-Wesley,2002.Addison-Wesley,2002.1818Communication Channels 溝通管道(Cont.)上圖上方細線有三點細線有三點表示三種可提問(Question-and

13、-Answer)溝通管道:1.二人傳 E-mail 2.二人通電話 3.二人白板前面對面溝通面對面溝通(效果最佳)下方粗線下方粗線也有三點,但 不可提問 (No Question-Answer):1.書面文件(效果最差)2.錄音帶3.錄影帶1919人際溝通的感覺豐富度(感度)從面對面溝通從面對面溝通(具備十一種具備十一種感覺感覺,如視覺、聽覺、信任感,如視覺、聽覺、信任感)n n刪減刪減 實質接近感度後實質接近感度後 例如例如 視訊連線視訊連線 (video link)(video link)n n刪減刪減 視覺感度後視覺感度後 例如例如 電話電話 n n刪減刪減 聲音感度後聲音感度後 例如例

14、如 e-maile-mailn n刪減刪減 提問感度後提問感度後 例如例如 手寫字條手寫字條n n刪減刪減 所有感度後所有感度後 就是就是:書面文件書面文件書面文件書面文件 (paper or document)(paper or document)(paper or document)(paper or document)Document communicationDocument communication 文件文件文件文件溝通溝通溝通溝通 效果最差效果最差效果最差效果最差 (傳統軟工用傳統軟工用的方式的方式)Face to face communicationFace to face c

15、ommunication 面對面溝通面對面溝通面對面溝通面對面溝通 效果最佳效果最佳效果最佳效果最佳 (本課程本課程用用的方式的方式)2020Document CommunicationFace to Face Communication軟體工程的大進步2121Document Communication真相是:有軟體公司寫很多文件(甚至有不通順英文文件,無人看懂)-但乏人閱讀,且讀後是否了解,達成溝通效果-存疑!應設計 command file 用於電子檔文件 自動統計 1)文件閱讀時間 2)讀者了解程度 等當然 完整文件可用於新手訓練 但,典型而簡單的一個專案文件就夠了2222Docume

16、nt Communication(Cont.)例子:台灣某知名軟體公司高層得意的說:員工素質高,所以皆寫英文文件 但是,這些英文文件的溝通力(有無讀者?若有,是否易讀,是否能精準了解)頗令人存疑,更不用說維修力(是否易於修改延伸)了 這些文件恐淪為乩童做秀道具!陳教授因而倡導英詞中句的文件,詳後敘2323何以敏捷方法叫敏捷?因 face to face communication 遠比 document communication(如CMMI*)快速精準 故稱之敏捷 (agile)若用乩童式開發方法 不做設計切割 單元測試 這樣固然可快速 demo 軟體 但常有bugs 品質很差 這不是敏捷*

17、Capability maturity model integrated(CMMI)Capability maturity model integrated(CMMI)是美國是美國 CMU CMU 評鑑軟評鑑軟體公司能力的分級制度體公司能力的分級制度 2424 知道 溝通管道溝通管道 (communication channel)後 談一下 溝通目的溝通目的 (communication purpose)2525溝通目的 依 A.Cockburn,溝通具有三個目的:n n1)inform(告知)告知對方不知想法n n2)remind(提示)提示對方已知想法n n3)inspire(激發)激發彼

18、此不知想法2626溝通的三個例子n n1)寫小說作家常年得各方 inspire 溝通:累積想法作家會記下小扎或拍照(聽說九把刀隨身帶相機)remind 自己想法某夜作家文思泉湧振筆疾書(軟體創作)書成!小說送出版商:inform 出版商小說內容出版商校稿:inform 作家錯字筆誤 2727溝通的三個例子(Cont.)n n2)攀岩 這是Cockburn喜歡舉的例子 攀岩要有體能條件,技術訓練,各式裝備等不是每個人皆可勝任 同理-不是每個人皆可勝任軟體工程師攀岩時不可單飛(類似pair programming)要等同伴的安全信號,才可向上攀,否則粉身碎骨,這需生死與共高度信任感及精準溝通282

19、8溝通的三個例子(Cont.)n n3)編排舞台劇 編劇寫出劇本(是書面文件)導演閱讀後,深受感動,思潮澎湃 (inform&inspire 溝通)經無數次與音樂 佈景 演員 開會及彩排(是面對面溝通,其中不乏拍桌咆哮的溝通)整個流程中,電話 Email不斷(remind 溝通)終於,舞台劇推出,撼動觀眾人心!(軟體成功)2929溝通目的 影響文件依溝通目的的不同,文件須做調整讀者經驗豐富:是remind溝通,文件要精簡讀者經驗不足:是inform溝通,文件要詳細因此,為適應多種讀者,文件應有精簡版 並用 hyperlink 閱讀詳細版又,YouTube 影片是inspire 溝通 可能激發團

20、隊創意3030CMMI and 敏捷方法CMMI Level 2(project management)有助敏捷方法 須實現之CMMI Levels 3,4,5(engineering and process management)則與 敏捷方法 觀點不同*不應進行之*Sison and Yang,Use of Agile Methods and Practices in the*Sison and Yang,Use of Agile Methods and Practices in the Philippines,Asian Pacific Software Eng.Conf.(APSEC)

21、,Philippines,Asian Pacific Software Eng.Conf.(APSEC),Nagoya,Japan,2007.Nagoya,Japan,2007.3131CMMI and 敏捷方法(Cont.)有CMMI level 5 公司指出*:可保有 CMMI levels 2&3 的 goal and practice,但用 agile implementation of the practices.例如:用check list 以面對面溝通來 validate goals,可減量文件.這是很可行的.*Jacobsen et.al.,Mature Agile with

22、a Twist of CMMI,*Jacobsen et.al.,Mature Agile with a Twist of CMMI,Agile 2008.Agile 2008.本苗圃本苗圃”論文選讀論文選讀”有收錄本文有收錄本文3232CMMI and 敏捷方法(Cont.)XP 2010 業界最佳報告(Best Experience Report*)中,一家 Norway 軟體公司指出:敏捷方法要轉為以文件(work item)工作流(work flow)為主;而非以 time-boxed iteration(以時程框架的回合)及各人工作為主.這是CMMI與敏捷方法的磨合:鐘擺略為擺回CM

23、MI了,巧合的是:陳教授myAgile 倡導增設計草圖,虛擬碼兩文件*J.O.Birkeland,“Moving to Flow-based*J.O.Birkeland,“Moving to Flow-based Software Development,Software Development,XP 2010,Norway.XP 2010,Norway.3333敏捷方法 減少文件n n傳統軟工CMMI採工廠思維:視軟體工程師為被動的工人,故訂出很多考核評量辦法n n台灣學生從小應付考試,很被動的n n相反的,敏捷方法則:提升為主動負責的人(改造的生命 changed human life),

24、所以辦法(及相關文件)就消失了n n例子:如要考核 pair programming,則 工程師每天要寫報告,秘書每週做報表,經理每週審閱報表3434敏捷方法 減少文件(Cont.)n nCMMI 與 極限開發法(Extreme Programming,XP)可謂連續光譜兩端點的極端 而光譜中間是二者相混合的 n n隨著人員面對面溝通能力逐漸提升 文件活化簡化了 文件量逐漸減少(決非強制消去文件)專案逐漸由一端 CMMI 轉為另一端 XP 這中間的任何點都算是敏捷方法 3535敏捷方法 減少文件(Cont.)n n這兒有一點要深思:如果大家只在同一房間不斷溝通 但各人內心無深入思考 則仍不可能

25、產出優良產品的3636Agile Method vs.Agile ProcessMethod 指的是軟工使用的符號 如 Object-oriented(O-O)Method Process 則是執行 method 的方式 如 面對面方式 所以,嚴格說 Agile Process*才對 但大家習慣稱 Agile Method 本教材也依此*歐洲知名的歐洲知名的 XP 200X conference XP 200X conference 就叫就叫 Agile Processes in Agile Processes in Software Engineering and eXtreme Progr

26、amming.Software Engineering and eXtreme Programming.3737先進軟體公司 的五個敏捷點愈接近這五點,團隊溝通愈敏捷:1.開發者同處一室(可面對面溝通)(一室最多十人)2.有駐點使用專家(口頭溝通需求)3.一個月交貨一次(以產品與用戶溝通)4.全自動的迴歸測試(一有變動全面重測)5.有經驗的開發者 (人的素質最重要)3838滲透式溝通(Osmotic Communication)同處一室同處一室 耳可聽(ear contact)、目可視(eye contact),週遭資訊會潛意識地滲透到人腦,達成溝通,其溝通效果旣深層又自然!例子:例子:小張老

27、李討論某設計時,反覆提到某些詞彙;小張老李討論某設計時,反覆提到某些詞彙;小林雖埋首工作,竟不知不覺小林雖埋首工作,竟不知不覺”學會學會”了了。數週。數週後,小林與他人討論時,脫口而出後,小林與他人討論時,脫口而出這些這些詞彙!詞彙!反之反之,惡質滲透惡質滲透溝通溝通(如客服中心對話如客服中心對話)需設牆壁阻絕需設牆壁阻絕 3939美國先進軟體公司 佈置圖cavescommonwhiteboard4040美國先進軟體公司 佈置圖(Cont.)上圖分 common 及 cave 兩區:Common 區:兩人一組,在一台大尺寸螢幕前 工 作 (這叫 pair programming)各組可目視、交

28、談、溝通Cave 區:個人處理e-mail,電話,閱讀資料等此外牆上很多白板 white board,供討論用粗估需粗估需3030坪坪 (約約9999平方公尺平方公尺),台北很易設置的,台北很易設置的,軟體業不求廠大人眾,求高素質高薪少人易溝通軟體業不求廠大人眾,求高素質高薪少人易溝通4141回顧 台灣軟體公司 現場 一個小房間裏面坐著滿臉倦容、神情呆滯一個小房間裏面坐著滿臉倦容、神情呆滯 (有可能公司節有可能公司節能,不開冷氣,頭暈腦脹能,不開冷氣,頭暈腦脹)工作一整天,仍加班中的軟體工作一整天,仍加班中的軟體工程師工程師小林小林,獨自看著一大疊列印出來,自己也看不太懂,獨自看著一大疊列印出

29、來,自己也看不太懂的程式碼的程式碼(別人當然更看不懂啦別人當然更看不懂啦),喃喃自語,喃喃自語:只要再改這地方,就可消除這可惡的最後一個只要再改這地方,就可消除這可惡的最後一個 BUGBUG!桌上有多本裝訂精美厚厚的文件,但與程式距離遙遠桌上有多本裝訂精美厚厚的文件,但與程式距離遙遠 三小時後,更悲慘了,三小時後,更悲慘了,BUG BUG 仍在仍在!夜已深,開始自欺麻醉夜已深,開始自欺麻醉:明天一早一定就可解決了!明天一早一定就可解決了!(現場寂靜、死氣沈沈現場寂靜、死氣沈沈現場寂靜、死氣沈沈現場寂靜、死氣沈沈)注意注意注意注意:像這樣像這樣像這樣像這樣 既沒有既沒有既沒有既沒有溝通溝通溝通溝

30、通,又又又又思考思考思考思考不清,軟體怎麼可能優質不清,軟體怎麼可能優質不清,軟體怎麼可能優質不清,軟體怎麼可能優質?4242觀察、改善現場1.1.冷氣電費是小錢,工程師產值是大錢,勿省小錢丟大錢冷氣電費是小錢,工程師產值是大錢,勿省小錢丟大錢2.2.辦公室要便於溝通,非必要勿隔間辦公室要便於溝通,非必要勿隔間(要搭配群育訓練要搭配群育訓練)3.3.要先寫要先寫test code test code 用工具依序用工具依序testtest,則不會困惑,則不會困惑 (當然要先設計切割,才能在切面上做當然要先設計切割,才能在切面上做test codetest code,且二人邊討論邊做,且二人邊討論

31、邊做,現場有點喧嘩,但現場有點喧嘩,但現場有點喧嘩,但現場有點喧嘩,但生氣勃勃、生氣勃勃、生氣勃勃、生氣勃勃、且流露且流露且流露且流露 祥和自在祥和自在祥和自在祥和自在 專注自信的氣氛專注自信的氣氛專注自信的氣氛專注自信的氣氛)4.4.要閱讀虛擬碼,勿讀瑣細難讀的程式碼要閱讀虛擬碼,勿讀瑣細難讀的程式碼5.5.要用工具瀏覽要用工具瀏覽 hypertext(hypertext(內含內含 hyperlink)hyperlink),勿列印勿列印(因無工具輔助搜尋、瀏覽因無工具輔助搜尋、瀏覽)6.6.文件常過時未與程式同步文件常過時未與程式同步 裝訂本更易過時裝訂本更易過時7.7.勿加班,否則第二天很

32、累,第三天更累勿加班,否則第二天很累,第三天更累8.8.勿自欺,久而久之,自豪感消失,倦怠挫折勿自欺,久而久之,自豪感消失,倦怠挫折戰將折翼戰將折翼戰將折翼戰將折翼!4343比較兩家軟體公司的省思要進步,就須改變;如本國公司因工程品質差而業務外包他國,要進步,就須改變;如本國公司因工程品質差而業務外包他國,吃虧的還是本國畢業生的工作權吃虧的還是本國畢業生的工作權!因工資高,台灣自豪的工廠外移低工資國度因工資高,台灣自豪的工廠外移低工資國度 劉維公,風格社會,天劉維公,風格社會,天劉維公,風格社會,天劉維公,風格社會,天下雜誌,下雜誌,下雜誌,下雜誌,2006200620062006,我叫它我叫

33、它:後工廠時代後工廠時代後工廠時代後工廠時代,留下的要升級留下的要升級,不要代工不要代工,埋頭拼命,處處省錢埋頭拼命,處處省錢cost downcost down;要;要cost up,value up,cost up,value up,豪氣豪氣做時尚精品;要敏捷工作,心平氣和,慢活,慢食,深眠做時尚精品;要敏捷工作,心平氣和,慢活,慢食,深眠 拼命文化拼命文化拼命文化拼命文化 要要要要提升為提升為提升為提升為 敏捷敏捷敏捷敏捷文化文化文化文化 4444Cost DownCost Down 是工廠思維下的迷思,工廠作業合理化,杜絕混亂浪費,當然對,但是有教授半開玩笑的說,某電子廠不斷在研究如何

34、抽掉省掉某零件而系統仍可運轉不斷這樣做,則工廠不斷cost down,績效優良但產品品質不斷下降,使用期限縮短,故障率不斷提高,很快變垃圾,造成生態負擔*Paul Hawken,*Paul Hawken,中譯中譯:商業生態學商業生態學,新自然主義新自然主義,2005.,2005.4545軟體公司 佈置*軟體開發是密集合作的活動,開放空間(叫team room)可鼓勵團隊談話及互動,增進非正式及深度的溝通;有自然光可使人舒暢 每人空間約4.5平方公尺(1.36坪)有人擔心這帶來噪音,但同團隊的談話多半是與專案相關的;倒是不同團隊之間要隔間(最好用活動隔間牆,可彈性變動之)*Martin Fowl

35、er web site,posted June 14,2010.*Martin Fowler web site,posted June 14,2010.4646軟體公司 佈置(Cont.)團隊有全權支配空間,小秘訣:1)勿用需工人搬動的傢俱,用簡單桌子即可2)電源線,網路線走底下或頭上,易接到桌子3)椅子勿節省!有人因背痛要跪姿椅或升降桌,去買!4)白板要很多,含輪子白板,相機白板,動態顯示板(連接投影機,如顯示build狀況)5)見下圖 Central Desk 有 eye contact U-Pod 則有 ear contact 且易看別組螢幕4747軟體公司 佈置(Cont.)白板又叫

36、information radiator(資訊發射器)因為它會不自覺地將資訊射至週遭的人的眼球,極為有效!一種有名的白板叫 kanban(看板),它源自豐田汽車著名的剛好及時(just in time)生產模式-因各生產人員可同時看到看板資訊,可剛好及時取得中間製品,故無中間製品庫存4848軟體公司 佈置(Cont.)4949軟體設計原則n n傳統軟工依傳統工程設計原則*力求以 最少資源產出最大價值之產品 但大部分軟體不易維修 很多在短期內成昂貴廢棄物n n新思維應是生態設計原則*使軟體易演化(evolve)生生不息 無廢棄垃圾*合理的設計原則合理的設計原則,漢寶德譯漢寶德譯,1972,The

37、 Discipline of Design,by 1972,The Discipline of Design,by Roe,Soulis,and Handa.Roe,Soulis,and Handa.*從搖籃到搖籃從搖籃到搖籃,野人出版野人出版,2008,Cradle to Cradle,by McDonough,2008,Cradle to Cradle,by McDonough and Braungart.and Braungart.*2009*2009哥本哈根氣候變遷大會後哥本哈根氣候變遷大會後,節能減碳成主流節能減碳成主流,2010,2010世博可見此世博可見此,而而軟體業是免能源的軟

38、體業是免能源的!5050軟體設計原則(Cont.)環境保護與人體保護(中醫)是異曲同工的:最大限度利用與激發物件(環境或 人體內)的自我循環與調節系統;最小限度介入與破壞這自足的系統*著重人與自然,社會,自身的互動關係及循環體系,即天人合一.軟體開發也要依此”道 非重外在規範,而重團隊互動來演化軟體*蕭宏慈蕭宏慈,醫行天下醫行天下(上上),),橡實文化橡實文化,2010,pp.163-164,2010,pp.163-164.5151軟體設計追求的品質n n Creativity Creativity 創意性創意性n n Usability Usability 易用性易用性n n Dependa

39、bility Dependability 可靠性可靠性n n Maintainability Maintainability 易修性易修性n n Efficiency Efficiency 效率性效率性以上只有效率性與電腦有關,以上只有效率性與電腦有關,其餘皆與電腦無關,而與開發者人腦有關其餘皆與電腦無關,而與開發者人腦有關;易用性涉及大量使用者的人腦,最為複雜易用性涉及大量使用者的人腦,最為複雜5252軟體設計中 創意性最重要 創意人要激情與放縱來發展創意構想,又要有嚴格紀律來執行創意構想*創意來自開發過程所下的苦工:1)用功-奠定踏實知識基礎 2)勇氣-挑戰現有知識 才能感動客戶,要專注(

40、concentration)及決心(determination),絕非輕鬆的,速食式的 *賴聲川賴聲川,賴聲川的創意學賴聲川的創意學,天下雜誌天下雜誌,2006.,2006.5353軟體公司招募什麼人才?台灣學生從小獨自做作業,禁與同學討論,台灣學生從小獨自做作業,禁與同學討論,故故群育群育不彰,不善清晰精準溝通不彰,不善清晰精準溝通(口頭及文字口頭及文字)、集思廣、集思廣益;美育也無,無美感、時尚感,難成就精品益;美育也無,無美感、時尚感,難成就精品例子例子:巴黎街頭人人衣著搭色和諧巴黎街頭人人衣著搭色和諧 ,有色感!有色感!台灣智育重視填鴨應付考試台灣智育重視填鴨應付考試,以分數定高下,考

41、試中以分數定高下,考試中不做思考、只是快速作答;因此,沒有平心靜氣不做思考、只是快速作答;因此,沒有平心靜氣仔細思考的習慣,不重內在修鍊仔細思考的習慣,不重內在修鍊,故做不出精品故做不出精品例子例子:90:90分鐘考分鐘考3030題,每題若題,每題若3 3分鐘解不出,放棄!分鐘解不出,放棄!軟體開發本是團隊合作的工作方式及生活方式,人軟體開發本是團隊合作的工作方式及生活方式,人才首重才首重 群育群育群育群育 ;尤其是尤其是-忌招忌招乩童乩童乩童乩童 5454軟體公司招募什麼人才?(Cont.)在此網路推平世界、全球競爭的時代,台灣學生在此網路推平世界、全球競爭的時代,台灣學生國際觀不足國際觀不

42、足,眼界見識低,未與世界接軌眼界見識低,未與世界接軌,例如例如:1):1)大學生怕英文教科書,依靠陳舊而質差的中文翻大學生怕英文教科書,依靠陳舊而質差的中文翻譯本;譯本;2)2)研究生無力上網吸收最新英文論文研究生無力上網吸收最新英文論文.卻自卻自傲傲以為以為:憑憑拼命拼命苦幹苦幹及臨機應變及臨機應變,耍小心眼耍小心眼小聰明小聰明(誤以為是創意誤以為是創意),),就就可做好工作可做好工作,錯了,錯了!而且而且,英文乃國際語言英文乃國際語言,英文不好則疏於了解吸收其英文不好則疏於了解吸收其他文化他文化,可能造成台灣人信心可能造成台灣人信心,活力及創造力的流活力及創造力的流失失.幸好台灣學生會華語

43、幸好台灣學生會華語(世界最大市場的語言世界最大市場的語言)5555軟體公司招募什麼人才?(Cont.)例子例子:某研究生自己承認上研究所後,較少接觸英文了,何以致之?因無英文課了 可見他學英文是為了應付考試,取得學分;而非利用英文吸收新知5656開發團隊 公民意識(群育)依依 A.Cockburn A.Cockburn 所見,有下面五點公民意識:所見,有下面五點公民意識:1.1.準時與會準時與會 Getting to meeting on timeGetting to meeting on time2.2.回答問題回答問題 Answering questions from other peop

44、leAnswering questions from other people3.3.看到事情要主動講看到事情要主動講 Bothering to mention things they notice Bothering to mention things they notice4.4.遵守程式規定遵守程式規定 Following group coding conventionsFollowing group coding conventions5.5.用程式庫用程式庫 Using code librariesUsing code libraries注意注意:無擅長交友,順從他人等,要勇於表達自

45、我,無擅長交友,順從他人等,要勇於表達自我,包容異見,服装自由包容異見,服装自由,特立獨行,特立獨行例子例子:聯發科需要在兩人擇一時,不用絕頂聰明的人,聯發科需要在兩人擇一時,不用絕頂聰明的人,而用可跟別人合作的人而用可跟別人合作的人 中國時報中國時報,2009.9.20,2009.9.205757群育的極致 Cockburn 累積多年顧問經驗,發現軟體開發困難很多,失敗的專案比比皆是,而成功的軟體開發有一特色:就是在極度困難時,總有意想不到的團隊成員挺身而出,以意想不到的方法克服困難,因此解救了團隊,這應該就是群育的極致表現吧!5858兩個弔詭問題1.某電腦雜誌問:台灣資訊教育不錯,何以無蓬

46、勃軟體業?*2.某教授提出:台灣硬體業很強,何不發展搭配硬體的軟體(嵌入式系統 embedded systems)?*有人怪罪政府有人怪罪政府支持不力,或本國市場太小等因素支持不力,或本國市場太小等因素 5959解答一台灣資訊教育不錯,何以無蓬勃軟體業台灣資訊教育不錯,何以無蓬勃軟體業?陳教授答陳教授答:因大部分開發團隊因大部分開發團隊溝通溝通不良,不良,大部分開發者大部分開發者思考思考不密,所以不密,所以工程工程困難多,困難多,另外還有行銷另外還有行銷(市場市場)困難困難 -落後而不自知!落後而不自知!真相真相:資工資工*畢業生辛苦地工作畢業生辛苦地工作(常加班常加班)資管資管*畢業生辛苦地

47、畢業生辛苦地找找找找工作工作(大多找不到大多找不到)*資工資工不重視軟工不重視軟工,用蠻力做軟體用蠻力做軟體;*資管著重一般企業管理中軟體之應用,含領域知識,但不資管著重一般企業管理中軟體之應用,含領域知識,但不是軟體公司的管理,故是軟體公司的管理,故無軟工無軟工呼籲呼籲:資訊系大一皆修敏捷方法資訊系大一皆修敏捷方法(含於計概含於計概)資工偏重資工偏重 Java,C#,C Java,C#,C 開發開發 資管偏重資管偏重 DB/Ruby/PHP DB/Ruby/PHP 開發開發 打造就業力!打造就業力!另,離散數學教另,離散數學教SemanticWebSemanticWeb的的Descripti

48、on LogicDescription Logic會很棒會很棒6060解答一(Cont.)2008金融海嘯後,韓國中國大器大膽改革,復甦快速,一線廠商具世界競爭力 台灣資訊科系若大膽改革:大一計概 教 敏捷方法 及 Java(O-O思維)從新計概出發,也許軟體業八年後有競爭力 (大學四年,碩士兩年,上班兩年升主管)6161解答一(Cont.)有資深工程師說:台灣工程師能寫出任何程式,言下頗自滿!陳教授答:優質軟體的重點在溝通:如釐清需求,設計質感,易學易用易重用 回應快速,而不只是程式本身如何寫6262解答一(Cont.)某研究生說:校計中某團隊coding很強,用API也很強,言下很佩服!陳

49、教授答:軟體團隊強在優秀溝通能力:精準寫出 scenarios,acceptance test cases;做CRC反覆推敲設計;週密而自動化的 unit test cases等;還有,由溝通而激發的創意,士氣及相互學習增強功力.國人觀念落後,可嘆!6363解答一(Cont.)在二十屆台灣物件導向在二十屆台灣物件導向(O-O)(O-O)研討會研討會*panel panel discussion discussion 中中,有人問軟體重用有人問軟體重用 (reuse)(reuse)效果如效果如何何?在場有業界人士指出在場有業界人士指出:縱使同領域軟體縱使同領域軟體,重用效重用效果也不佳果也不佳

50、陳教授答陳教授答:O-O:O-O 動作要精準確實動作要精準確實 且鎖定同領域且鎖定同領域 ,則則重用效果數年逐漸浮現重用效果數年逐漸浮現;若推動若推動O-OO-O二十年而無重二十年而無重用效果用效果,則是則是設計不確實設計不確實 所致所致,O-O,O-O落實與內化了落實與內化了多少多少?答案很負面答案很負面!*2020thth Object-Oriented Technology and Application(OOTA),Tai-Object-Oriented Technology and Application(OOTA),Tai-Chung,Taiwan,Nov.2009.Chung,T

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com