2004-2005學(xué)年,Pam Rostal和Dave West在NMHU(New Mexico Highlands University)啟動(dòng)了一個(gè)獨特的學(xué)位教學(xué)計劃:要求學(xué)生在實(shí)際項目中廣泛開(kāi)展敏捷實(shí)踐。本文講述的就是有關(guān)這個(gè)教學(xué)計劃的故事——雖然此計劃目前已經(jīng)停止,但很可能只是暫時(shí)的,他們正在爭取2007學(xué)年重新啟動(dòng)。但不管計劃是否重啟,這次實(shí)踐無(wú)論是對學(xué)術(shù)界,還是產(chǎn)業(yè)界,都將點(diǎn)燃思想的火花:我們要大膽創(chuàng )新,敢于開(kāi)展一些以前未曾想及的實(shí)踐,努力提升我們對開(kāi)發(fā)、測試和項目管理人員的教學(xué)成果。
最初,我們是想建立這樣一個(gè)大的群體——大家可以全身心投入軟件開(kāi)發(fā)藝術(shù)的學(xué)習和掌握,一起為“人人為軟件,軟件為人人”(譯者注:原文為“software by people for people”)的目標努力。
一片雪花,必須有凝結核才能形成其復雜的晶體結構。在我們期望建立的群體中,同樣需要這樣的催化劑。教育(以及再教育),是形成新群體的基本要求;歷史悠久的學(xué)?!缱钤绲墓畔ED學(xué)園和西藏寺院——恰是專(zhuān)門(mén)開(kāi)展群體教育的場(chǎng)所。
對于我們來(lái)說(shuō),這個(gè)凝結核就是在一個(gè)較小的(3000學(xué)生左右)公立大學(xué)(我們選擇的是在新墨西哥州拉斯維加斯的NMHU)展開(kāi)的新學(xué)位教學(xué)計劃。這個(gè)教學(xué)計劃在幾乎所有方面都有考慮,其基準點(diǎn),就是我們標識中展示的核心價(jià)值觀(guān)。
下圖所示的標識,涵蓋了軟件開(kāi)發(fā)的核心理念,包括它是一門(mén)專(zhuān)注于現實(shí)構造(Reality Construction1)的規律性藝術(shù)、在平臺軟件上展開(kāi)工作、以不同但充滿(mǎn)熱情的人為中心、依靠集體力量、又全體參與貢獻的群體實(shí)踐等等。如果標識中五邊形各邊所示關(guān)注點(diǎn)能彼此維持一個(gè)良性關(guān)系,那么這個(gè)團隊就能創(chuàng )造出令人驚訝的軟件開(kāi)發(fā)能力,從而實(shí)現教學(xué)計劃的核心目標——由被教育者組成的研發(fā)團隊,達到10倍于平均水準的生產(chǎn)力。

從2004年8月開(kāi)始,20個(gè)學(xué)生和兩位教師開(kāi)始一起努力。以下就是有關(guān)他們的故事了。
為什么現在來(lái)講兩年前的故事?因為計算機科學(xué)教育工作者和社會(huì )需要知道計劃的完成情況。當學(xué)生發(fā)現需要真正掌握,而不是滿(mǎn)足于用給定工具實(shí)現目標時(shí),需要一個(gè)合適的群體環(huán)境,引導他們克服困難。即便非學(xué)術(shù)界也能從這些教訓中學(xué)到東西,最終,無(wú)論是教育機構還是軟件開(kāi)發(fā)組織,都需要形成價(jià)值群(Value Shop2)——擁有能根據用戶(hù)的實(shí)際情況提供解決問(wèn)題服務(wù)的能力。
請到我們的學(xué)生活動(dòng)室來(lái)——接待室的門(mén)一直是開(kāi)著(zhù)的。讀書(shū)小組會(huì )議、拜訪(fǎng)名人大家等通知都帖在門(mén)上。請注意門(mén)左邊的微波爐和右邊的顯示器,即使屋里沒(méi)人的時(shí)候,路人也可以駐足觀(guān)看PowerPoint幻燈片,它展示了我們最近的工作進(jìn)展和計劃中的一些事情。

