網頁

搜尋此網誌

2015年8月7日 星期五

Agile, Lean, Kanban 敏捷, 精實, 看板

這篇記錄軟體開發方法的一些原則

敏捷軟體開發 (Agile Software Development)

敏捷軟體開發的 4 大價值觀 (values)
  • 個人與互動 重於 流程與工具
    Individuals and interactions over processes and tools
  • 可用的軟體 重於 詳盡的文件
    Working software over comprehensive documentation
  • 與客戶合作 重於 合約協商
    Customer collaboration over contract negotiation
  • 回應變化 重於 遵循計劃
    Responding to change over following a plan
敏捷軟體的 12 個原則 (principles)
  1. 我們最優先的任務,是透過及早並持績地交付有價值的軟體來滿足客戶需求。
    Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. 竭誠歡迎改變需求,甚至已處開發後期亦然。敏捷流程掌控變更,以維護客戶的競爭優勢。
    Welcome changing requirements, even late in development. Agile processes harness change for  the customer's competitive advantage.
  3. 經常交付可用的軟體,頻率可以從數週到數個月,以較短時間間隔為佳。
    Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. 業務人員與開發者必須在專案全程中天天一起工作。
    Business people and developers must work together daily throughout the project.
  5. 以積極的個人來建構專案,給予他們所需的環境與支援,並信任他們可以完成工作。
    Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. 面對面的溝通是傳遞資訊給開發團隊及團隊成員之間效率最高且效果最佳的方法。
    The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. 可用的軟體是最主要的進度量測方法。
    Working software is the primary measure of progress.
  8. 敏捷程序提倡可持續的開發。贊助者、開發者及使用者應當能不斷地維持穩定的步調。
    Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. 持續追求優越的技術與優良的設計,以強化敏捷性。
    Continuous attention to technical excellence and good design enhances agility.
  10. 精簡──或最大化未完成工作量之技藝──是不可或缺的。
    Simplicity--the art of maximizing the amount of work not done--is essential.
  11. 最佳的架構、需求與設計皆來自於能自我組織的團隊。
    The best architectures, requirements, and designs emerge from self-organizing teams.
  12. 團隊定期自省如何更有效率,並據之適當地調整與修正自己的行為。
    At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

精實軟體開發 (Lean Software Development)

精實軟體開發的 7 大原則,源自於 Mary Poppendieck & Tom Poppendieck 在 2003 年出版的著作:Lean Software Development: An Agile Toolkit
  1. 消除浪費 (Eliminate waste)
  2. 增強學習 (Amplify learning)
  3. 盡量延遲決策 (Decide as late as possible)
  4. 盡快交付 (Deliver as fast as possible)
  5. 授權團隊 (Empower the team)
  6. 嵌入完整性 (Build integrity in)
  7. 著眼整體 (See the whole)

看板方法 (Kanban Method)

看板方法是由 David J. Anderson 在 2005 年所創造的流程控制方法。

看板方法的 4 個基本原則 (foundational principles)
  1. 從既有的流程開始
    Start with existing process
  2. 同意持續增量、漸進的變化
    Agree to pursue incremental evolutionary change
  3. 尊重當前的流程、角色、職責和頭銜
    Respect the current process, roles, responsibilities and titles
  4. 鼓勵各層級的領導行為
    Leadership at all levels
看板方法的 6 個實務 (core practices)
  1. 步驟1:視覺化
    Visualize
  2. 步驟2:限制半成品 (WIP) 數量
    Limit Work-In-Progress
  3. 步驟3:管理工作流程
    Manage flow
  4. 策略4:讓規則明確
    Make policies explicit
  5. 策略5:落實回饋循環
    Implement feedback loops
  6. 策略6:由協作改善,經實驗演進
    Improve collaboratively, evolve experimentally using models and the scientific method

參考資料
###

2014年12月28日 星期日

Wisdom and Teachings

記錄一些原則與智慧,取自『柯維經典語錄』一書。

責任心 (Accountability)
  • 沒有任何事情比許下承諾卻無法遵守,更快破壞彼此的信任。相反地,沒有任何事情比信守承諾更能夠建立信任。
  • 想要改善任何情況,你必須先改善自己。想要改變你的妻子,你必須先改變自己。想改變你丈夫的態度,你必須先改變自身的態度。想贏得更多的自由,你必須更有責任心、更加自律。
平衡 (Balance)
  • 關鍵不在於排出你行程表上的優先順序,而在於規劃出你人生的優先順序。
選擇 (Choice)
  • 每個人都有四種與生俱來的天賦,自我察覺、良知、獨立意志和創造力。他們賦予人類無限的自由:選擇、回應,以及改變的力量。
  • 真正傷害我們的並不是事件本身,是我們對於該事件的反應傷害了我們。
  • 人類最大的自由在於我們有權、也有能力決定要如何讓其他人,或每件事情影響我們。
  • 你所處的環境是由你的想法、你的信念、你的理想、你的人生觀所形塑出來的;只要你的想法、信念、理想、人生觀沒有改變,你的環境就不會改變。
