初讀教材感言

39 views
Skip to first unread message

Anthony Tsai

unread,
Sep 24, 2012, 11:45:48 PM9/24/12
to AgileMethodTW
在我讀大學的這四年當中,我們並沒有專心的去對軟體開發這塊多做研究,所以看到教授提出的敏捷方法實務的ppt之後,讓我意識到了原來軟體開發當中還是
有著許多的細節我們可以改進,針對我們人跟人之間溝通去做改進,更強調團隊的溝通,讓我們開發軟體者與客戶之間形成更緊密的關係,可以讓客戶的需求情形
完整的傳遞給我們軟體開發者,這可以避免以往傳統的開發者常常以為已經按照客戶的需求開發了軟體,不過實際上卻跟客戶的需求不一致,導致許多地方白費工
夫,都需要重新來過;所以敏捷方法所重視就是軟體開發者與客戶的面對面溝通,可以隨時了解是否符合客戶的需求以及若是客戶有新的想法也可以隨時做更改,
這大大了減少以往傳統開發者再滿足客戶需求所花的時間。
然而以往的傳統開發軟體者,彼此之間並無溝通,敏捷方法提出來的是開發者獨自一人的思考比不過兩個人互相的腦力激盪的創造力,辦公的地方比起傳統開法的
方法,敏捷方法提出將辦公的地方分為兩區,一個地方用來互相討論,一個地方作為個人處理事情用;而且重視工作品質,並不是表面的工作時數,表面的工作時
數,雖然常常看起來很長,但是因為過於勞累,實際上真正用於工作的腦力可能沒有工作時數上的這麼長,工作效率可能更低於正常上下班的工程師,並且有計畫
的減少盲目尋找程式出現bug的時間,使得工作效率上升,並且不再需要超長的工時,影響隔日的工作,讓我們有比較好的工作環境,更可以為了公司而努力,
因此有了正向的回饋,使得公司的資源用在對的方向,因此公司可以更有效率的賺錢。
現在的程式開發所注重的也不在是自己完成所有的程式碼,而是上網尋找現有類似的程式再去作reuse,去作修改成自己需要的程式碼,因為那些放置在網路
上現有的程式碼,都是經過許多人利用測試,出現bug的機會較少,自己拿來利用可以省下許多不必要的時間,這跟我之前大學所學的有很大的差異,因為之前
要我們寫程式的時候都是注重在需要我們自己完成所有的程式碼,拿別人現有的程式碼來改似乎就是抄襲的行為,這在以前上課的時候是禁止的,而教授所提出來
的程式reuse,之前在大學學習演算法與資料結構的時候,不知道這兩門課程對於我們軟體開發是多麼的重要,再看過教授所強調演算法及資料結構的重要性
之後,我才恍然大悟演算法與資料結構才是整個程式的精隨,這樣確實我們應該要在大一的時候就要好好學習,打下基礎,雖然我之前的演算法基礎似乎不是很穩
固,但是我會在加強我在演算法以及資料結構的不足;教授也強調了標頭檔的重要性,還記得我以前寫程式的時候,非常討厭寫註解,認為這是非常沒有必要的行
為,不過以後寫程式不再是只有自己一個人看了,有可能自己開發的軟體需要別人來維護,這時候寫好標頭檔並且有著良好寫註解的習慣就變得非常重要,可以幫
助別人閱讀我們程式,可以減少許多時間,以利於程式的維護。
以我以前做coding的習慣,當我拿到題目的時候,我就直接在腦中先有個大概的架構,並且直接在電腦上做coding,這樣讓我每次寫完之後都要
debug好長一段時間,有時候還會陷入我的debug迴圈,怎麼樣都無法找到程式中的bug,而教授強調寫出完整的虛擬碼並且去Trace to
Debug,在確定沒問題的情況下才去做coding,而當我們有了準確的Trace to Debug後的程式碼,基本上是不會有bug的,這樣大大
的加快了我們的coding時間,我以前常常覺得做虛擬碼是浪費時間的舉動,不如直接coding不過這是有盲點的,虛擬碼也不只可以加速程式的進行,
當有人需要了解我們寫的程式時,也可以透過虛擬碼來了解我們的程式,因為虛擬碼本身就是較簡易的版本,更簡潔且更高階可讀性非常的高,比我們直接看程式
碼還要迅速,這樣對日後維護程式的工程師非常的有幫助。
總而言之,雖然我還沒有真正的使用過敏捷方法來實作在寫程式這方面,但是我看過這份敏捷方法實務的ppt,讓我對於寫程式這方面不再只是埋頭苦幹的作
coding,我們在做軟體還有很大的進步空間,也讓我在軟體實作上有了更進一步的認識。
問題一:我們有了開發軟體的敏捷方法,但是開發軟體最重要的還是創意,然而我們常常想到的東西其實市面上都已經有類似的東西了,我們要怎麼要增進我們的
創意並且成為開創者呢?
問題二:我們現今的軟體業並不發達,教授說我們對於軟體這塊的行銷市場並不發達,台灣還是以硬體產業為主流,那我們要怎麼樣才能改善這樣的市場取向,我
們軟體業要怎麼樣才能趕上其他國家的技術水平,並且在台灣的產業上取得主流?
問題三:敏捷方法適用於十個人的小團體,然而大個軟體公司人數必定大於十人,教授在投影片裡頭有提到說大型團隊也會區分為小型團隊,小型團隊試用於敏捷
方法,那想請問上層的管理方法是甚麼?

Anthony Tsai

unread,
Sep 24, 2012, 11:46:07 PM9/24/12
to AgileMethodTW
回答一 軟體核心價值在創意 而創意來自生活体驗 旅行 交談 閱讀 遊戲 真心去体驗週遭世界

回答二 台灣打拼加班重量不重質的文化很不適合軟體業 要台灣社會改變文化 很難 期待下一世代吧

回答三 若有十個敏捷團隊 每隊十人 則總Project size達百人 那麼 如何管理協調這十隊?目前不清楚 有待未來研究

Reply all
Reply to author
Forward
0 new messages