具有開(kāi)創(chuàng )意義的NMHU軟件開(kāi)發(fā)學(xué)習班(Software Development Apprenticeship,SDA),設在新墨西哥州拉斯維加斯的一個(gè)小鎮上,這里海拔6500英尺,人口約15000,緊靠崎嶇綿延的Sangre de Cristo山脈。這些矗立在人們面前的大山,就像我們的教學(xué)計劃,看起來(lái)似乎難以逾越。只有到達山巔的人,才能得到應有的獎賞;常人不可及的美景,屬于選擇攀登的人。
在新墨西哥北部地區,絕大多數家庭壓力大、普遍貧窮,因此這里的學(xué)生,在很小年齡時(shí)就必須與命運搏擊。因此,這些學(xué)生非常希望改變自己和自己所在群體的生活面貌。他們能深刻理解家庭和群體的涵義,所以自然也就能認識到成為我們正在建立的群體中一員的潛在價(jià)值。我們的標識和SDA手冊,對這個(gè)理想模型做了明確定義:
X*10(意味著(zhù)10倍),即非常有名的、某些開(kāi)發(fā)人員的能力為平均水平的10倍——這也是我們對所有畢業(yè)生的期望。
我們一直在與ACM、IEEE3的相關(guān)標準鼓吹的能力模型做斗爭,保持了對我們自己信念的執著(zhù)。當然,現有一些好的能力標準成為了我們定義模型的一個(gè)子集,此外,在其他很多方面增加了大量超越現有技術(shù)和實(shí)踐規范的要求——畢竟,我們對學(xué)生的期望遠遠超過(guò)世界上任何其他學(xué)校的教學(xué)規劃。我們希望學(xué)生完成六年的學(xué)習計劃,其中大部分和培養正規畢業(yè)生的目標類(lèi)似,但同時(shí)要求培育對現實(shí)中開(kāi)發(fā)工作的深入經(jīng)驗,這在目前任何正規大學(xué)的本科學(xué)位四年學(xué)習計劃中,是不存在的。我們計劃開(kāi)設的所有科目,都可以說(shuō)是跨學(xué)科,或者說(shuō)與具體課程獨立的;在很多方面,與傳統做法都有很大不同,比如允許多門(mén)課程同時(shí)規劃、在同一個(gè)地點(diǎn)由多位教師教授,再如對物理空間的要求等等。因此,我們希望灌輸給學(xué)生的這種意識,只能通過(guò)非傳統的、強調責任、反饋、協(xié)作和面對問(wèn)題4時(shí)創(chuàng )新解決辦法的教育模式,才能逐步培養起來(lái)。
在目前已經(jīng)為大家認可的教育模型中,我們選擇了系統思想(Systems Thinking5)、誠信領(lǐng)導力(Authentic Leadership6)等,對這些概念的學(xué)習,有利于縮小學(xué)生對世界的理想認知和世界實(shí)際模樣之間的差距。另外,我們還在模擬學(xué)生將來(lái)真實(shí)工作環(huán)境方面下了大公司,白板、圓桌、轉椅、粉筆等一樣都沒(méi)有少,如下圖:

第一步,是要為我們的教學(xué)計劃設計標識——標識會(huì )織在用不同顏色表征主人學(xué)業(yè)等級的襯衫上。具體如下:
這里所說(shuō)的資質(zhì),指的是iii級能力,資質(zhì)掌握水平的定義如下:
每個(gè)學(xué)生畢業(yè)至少需要獲得64個(gè)學(xué)分,他們可以在每學(xué)期的3-15個(gè)學(xué)分中任意選擇科目。因此教學(xué)計劃必須考慮到這一點(diǎn)。為此,我們提出了能力水平的概念,也就是將每學(xué)期的15個(gè)學(xué)分對應到15個(gè)能力等級。一個(gè)學(xué)生要想在一個(gè)學(xué)期內拿到15個(gè)學(xué)分,可以在將3項能力掌握到等級5、5項能力掌握到等級3、15項能力掌握到等級1等組合中自由選擇。
每個(gè)學(xué)生還需指定個(gè)人學(xué)習計劃(Individual Education Plan,IEP),說(shuō)明自己將在當前階段(通常包括8周;或每學(xué)期分兩個(gè)階段)掌握哪些能力。IEP中的硬指標,是其包含的待學(xué)習能力必須反映7被指派給他們的項目相關(guān)的知識和技能。
因此,課程不是預先指定的。教師必須根據每個(gè)學(xué)生的IEP準備和實(shí)施對應的教學(xué)計劃。如果IEP的要求超出了現有教師的專(zhuān)業(yè)水平,則外面的大師(世界著(zhù)名的專(zhuān)家)會(huì )來(lái)接替。
我們會(huì )請求各種客戶(hù)為學(xué)生提供實(shí)習項目,但無(wú)法保證客戶(hù)的需求能完全覆蓋要求的全部能力資質(zhì)。因此,我們也會(huì )開(kāi)展一些內部項目,如在商業(yè)世界中的一些非熱點(diǎn)領(lǐng)域,人工智能、非標準語(yǔ)言(比如Squeak/Smalltalk)、嵌入式軟件等等。
能力的跨度范圍很大(如下表),必須保證學(xué)生根據自己的IEP總能選擇到所有合適的科目:
| History and Philosophy of Software Development | Modeling at All Levels | Design & Program Evaluation |
| SDA Mission | Building Executables | Problem Diagnosis |
| Software Development Community | Test Frameworks | System Integration |
| Systems | Middleware | Programming Styles |
| Teams | Artificial Intelligence | Programming Principles |
| Leadership | Server Management | Interaction Principles |
| Organizational Change | Version Control | Interaction Testing |
| Usability | Security Fundamentals | Interaction Testing |
| Collaboration | Network Security | Verification and Validation |
| Interpersonal Relations | Project Management | Professional Communication |
| Hardware | Database Fundamentals | Principles of Communication |
| Software | Programming Languages | Communication Theory |
| Networking | Literature - Science Fiction and Fiction | Software Development Methodology |
| Communicating with People | Futurists | Analysis and Design Evaluation |
| IDEs | Complexity Theory | Process Theory |
| Programming Languages | Biology | Management Overview |
| Programming Frameworks | World Decomposition | Management Levels |
| Databases | Program Decomposition | Management Techniques |
| Operating Systems | Program Composition | Management Tools |
我們沒(méi)有標準的教科書(shū),選擇范圍很大,比如,第一學(xué)期的書(shū)目表如下:
其中一些(如《The Mythical Man-Month》)作為經(jīng)典推薦,其他一些(如《Agile Software Development with Scrum》)則是因為教學(xué)計劃對這些內容的強制要求。我們采用Scrum作為教學(xué)和項目中的管理方法。還有一些,被推薦原因是我們認為這些書(shū)可以幫助學(xué)生了解創(chuàng )新在產(chǎn)業(yè)標準和生產(chǎn)工具進(jìn)步中的應用——比如《Java Modeling in Color with UML》,講述了顏色在標識原型模式(archetypal pattern)、反模式(anti-pattern)中的應用。
學(xué)士學(xué)位所要求的非SDA課程包括:
通過(guò)鼓勵學(xué)生在SDA范疇內完成各項課程的學(xué)習任務(wù),我們希望能在每天的交流中持續、反復強化跨學(xué)科理念。每周的讀書(shū)小組會(huì )議,也為跨學(xué)科問(wèn)題討論提供了機會(huì )。星期三下午或晚上,我們還會(huì )聚在一起討論描繪軟件開(kāi)發(fā)歷史中激動(dòng)人心時(shí)期大人大事的圖書(shū)(如《Dealers of Lightning》和《he Dream Machine》)、網(wǎng)絡(luò )發(fā)展過(guò)程中做出了巨大貢獻的人物(如Ted Nelson、Jason Lanier)、個(gè)性測試(如Meyers-Briggs Type Index,幾乎每個(gè)人都作過(guò)),甚至與計算機相關(guān)的一些散文(如Alan Kay的《The Early History of Smalltalk》)。會(huì )議可能在咖啡館、實(shí)驗室舉行,可能是在白天,也可能安排在晚餐時(shí)(因為需要和學(xué)生們課程外的時(shí)間調配)。
在每個(gè)學(xué)期,我們舉行兩次授職儀式,因為學(xué)生已經(jīng)到達新水平,襯衫和名片可以更換了,其行為準則(Code of Conduct)也需要做相應調整。下圖即授職儀式現場(chǎng),因為學(xué)校規定,圖中沒(méi)有出現學(xué)生肖像。