貢獻 (Contribution)
  • 我們每個人的內心深處,都嚮往偉大且有貢獻的人生 — 真正有意義、且有所作為的非凡人生。在家裡、在職場上,以及在社會裡,我們可以有自覺地選擇遠離平庸的生活,活出偉大的人生。
  • 這世上有成功者,也有貢獻者。許多成功者也會貢獻,但他們大多只是準備要付出,卻未真的貢獻。你們應該把貢獻當做今生的使命。
勇氣 (Courage)
  • 人生最大的風險在於不敢承擔一絲風險。
效能 (Effectiveness)
  • 再多更好的建議,若沒有解決真正的問題,都只是空談而已,一點用處也沒有。
  • 忙碌不等於高效能:有的人雖然忙翻天,效率卻不高。
同理心 (Empathy)
  • 要影響別人,關鍵在於懂得感同身受。
  • 如果要我用一句話總結人際關係最重要的原則,那麼根據我多年的觀察,我會這麼說:若想別人了解你,請先了解別人。
  • 你愈深入了解別人,你會愈欣賞他們,你也會愈發敬重他們。跟別人的靈魂接觸,形同行走在聖殿當中。
  • 話語就像是高處丟下的雞蛋:一旦丟出,你無法叫他們回頭;對於他們落地後造成的髒亂,你也無法視而不見。
真誠正直 (Integrity)
  • 不要替別人的短處辯白,也不要為自己的缺點辯護。當你犯了錯,就承認它、修正它、並從中學到教訓 — 立刻去做!
  • 解決問題不能光說不練,你必須走進問題核心去解決它。
領導力 (Leadership)
  • 有效的領導是要事優先處理。有效的管理則是紀律至上,而且要確實執行。
  • 在工業時代,領導是個職位。在知識時代,領導是種選擇。
學習 (Learning)
  • 知道了卻不去做,跟不知道沒有兩樣。
愛 (Love)
  • 從你對一個人的態度,可以看出你是怎麼對待其他人的,因為所有人都是一個整體。
  • 人與人之間的關係裡,沒有不重要的小事,全都是大事。
潛能 (Potential)
  • 人有自我察覺的能力:有了這樣的自覺,我們才能在心裡跳脫自我,從旁檢視自身的信念以及行動,去思考自己究竟思考的是什麼。
自律 (Self-Discipline)
  • 大多數人會把紀律與不自由劃上等號,但事實上恰好相反:堅持紀律的人才是真正自由的人,不守紀律的人則會淪為情緒、慾望與激情的奴隸。
綜合統效 (Synergy)
  • 如果兩人看法相同,其中一人必屬多餘。
  • 綜合統效跟妥協不一樣,在妥協裡,一加一頂多只等於一個半。
信任 (Trust)
  • 想要別人信任你,首先做個值得信任的人。
真理 (Truth)
  • 我們看待問題的方式,本身就是一大問題。
  • 原則與實務不同;實務只適用於特定情況,但原則卻是更深層、更根本的真理,它通用於各種情況。
願景 (Vision)
  • 一個人的本性,決定了他看待事物的角度。
  • 工作本身不會有未來,未來只存在你自己的身上。
  • 要想有效改變自己,我們首先必須改變自己的看法。
雙贏 (Win-Win)
  • 或許在真正懂得分享之前,我們需要先經歷擁有的感覺。
  • 為自己著想,但不忘他人的權益。

資料來源:
史蒂夫.柯維(Stephen R. Covey)著,胡琦君譯,柯維經典語錄:18個關鍵原則,創造成功人生,台北:遠見天下文化,2013。譯自:The wisdom and teachings of Stephen R. Covey

###

2014年10月29日 星期三

Zero to One

如果你想用創業去改變未來,那你一定要看彼得‧提爾 (Peter Thiel) 的「從0到1:打開世界運作的未知祕密,在意想不到之處發現價值」。彼得是 PayPal 的創辦人,現在是矽谷創投公司創辦人基金 (Founder Fund) 的合夥人,這本書源自於彼得在史丹佛大學開設的創業課程,他的學生布雷克‧馬斯特 (Blake Masters) 做了詳盡的筆記後廣為流傳,後來兩人合作改寫成「從 0 到 1 」出版,這本書主要談的就是:如何建立一個可以創新的公司


創新是一種進步,作者在第一章提到進步有兩種型式:
  • 垂直或密集式的進步 (vertical or intensive progress)
    開發新的事物,這是從 0 到 1 的進步,例如科技 (technology) 的發展。
  • 水平或延伸式的進步 (horizontal or extensive progress)
    複製已經成功的事物,這是從 1 到 n 的進步,例如全球化 (globalization) 的發展。