授職期間,每個(gè)人都有在3-7天內與大師分享專(zhuān)業(yè)知識的機會(huì )。其中一些人在業(yè)界可是赫赫大名,如:
其他一些在明尼蘇達州當地也是享有盛名的,比如:
TDD的好處直接從教室擴散到了我們的用戶(hù)——新墨西哥州政府辦事處、本地一個(gè)小型非營(yíng)利機構和拉斯維加斯城里的一個(gè)校區。州工程處辦公室可利用我們的客戶(hù)管理工具直接給我們傳遞開(kāi)發(fā)相關(guān)材料,共同參與任務(wù)。這樣,通過(guò)Scrum和TDD在此項目中的實(shí)施,用戶(hù)不再需要向以前那樣耐著(zhù)性子,在漫長(cháng)的發(fā)布周期內默默等待。
我們日常工作重點(diǎn)主要放在學(xué)習班上,每周召開(kāi)一次計劃會(huì )議,介紹本周的課程情況,并對上周情況作一次回顧。
團隊內部的日常會(huì )議,不定期舉行,因為每個(gè)學(xué)生也有自己的安排。像eWaters組曾規定每天12:30舉行例會(huì ),但因為實(shí)際中很少人能參加,白板就逐漸成了主要的信息源。下圖展示的是開(kāi)發(fā)中心建設項目——安裝BEA WebLogic、Informix,確保整個(gè)腳本能在Eclipse中執行,且服務(wù)器能訪(fǎng)問(wèn)數據庫——的進(jìn)展過(guò)程。圖中白板的內容包括每個(gè)學(xué)生需要完成的任務(wù),還有我們wiki的URL地址(學(xué)生們在這里可以記錄他們每天的進(jìn)展情況)。

學(xué)術(shù)討論會(huì )是了解學(xué)生本周對所學(xué)內容掌握情況的極好方式——從學(xué)生的學(xué)習計劃來(lái)看,每周安排兩次為宜。上圖中的白板描述了一次典型的學(xué)術(shù)討論會(huì )的情況,包括Java小應用和Java應用開(kāi)發(fā)、向文件和數據庫寫(xiě)入數據等內容,展示了應用程序迭代式和遞增式的實(shí)現過(guò)程。討論會(huì )特別注重體驗,通常由兩或多個(gè)學(xué)生坐在一起展開(kāi)。我們發(fā)現,一些帶有探索性的、非確定性的任務(wù),最好由兩個(gè)學(xué)生先獨立學(xué)習,直到他們覺(jué)得事情有了大致眉目再坐到一起。而確定性的活動(dòng)和工作討論會(huì ),則最好由兩個(gè)學(xué)生結對完成,特別是其中一個(gè)學(xué)生比另一個(gè)經(jīng)驗豐富的時(shí)候。從我們的實(shí)踐來(lái)看,鼓勵學(xué)生與不同的人結對學(xué)習,勢在必行;否則,一個(gè)學(xué)生可能越學(xué)越有動(dòng)力,而另一個(gè)越來(lái)越被動(dòng)。在我們的學(xué)習班中,尤其在一個(gè)是男同學(xué),另一個(gè)是經(jīng)驗更少的女同學(xué)時(shí),這種情況特別明顯。
當然,結對并不僅限于學(xué)生,教師結對工作時(shí),也可以像學(xué)生結對那樣實(shí)現師生交流——直率地指出問(wèn)題,同時(shí)也要能提出建設性意見(jiàn);可以激烈爭論,但常常也可以用點(diǎn)小幽默化解大家的情緒。
實(shí)踐證明,與客戶(hù)配合是所有結對方式中最為困難的(和學(xué)校管理人員結對除外)。最為成功的是維護本地校區計算機實(shí)驗室PC的工作,因為其中的任務(wù)是彼此獨立的,可以由多個(gè)小組在不同學(xué)校同步進(jìn)行,而且任務(wù)的要求清楚,幾乎所有學(xué)生都力所能及。另一個(gè)比較成功的項目是為位于60公里外圣達菲的州工程處辦公室更新JSP代碼,任務(wù)獨立且難度不高。我們在這個(gè)項目上一個(gè)優(yōu)勢是學(xué)生開(kāi)發(fā)組在本地搭建了用戶(hù)的開(kāi)發(fā)環(huán)境,因此我們需要安裝應用服務(wù)器軟件、配置連接池、做好版本控制、用異常復雜的ANT腳本實(shí)現代碼編譯和發(fā)布, 并做好需求整理工作。
第三個(gè)項目周期為三年,要求SDA為某非營(yíng)利企業(yè)開(kāi)發(fā)一個(gè)財務(wù)和市場(chǎng)活動(dòng)管理系統。此項目要求按照企業(yè)資源管理計劃,實(shí)現訂單、庫存、網(wǎng)站以及帳目管理。開(kāi)發(fā)小組成員會(huì )在每天下午5:00一起討論項目進(jìn)度,評估剩下任務(wù)所需的開(kāi)發(fā)時(shí)間。在這個(gè)項目中,我們遇到了很多困難,比如用戶(hù)參與少、新手對行業(yè)概念理解的難度大、項目組內部壓力大,以及平臺、過(guò)程、角色和責任等任何商業(yè)開(kāi)發(fā)組織都會(huì )面臨的決策問(wèn)題。但是,項目組成員在這個(gè)過(guò)程中收獲了很多東西,如項目管理、社會(huì )交往和用戶(hù)關(guān)系等從來(lái)不可能在非真實(shí)用戶(hù)和非真實(shí)項目中得到的知識。
日常經(jīng)歷是我們每周回顧會(huì )的素材。每周五,在團隊的回顧會(huì )上,將對一周的成果做出總結——我們學(xué)到了什么,我們不應該忘記什么,應該忘記什么,下周我們應該有什么改進(jìn)。一般,回顧會(huì )都是緊跟著(zhù)耗時(shí)一小時(shí)左右的午餐——匹薩、三明治或者便餐——舉行。通過(guò)這種方式,可以增進(jìn)大家感情,暢所欲言。有人會(huì )搶占門(mén)旁的軟椅(見(jiàn)下圖),有音樂(lè )天賦的學(xué)生還可以操起吉他,在角落里低彈慢吟!
每次的周末回顧會(huì )都會(huì )有不同的特點(diǎn)。比如初期時(shí),他們最關(guān)注的是后勤準備工作,因為此時(shí)計劃的階段性時(shí)間難以確定、沒(méi)有設備、計算機環(huán)境沒(méi)有搭建好、彼此溝通渠道不明確等。對這些學(xué)生來(lái)說(shuō),有太多不確定性因素了。但慢慢地,他們的分析、表達、決策和根據問(wèn)題設計解決方案的能力會(huì )隨著(zhù)一次次回顧會(huì )的延續而逐步提高。