這本書談的創新是「從 0 到 1 」這種形式的進步,那我們要如何建立一個可以「創新」的公司呢?作者要我們先從這個問題開始回答:
有什麼是你跟其他人有不同看法,但是你覺得很重要的事實?
創業家從 1999 年的網路泡沫中得到教訓,但作者的看法則有不同,如下:
  1. 循序漸進,但大膽冒險比無聊瑣碎好
  2. 保持精簡有彈性,但壞計畫比沒計畫好
  3. 面對競爭求取進步,但競爭市場賺不到錢,要成為獨占市場的企業
  4. 專注在產品,而非專注銷售。但銷售與競爭一樣重要,不同產品需要不同的銷售方法
大致上整本書圍繞著上述幾個觀點,作者分享他的看法,說明如何建立一個可以創新的公司。如推薦所言:「當一個有冒險精神的人願意寫書,就買來看。如果寫書的是彼得‧提爾,就看兩遍。但是保險起見,請看三遍。因為這本書絕對是經典之作。」確實如此!

彼得‧提爾 (Peter Thiel)、布雷克‧馬斯特 (Blake Masters),季晶晶譯,從0到1:打開世界運作的未知祕密,在意想不到之處發現價值,台北:天下雜誌,2014。
譯自:Zero to One: Notes on Startups, or How to Build the Future

###

2014年10月14日 星期二

Project Management 專案管理

什麼是專案?

專案 (Project) 是在一次性的工作中,必須同時完成成效 (performance)時間 (time)成本 (cost)範疇 (scope) 的多重任務要求,簡稱為 PCTS。換句話說,一個專案必須有特定的成效,有明確的開始和結束時間,有預算,也有明確規範工作的大小。另外,品管學者約瑟夫.朱蘭(Joseph M. Juran) 說:「專案是為了解決問題所排定的進度表。」這是更簡單的解釋。

什麼是專案管理?

為了完成專案的目標,將所有計劃、進度與管控的行動無瑕的結合運作 (facilitate),這就是專案管理。專案管理的首要原則:一定要讓未來會牽涉到專案實際作業的人,共同參與專案計畫的工作。專案管理不同於一般的管理,在於專案的 PCTS 任務特性,例如一般事務性的工作內容,就沒有這些特性。

一個專案中的角色成員

  • 專案經理 (Project Manager)
    專案的啟動者 (Enabler),領導並且協助團隊成員順利完成他們所負責的工作。
  • 團隊成員 (Team Members)
    實際執行工作的人員,負責完成專案所訂定的目標。
  • 成員可能是組織中可用的人才 (不見得是適合的人才),因專案的需要才加入團隊中,也可能專案結束後就離開此團隊。
  • 贊助者 (Sponsor)
    指定 PCTS 中的任意 3 個限制條件。另外一個條件是由專案經理所計劃與管理。

專案的生命週期

  1. 概念
    市場概念形成,競爭力調查
  2. 定義
    定義問題,產生願景,擬定專案任務大綱
  3. 計畫
    發展策略,實行計畫,風險管理
  4. 執行
    逐項完成工作,監控過程,修正錯誤
  5. 結案
    結論報告,檢討回顧

參考資料
詹姆斯.路易斯 (James P. Lewis)著,葛迺駿譯,我懂了!專案管理,台北:經濟新潮社,2003。

註:「迺」讀「ㄋㄞˇ」
###

2014年10月6日 星期一

AngularJS

AngularJS 是一個用於動態網頁應用程式 (dynamic web apps) 的結構框架 (structural framework),AngularJS 的特點在於強化 HTML 本身的功能,讓我們利用 HTML 的語法就能建立一個動態的網頁應用程式。之所以稱為「Angular」是源於 HTML 的「角括號的尖角」,AngularJS 有 HTML 延伸的意涵在裡面。換句話說,如果想要學習 AngularJS 這個框架,必須對於 HTML 有基本的認識。

HTML 是一種專門描述靜態文件的宣告式語言 (declarative language),HTML告訴瀏覽器該做什麼,但沒辦法說明該如何執行功能,本質上不能使用 HTML 建立動態網頁應用程式。意思是說,靜態文件與動態網頁應用程式之間存在著「阻抗不匹配 (impedance mismatch)」的問題。

有兩種方式解決阻抗不匹配的問題:
  • 程式庫 (library)
    程式庫包含很多開發應用程式需要的函式,呼叫這些函式實現我們需要的功能,例如 jQuery 就是其中的一種。
  • 框架 (framework)
    針對某種應用情境設計的程式架構,我們需要在架構中填入程式碼以實現功能,例如 durandal, ember 等。
然而 AngularJS 選擇另一種不同的解決方法,AngularJS 增強 HTML 的語法,使用 JavaScript 開發 HTML 編譯器,讓瀏覽器能夠解析這些新的語法,AngularJS 稱為指令 (directive)