類(lèi)似“我們知道星期三的討論會(huì )是一種浪費(因為我們當時(shí)就做過(guò)評估了),因此沒(méi)有再舉行的必要”這樣的評論,是實(shí)現真實(shí)、自然、可用行動(dòng)或語(yǔ)言在彼此之間,或對教師以及來(lái)訪(fǎng)人員反映看法的一種嘗試。其他系的教師看到我們的學(xué)生在自己老師和指導員不在的情況下,能自發(fā)舉行回顧會(huì )議并對下周任務(wù)提出建議時(shí),肯定會(huì )大吃一驚。
與領(lǐng)導層接觸的機會(huì ),以及通過(guò)閱讀、研究課程和項目工作得來(lái)的經(jīng)驗,可以直接促成某些學(xué)員就業(yè)。我們的一個(gè)學(xué)員,現在澳洲負責一家銀行的國際事務(wù)(不可否認,她本來(lái)就經(jīng)驗豐富,但她認為SDA給了她承擔這樣一個(gè)極富挑戰性工作的工具——尤其是Scrum和用例——和信心。還有兩個(gè)客戶(hù)雇用了我們的學(xué)員,繼續在學(xué)習班時(shí)啟動(dòng)的工作。有些學(xué)員已經(jīng)在半工半讀,不斷積累和運用著(zhù)學(xué)到的管理、社交和技術(shù)知識。
有一個(gè)學(xué)員已經(jīng)去了明尼蘇達州,希望推廣他在新墨西哥州開(kāi)發(fā)的一項技術(shù)——FIT,是他在為州工程處辦公室做項目時(shí),在Charlie Poole指導下開(kāi)發(fā)的一個(gè)測試工具。還有一個(gè)去了離家更近的一所加拿大大學(xué),計劃完成M.B.A學(xué)位,并充分開(kāi)發(fā)他在各種環(huán)境下讓計算機工作方面的豐富知識。其他方面的結果則不太理想。一個(gè)助教因為不能適應環(huán)境差異而離開(kāi)了我們。計劃本身也已被NMHU校長(cháng)Manny Aragon(現在已經(jīng)被學(xué)校解雇)停止。絕大多數學(xué)員四散離去,不過(guò)比較核心的六個(gè)人還在繼續工作,等著(zhù)計劃在圣達菲的另一所大學(xué)重新啟動(dòng)。其他人還彼此保持著(zhù)聯(lián)系,如果計劃重啟,他們還可能再次加入。希望在2007年春,我們能夢(mèng)想成真吧。
在OOPSLA 2005上,一些教學(xué)模式研究機構負責人和我們一起討論了他們的模式如何與我們模式的結合,以及還可能存在的缺失等問(wèn)題。
最后,我們討論認為的成功模式,主要圍繞三個(gè)方面展開(kāi)——團隊內交流(Community Interaction)、社會(huì )實(shí)踐(Social Interaction)和學(xué)習(Learning)——如下面三圖所示。其中藍色節點(diǎn)未列為模式,與粉紅節點(diǎn)并存;六邊形節點(diǎn)是模式語(yǔ)言(Pattern Language)而非單個(gè)模式。
SDA模式——團隊內交流(Community Interaction)

SDA模式——社會(huì )實(shí)踐(Social Interaction)

SDA模式——學(xué)習(Learning)

后來(lái)對系統思想8的研究也證實(shí)了我們所列的三個(gè)維度在所有社會(huì )系統中的通用性;另外,我們忽略的第四維是對市場(chǎng)——如可能參加計劃的學(xué)生、大學(xué)管理者、各團體負責人甚至潛在用戶(hù)(現存用戶(hù)已被定義為我們群體的成員)——中風(fēng)險承擔者的外部接口。盡管不對這第四維多加注意看似可以降低計劃復雜度和成本,但對它的忽略,其實(shí)是暗藏風(fēng)險的。
計劃停止后,我們以系統思想為手段,努力總結歸納我們已經(jīng)發(fā)現和應用的一些模式,希望能給那些渴望提高團隊、院系和組織能力水平的人一些幫助。我們用一個(gè)叫作autochthony的工具整理了我們的研究成果,不過(guò)在這里就不贅述了,那又是另一個(gè)話(huà)題。
在這次會(huì )議上,只有我們的學(xué)生得到了自我展示機會(huì )。觀(guān)眾相繼被我們的巨大變化震驚了,羨慕這些學(xué)生在知識和能力上取得的巨大成功。
因為在教學(xué)計劃中強調敏捷原則,并在教學(xué)實(shí)踐中成功運用了這些原則,我們引起了敏捷聯(lián)盟(Agile Alliance)的巨大興趣,并得到了支持。在上月于明尼阿波利斯舉行的Agile2006大會(huì )上,很多教師、學(xué)者和學(xué)生都表示非常希望加入可能在圣達菲重啟的SDA計劃;在這次會(huì )議上,該計劃的重啟成了一個(gè)熱門(mén)話(huà)題。
Pam Rostal,位于雙子城的面向對象技術(shù)用戶(hù)組(Object Technology User Group,OTUG)負責人,Trissential公司通過(guò)信息技術(shù)實(shí)現組織提升領(lǐng)域的專(zhuān)家。她在應用和企業(yè)的架構設計、業(yè)務(wù)和技術(shù)過(guò)程管理、組織結構調整和業(yè)務(wù)分析等方面具有豐富實(shí)踐經(jīng)驗。2004-2005年,她與Dave Wes在NMHU合作創(chuàng )立了軟件開(kāi)發(fā)學(xué)習班。目前的研究方向是本土化研發(fā),這是一個(gè)以系統為基礎的組織架構模型。她希望研究成果能成為她在諾瓦東南大學(xué)(位于Fort Lauderdale)的博士論文的一個(gè)部分。
Dave West,自1968年進(jìn)入軟件行業(yè),1988年成為高校教師。他是《Object Thinking》的作者和《User Stories》的合作者(與Kent Beck)。發(fā)表過(guò)大量論文,并經(jīng)常在OOPSLA和敏捷技術(shù)大會(huì )上做報告。目前正在撰寫(xiě)一本圖書(shū)——《Developing Systems》,2007年春天出版。他生活在新墨西哥州,但經(jīng)常為全國各地企業(yè)做咨詢(xún)服務(wù)。他希望在2008年春天到來(lái)時(shí),能夠呆在如本文描述的那種教室里。
聯(lián)系客服