AngularJS 所採取的是宣告式語言這一條路,因此在 AngularJS 的學習上,使用指令會比撰寫 JavaScript 還要來的重要,大部分都是在編輯 HTML 檔案 (也就是使用 directive)。這也和其他用戶端的框架不太一樣,像是 ember, Ext JS 等,因為這類框架採取的是命令式語言 (imperative language) 這一條路 ,開發上主要是撰寫 JavaScript。

前面提到框架是針對某種應用情境設計的程式架構,AngularJS 的設計主要是針對資料類型的開發,也就是 CRUD (create, read, update and delete) 的應用程式。遊戲與 GUI 操作的應用程式就不太適合使用 AngularJS 了, CRUD 應用類型是 AngularJS 的強項

目前 (2014/10) 沒有關於 AngularJS 的中文書籍,對於國內推廣 AngularJS 會有些困難。學習上大多是英文網站的資訊,這裡推薦W3Schools 的 AngularJS Tutorial ,頗為簡要而易懂,其他資源則請參考 AngularJS 官方網站:
上述內容參考自 Developer Guide / Introduction
###

2014年9月20日 星期六

Black Tea 品味紅茶

最近研究了一下紅茶,在此分享有關紅茶的知識。

紅茶茶葉原產於中國,但卻是英國塑造了紅茶文化,紅茶變成茶的主流,甚至是茶的代名詞。英國人稱紅茶為「Black Tea」是因為紅茶茶葉是黑色的緣故,而我們東方稱為紅茶是因為紅茶茶湯色澤呈現紅褐色的緣故。

奶茶:紅茶加牛奶,或是牛奶加紅茶,這是經濟上的考量,有兩種說法。過去茶葉是奢侈品,為了能夠多喝幾杯,於是加入較便宜的牛奶。另一種說法則是有段時間牛奶供不應求,如果添加紅茶在牛奶之中,就能夠減少牛奶的使用量。不論何者真實,奶茶確實是好喝的飲品之一!

茶葉以產地聞名,也通常以產地命名。全世界公認的紅茶生產地有三個國家:印度、錫蘭與中國,其出產的紅茶如下:
  • 印度,產地位於印度東北部
    • 阿薩姆省 (Assam),稱為阿薩姆紅茶
    • 西孟加拉省 (West Bengal) 的大吉嶺 (Darjeeling),稱為大吉嶺紅茶
  • 斯里蘭卡 (Sri Lanka),統稱為錫蘭紅茶 (Ceylon Tea)。
    • 烏沃省 (Uva)
    • 努沃勒埃利耶區 (Nuwara Eliya)
    • 汀普拉村 (Dimbula)
  • 中國
    • 安徽省祁門縣,出產的紅茶稱為「祁紅」。(祁:讀作ㄑ一 ˊ)
除了上述三個國家外,生產紅茶比較著名國家的還有肯亞、爪哇、台灣。


接下來介紹紅茶的等級 (Grade),所謂的等級和品質無關,純粹只是區分茶葉的大小和生長部位。為什麼要分級呢?因為與泡茶的時間有關,越大片的茶葉沖泡的時間越長。紅茶的等級如下,依照茶葉生長位置由上而下(葉片由小至大):
  • 花橙黃白毫 (Flowery Orange Pekoe, 簡稱 FOP)
  • 橙黃白毫 (Orange Pekoe, 簡稱 OP)
  • 白毫 (Pekoe, 簡稱 P)
  • 白毫小種 (Pekoe Souchong, 簡稱 PS)
  • 小種 (Souchong, 簡稱 S)
若依茶葉的完整性,有沒有切碎處理,可以分為下列 3 種:
  • 全葉茶 (Leaf, 沒有簡稱),或稱葉茶。
  • 碎茶 (Broken, 簡稱 B),或稱散茶。沖泡時間較全葉茶短。
  • 粉茶 (Dust, 簡稱 D),或稱末茶。沖泡時間最短,分級過程中剩下的細粉狀茶葉,通常也最廉價。
了解產地與分級,最後介紹紅茶的調和變化,這大概是紅茶比較特別的地方。從產地出來是怎樣就是怎樣的紅茶,稱為原味茶,或稱產地茶。而調和兩種以上的原味茶,則稱為混合茶。若是在原味紅茶製作過程加入其他果香味,則是加味茶。以下是這些變化中較知名的紅茶清單:
  • 原味茶 (Plain Tea)
    • 阿薩姆 (Assam Tea)
    • 大吉嶺 (Darjeeling Tea)
  • 混合茶 (Blended Tea)
    • 英國早餐茶 (English Breakfast Tea),混合印度、錫蘭或肯亞的產地茶調配而成的紅茶。
    • 英國下午茶 (English Afternoon Tea),混合印度及非洲的產地茶調和而成的紅茶。
  • 加味茶 (Flavoured Tea)
    • 伯爵茶 (Earl Grey Tea),在中國的英國外交使節格雷 (Earl Grey) 伯爵將中國茶葉調製的祕方帶回給傑克森 (Jacksons) 公司而聞名,主要是紅茶調和品味紅茶的香氣而醞釀的獨特風味。
    • 仕女伯爵紅茶 (Lady Grey Tea),紅茶加橘皮、檸檬皮和矢車菊葉所調製的。
    • 薄荷紅茶
參考書籍
孟樊,寫意紅茶:在杯中、書中、影中品味紅茶,臺北:時報文化,2007。

###

2014年9月12日 星期五

subprocess 子行程管理

subprocess 是 Python  程式語言中用來新增子行程的模組,這是在 PEP 324 中所提出的建議,主要是統一 Python 新增子行程的方法,用來取代 os.system, os.spawn*, os.popen*, popen2.*, commands.* 等這些模組和函式。基本上,在  Python 中如果要新增子行程,你只要知道 subprocess 模組就行了

subprocess 模組最重要的是 Popen 類別,建立 Popen 物件時將會新增子行程去執行你要的工作,Popen 類別用起來比較精細,可操作的地方較多,相對較麻煩一些。因此 subprocess 模組提供下列三種方便的函式來新增子行程,注意到這三個函式是屬於同步呼叫 (synchronous call) 的方式,一定會等到子行程結束才執行下一行程式碼。
  • subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
    最簡單的子行程新增方式,執行並等待結束,回傳子行程的回傳值 (return code)。
  • subprocess.check_call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
    呼叫子行程,並判斷回傳值是否為是否為 0,不然就引發 CalledProcessError 例外。
  • subprocess.check_output(args, *, stdin=None, stderr=None, shell=False, universal_newlines=False)
    呼叫子行程,與 subprocess.check_call 函式行為相似,但回傳 stdout 的字串值。
接下來介紹 Popen 類別,Popen 的建構子如下:
class subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)

Popen 物件則有下列方法和屬性:
  • 方法
    • Popen.poll():判斷子行程是否結束,如果結束回傳 returncode 值,否則回傳 None 。
    • Popen.wait():等待子行程結束,回傳 returncode 值。
    • Popen.communicate(input=None):與子行程通訊,回傳 tuple 資料型態為 (stdoutdata, stderrdata),注意要通訊的 stdin, stdout, stderr 引數必須設定為 subprocess.PIPE 。
    • Popen.send_signal(signal):送信號給子行程。
    • Popen.terminate():終止子行程,送出 SIGTERM 信號。
    • Popen.kill():停止子行程,送出 SIGKILL 信號。
  • 屬性
    • stdin:如果建立 Popen 時的 stdin 引數是 subprocess.PIPE,那麼這個屬性會是 file object,否則為 None。
    • stdout:如果建立 Popen 時的 stdout 引數是 subprocess.PIPE,那麼這個屬性會是 file object,否則為 None。
    • stderr:如果建立 Popen 時的 stderr 引數是 subprocess.PIPE,那麼這個屬性會是 file object,否則為 None。
    • pid:子行程的 process ID。
    • returncode:子行程結束的回傳值,如果子行程還在執行沒有結束,returncode 會是 None 。
最後,注意 shell 引數若設定為 True 時,我們必須確定空白字元shell metacharacters 有被引號正確地包起來,不然建立子行程會錯誤或不如預期。預設的 shell=False 使 subprocess 模組會完整傳送所有字元,包含 shell metacharacters。看下列範例會更清楚

import subprocess
subprocess.check_output(['printf','Hello World\n'])
subprocess.check_output(['printf "Hello World\n"'], shell=True)
subprocess.check_output('printf "Hello World\n"', shell=True)

上述 3 行程式碼執行結果是相同的,差別在於 shell=True 時必須用引號處理空白和 metacharacters,最後一行則是因為序列 (sequence) 的引數只有一個,可以簡化成字串作為引數。

文件中建議,如果讓使用者輸入參數作為子行程的引數會有安全行的問題,容易發生 Shell injection 的危險,如果你很確定引數沒有任何疑慮,使用 shell=True 倒是讓程式碼更容易閱讀。

###

2014年8月28日 星期四

103學年大學校院一覽

延續前一篇「103學年技專校院一覽」文章,利用政府資料開放平臺取得大專校院名錄,再利用程式處理就可以得到103學年的大學校院清單。

大學(共61所)

  1. 國立政治大學:www.nccu.edu.tw
  2. 國立清華大學:www.nthu.edu.tw
  3. 國立臺灣大學:www.ntu.edu.tw
  4. 國立成功大學:www.ncku.edu.tw
  5. 國立中興大學:www.nchu.edu.tw
  6. 國立交通大學:www.nctu.edu.tw
  7. 國立中央大學:www.ncu.edu.tw
  8. 國立中山大學:www.nsysu.edu.tw
  9. 國立臺灣海洋大學:www.ntou.edu.tw
  10. 國立中正大學:www.ccu.edu.tw
  11. 國立陽明大學:www.ym.edu.tw
  12. 國立臺北大學:www.ntpu.edu.tw
  13. 國立嘉義大學:www.ncyu.edu.tw
  14. 國立高雄大學:www.nuk.edu.tw
  15. 國立東華大學:www.ndhu.edu.tw
  16. 國立暨南國際大學:www.ncnu.edu.tw
  17. 國立臺北藝術大學:www.tnua.edu.tw
  18. 國立臺灣藝術大學:www.ntua.edu.tw
  19. 國立臺東大學:www.nttu.edu.tw
  20. 國立宜蘭大學:www.niu.edu.tw
  21. 國立聯合大學:www.nuu.edu.tw
  22. 國立臺南藝術大學:www.tnnua.edu.tw
  23. 國立臺南大學:web.nutn.edu.tw
  24. 國立體育大學:www.ntsu.edu.tw
  25. 國立金門大學:www.nqu.edu.tw
  26. 國立臺灣體育運動大學:www.ntupes.edu.tw
  27. 國立屏東大學:www.nptu.edu.tw
  28. 東海大學:www.thu.edu.tw
  29. 輔仁大學:www.fju.edu.tw
  30. 東吳大學:www.scu.edu.tw
  31. 中原大學:www.cycu.edu.tw
  32. 淡江大學:www.tku.edu.tw
  33. 中國文化大學:www.pccu.edu.tw
  34. 逢甲大學:www.fcu.edu.tw
  35. 靜宜大學:www.pu.edu.tw
  36. 長庚大學:www.cgu.edu.tw
  37. 元智大學:www.yzu.edu.tw
  38. 中華大學:www.chu.edu.tw
  39. 大葉大學:www.dyu.edu.tw
  40. 華梵大學:www.hfu.edu.tw
  41. 義守大學:www.isu.edu.tw
  42. 世新大學:www.shu.edu.tw
  43. 銘傳大學:www.mcu.edu.tw
  44. 實踐大學:www.usc.edu.tw
  45. 高雄醫學大學:www2.kmu.edu.tw
  46. 南華大學:www.nhu.edu.tw
  47. 真理大學:www.au.edu.tw
  48. 大同大學:www.ttu.edu.tw
  49. 慈濟大學:www.tcu.edu.tw
  50. 臺北醫學大學:www.tmu.edu.tw
  51. 中山醫學大學:www.csmu.edu.tw
  52. 長榮大學:www.cjcu.edu.tw
  53. 中國醫藥大學:www.cmu.edu.tw
  54. 玄奘大學:www.hcu.edu.tw
  55. 亞洲大學:www.asia.edu.tw
  56. 開南大學:www.knu.edu.tw
  57. 佛光大學:www.fgu.edu.tw
  58. 明道大學:www.mdu.edu.tw
  59. 康寧大學:www.ukn.edu.tw
  60. 台灣首府大學:www.tsu.edu.tw
  61. 臺北市立大學:www.uTaipei.edu.tw

學院(共4所)

  1. 興國管理學院:www.hku.edu.tw
  2. 稻江科技暨管理學院:www.toko.edu.tw
  3. 馬偕醫學院:www.mmc.edu.tw
  4. 法鼓文理學院:www.ddbc.edu.tw

師範&教育大學(共6所)

  1. 國立臺灣師範大學:www.ntnu.edu.tw
  2. 國立高雄師範大學:www.nknu.edu.tw
  3. 國立彰化師範大學:www.ncue.edu.tw
  4. 國立臺北教育大學:www.ntue.edu.tw
  5. 國立新竹教育大學:www.nhcue.edu.tw
  6. 國立臺中教育大學:www.ntcu.edu.tw

###

2014年8月25日 星期一

103學年技專校院一覽

利用政府資料開放平臺取得大專校院名錄,再利用程式處理就可以得到103學年的技專校院清單。

103學年和102學年的技專校院一覽轉變說明如下:

103學年技專校院一覽:

科技大學(共57所)

  1. 國立臺灣科技大學:www.ntust.edu.tw
  2. 國立雲林科技大學:www.yuntech.edu.tw
  3. 國立屏東科技大學:www.npust.edu.tw
  4. 國立臺北科技大學:www.ntut.edu.tw
  5. 國立高雄第一科技大學:www.nkfust.edu.tw
  6. 國立高雄應用科技大學:www.kuas.edu.tw
  7. 國立虎尾科技大學:www.nfu.edu.tw
  8. 國立高雄海洋科技大學:www.nkmu.edu.tw
  9. 國立澎湖科技大學:www.npu.edu.tw
  10. 國立勤益科技大學:www.ncut.edu.tw
  11. 國立臺北護理健康大學:www.ntunhs.edu.tw
  12. 國立高雄餐旅大學:www.nkuht.edu.tw
  13. 國立臺中科技大學:www.nutc.edu.tw
  14. 國立臺北商業大學:www.ntcb.edu.tw
  15. 朝陽科技大學:www.cyut.edu.tw
  16. 南臺科技大學:www.stust.edu.tw
  17. 崑山科技大學:www.ksu.edu.tw
  18. 嘉南藥理大學:www.chna.edu.tw (補充:自民國103年7月21日起變更為「www.cnu.edu.tw」)
  19. 樹德科技大學:www.stu.edu.tw
  20. 龍華科技大學:www.lhu.edu.tw
  21. 輔英科技大學:www.fy.edu.tw
  22. 明新科技大學:www.must.edu.tw
  23. 弘光科技大學:www.hk.edu.tw
  24. 健行科技大學:www.uch.edu.tw
  25. 正修科技大學:www.csu.edu.tw
  26. 萬能科技大學:www.vnu.edu.tw
  27. 建國科技大學:www.ctu.edu.tw
  28. 明志科技大學:www.mcut.edu.tw
  29. 高苑科技大學:www.kyu.edu.tw
  30. 大仁科技大學:www.tajen.edu.tw
  31. 聖約翰科技大學:www.sju.edu.tw
  32. 嶺東科技大學:www.ltu.edu.tw
  33. 中國科技大學:www.cute.edu.tw
  34. 中臺科技大學:www.ctust.edu.tw
  35. 台南應用科技大學:www.tut.edu.tw
  36. 遠東科技大學:www.feu.edu.tw
  37. 元培醫事科技大學:www.ypu.edu.tw
  38. 景文科技大學:www.just.edu.tw
  39. 中華醫事科技大學:www.hwai.edu.tw
  40. 東南科技大學:www.tnu.edu.tw
  41. 德明財經科技大學:www.takming.edu.tw
  42. 南開科技大學:www.nkut.edu.tw
  43. 中華科技大學:www.cust.edu.tw
  44. 僑光科技大學:www.ocu.edu.tw
  45. 育達科技大學:www.ydu.edu.tw
  46. 美和科技大學:www.meiho.edu.tw
  47. 吳鳳科技大學:www.wfu.edu.tw
  48. 環球科技大學:www.twu.edu.tw
  49. 中州科技大學:www.ccut.edu.tw
  50. 修平科技大學:www.hust.edu.tw
  51. 長庚科技大學:new.cgust.edu.tw
  52. 台北城市科技大學:www.tpcu.edu.tw
  53. 大華科技大學:www.tust.edu.tw
  54. 醒吾科技大學:www.hwu.edu.tw
  55. 南榮科技大學:www.njtc.edu.tw
  56. 文藻外語大學:www.wtuc.edu.tw
  57. 華夏科技大學:www.hwh.edu.tw

技術學院(共17所)

  1. 國立臺灣戲曲學院:www.tcpa.edu.tw
  2. 大漢技術學院:www.dahan.edu.tw
  3. 慈濟技術學院:www.tccn.edu.tw
  4. 和春技術學院:www.fotech.edu.tw
  5. 致理技術學院:www.chihlee.edu.tw
  6. 亞東技術學院:www.oit.edu.tw
  7. 桃園創新技術學院:www.tiit.edu.tw
  8. 德霖技術學院:www.dlit.edu.tw
  9. 蘭陽技術學院:www.fit.edu.tw
  10. 黎明技術學院:www.lit.edu.tw
  11. 東方設計學院:www.tf.edu.tw
  12. 經國管理暨健康學院:www.cku.edu.tw
  13. 崇右技術學院:www.cit.edu.tw
  14. 大同技術學院:www.ttc.edu.tw
  15. 亞太創意技術學院:w2.apic.edu.tw
  16. 臺灣觀光學院:www.tht.edu.tw
  17. 台北海洋技術學院:www.tcmt.edu.tw

專科學校(共14所)

  1. 國立臺南護理專科學校:www.ntin.edu.tw
  2. 國立臺東專科學校:www.ntc.edu.tw
  3. 康寧醫護暨管理專科學校:www.knjc.edu.tw
  4. 馬偕醫護管理專科學校:www.mkc.edu.tw
  5. 仁德醫護管理專科學校:www.jente.edu.tw
  6. 樹人醫護管理專科學校:www.szmc.edu.tw
  7. 慈惠醫護管理專科學校:www.tzuhui.edu.tw
  8. 耕莘健康管理專科學校:www.ctcn.edu.tw
  9. 敏惠醫護管理專科學校:www.mhchcm.edu.tw
  10. 高美醫護管理專科學校:www.kmvs.khc.edu.tw
  11. 育英醫護管理專科學校:www.yuhing.edu.tw
  12. 崇仁醫護管理專科學校:www.cjc.edu.tw
  13. 聖母醫護管理專科學校:www.smc.edu.tw
  14. 新生醫護管理專科學校:www.web.hsc.edu.tw
註:上述學校順序不具任何意義,純粹是電腦程式自動排列輸出。

###

2014年7月11日 星期五

如果這不是 Scrum,那什麼才是 Scrum?

  • 選擇 Scrum 的原因是什麼?為什麼不用其他敏捷方法?
  • 團隊裡面有多少人真的瞭解 Scrum ,Scrum 有正確執行嗎?
  • 如果現在執行的不是 Scrum,那什麼才是 Scrum?
上述 3 個問題是我最近的疑惑,於是把之前台灣第一本專門介紹 Scrum 的中文書笑談軟體工程:敏捷開發法的逆襲拿出來複習,我也把 Teddy 老師 (北科大校友) 的 搞笑談軟工 上面有關Scrum的文章看了一遍,順便整理歸納一下 (如下3篇),方便大家有系統地瀏覽閱讀。

認識篇

為什麼要採用Scrum?
Scrum 是一種制度
Scrum 不會幫你解決問題
Scrum 不會幫你解決問題(2)
Scrum 是什麼(1):雙重回饋機制
Scrum 是什麼(2):Scrum 的內涵
Scrum 是什麼(3):三種補充文件
Scrum 是什麼(4):Product Backlog
Scrum 是什麼(5):初探 Sprint Planning Meeting
Scrum 是什麼(6):Sprint Planning Meeting 眉角
Scrum 是什麼(7):Daily Scrum
Scrum 是什麼(8):Sprint Demo Meeting
Scrum 是什麼(9):Retrospective Meeting
Scrum 是什麼(10):時程估算
Scrum 是什麼(11):不信邪之流程改善精神
Scrum 是什麼(12):不要再用focus factor與unplanned items了
Scrum 是什麼(13):為什麼不建議使用focus factor?
Scrum 是什麼(14):好問題
Scrum 是什麼(15):誰適合當Scrum Master?
Scrum 是什麼(16):Story寫得好才容易估算(上)
Scrum 是什麼(17):Story寫得好才容易估算(下)
Scrum 是什麼(18):到底為什麼要估算Story Point哩?

觀念篇

敏捷精神
馬蓋先與敏捷精神
敏捷開發與軟體架構
敏捷開發團隊所需基本技能
就是這個光: Scrum + Lean + XP
鬆弛讓你更敏捷(1)
鬆弛讓你更敏捷(2):每日工時
鬆弛讓你更敏捷(3):不好的進度表

Scrum 是一組餐具
Scrum團隊之持續產品開發模式
拜託,這是 Scrum 耶
捧油,Scrum 在那裡?
Scrum與Design Patterns
把Design Thinking放入Scrum與Pattern之中
導入 Scrum?謝謝再聯絡。
導入Scrum很貴嗎?Teddy算給你看
Scrum釘子戶
Slow-start:導入Scrum首部曲
導入Scrum三部曲
可是約耳說要關在自己專屬的房間啊
是不為也,非不能也
都市游擊隊
紀律
捨我其誰之我不知道要做多久
同學,Story不是這樣寫滴
Story point 為何沒有單位:相對論篇

從成語學Scrum
我真是猜不透你啊:Scrum 篇
Scrum 之逆練九陰真經
同誰,九陰真經不是這樣子練滴
再忙,也要跟你開個自省會議
影響Retrospective Meeting成效的四個問題
Retrospective Meeting = 許願池
Scrum團隊如何打考績:有所本篇
Scrum團隊如何打考績:鬼扯篇
我不能 run Scrum,因為我家人不同意

Scrum 與 Kanban應用環境
系統管理團隊結合Kanban與Scrum的經驗
從Scrum到Scrumban的經驗

我去年想嘗試Scrum,今年想用Kanban
用 Kanban + Scrum 支援大型專案
用 Kanban + Scrum 支援大型專案(2):分組方式
用 Kanban + Scrum 支援大型專案(3):三層式每日站立會議
用 Kanban + Scrum 支援大型專案(4):DoD
遊戲團隊結合Agile與Kanban的經驗
Kanban在電信業產品維護團隊的經驗(上)
Kanban在電信業產品維護團隊的經驗(下)
Kanban還少了點什麼

問答篇

只有一個開發人員可以採用Scrum嗎?
Scrum團隊不是要互相分工合作嗎?
導入Scrum真的可以提升一倍的生產力嗎?
等團隊技術能力提升,再來嘗試Scrum?
小員工如何說服老闆導入Scrum?
你可能改變團隊,但改變老闆?
Startup 要不要採用Scrum?
專案Bug太多要不要導入Scrum?

如何估算 story point?
老問題:Story 做不完怎麼辦?
Story與Task的估算單位為什麼不同?
萬事起頭難:如何開始第一個 Sprint?
如何做好ScrumMaster(1)?
功能做不完怎麼辦?
Scrum 分享活動答客問
答客問
答客問 (二)
Scrum 答客問 (三)

Scrum FAQ (1)
Scrum FAQ (2)
Scrum FAQ (3)
Scrum FAQ (4)

最後推薦給大家 Teddy 老師的「笑談軟體工程」系列叢書,不想用行動購買的,也請大家多多瀏覽 搞笑談軟工,期望台灣開發軟體的方法能有較正確的觀念和態度。

開什麼玩笑!談軟體工程:
###

熱門文章