11月5日,在上地的一間會議室,Techexcel公司CEO周鐵人講述了一個創業家的布道者理想。
更像科學家的創業者
周鐵人,祖籍浙江嘉興,1986年赴美就讀于美國Kansas州立大學,1992年畢業并獲得人工智能專業博士學位。畢業后,懷揣創業夢想的周鐵人并沒有立即投身創業,而是帶著激情和一顆持之以恒的心開始了他的打工生涯。他一邊積累著創業所需的資金,一邊尋找著自己事業的方向。在這三年里,周鐵人做過各種各樣的嘗試,比如以智能方式管理人們的日常工作安排,以此提高效率等。不斷地摸索、嘗試和選擇讓他找到最終的創業方向——過程優化管理軟件。
事實上,在過程優化管理軟件成為周鐵人最初的創業方向之前,一度人才招聘過程自動化軟件才是周鐵人想做的。這個想法來源于當時行業發展的特點,IT產業方興未艾,正是蓬勃發展之際,而專業人才卻難以尋覓,人才招聘成為阻礙IT企業發展的瓶頸?;叵氘斈?,周鐵人依然看好這個領域,但是人才招聘過程自動化軟件所需要的資金遠遠大于開發過程管理軟件所需要的資金。而在為IT企業提供咨詢的過程中,周鐵人也看到企業對軟件開發過程管理軟件的需求和自己的發展機會。
周鐵人在創業方向上的各種嘗試,從管理日程的,到管理招聘的,最后定位在管理開發上,雖然管理內容千差萬別,但都歸結到一個過程的管理上。于是,從一開始便打定主意要開發成一個真正產品的周鐵人,把他在人工智能研究中的經驗應用于軟件開發,將現實世界中比較復雜的開發過程優化,成為一個量化、概念化、模型化的過程。正如他所說:將這樣一個過程運用于機器人優化,很難讓機器人變得比人更聰明,但是把這個過程所學到的應用于某個過程,不論是IT開發還是人員招聘,都大有天地可為。
雖然最初是因為資金問題選擇了ALM軟件的創業方向,后來的創業過程中周鐵人卻漸漸發現管理優化過程中的樂趣,以及通過軟件將管理過程量化、概念化的價值體現。每個創業者都懷揣不同的夢想,有人一心想把公司做到最大,有人一心追求利潤最大。在周鐵人看來,自己更像是一個科學家的創業者,在把思想產品化之后,想得更多的是如何將產品無限優化,如何把人的聰明才智做到產品中。“這樣,產品就活了。真正的好產品是需要帶著感情,把人性的東西做進去。”就這樣,周鐵人全心投入其中,再也拔不出來。十五年的時間,他在軟件開發過程管理領域闖出一番天地。
平衡規范與靈活的開發方法論
量化、概念化、模型化——周鐵人準確精煉地描述了DevSuite產品系列的特點。但是,管理(包括軟件開發過程管理)的特點就是既規范又靈活,特別是國內軟件企業的開發過程,因為用戶需求的靈活而更加難以把控。我們常常會看到這樣的現象:當需求發生變化時開發人員明顯的抵觸情緒;常常聽到這樣的抱怨:我加班加點、沒日沒夜開發得那么辛苦,怎么說變又變了?那么,一個強調量化、概念化和模型化的產品將如何滿足對用戶對靈活性的需求呢?
確實產品人員和開發人員之間就是存在這樣一種沖突。在周鐵人看來:這種沖突在一個開發方法論的指導下才可以更好地化解,更好地產生團隊協作的精神。在這樣一個開發方法論的框架下,開發人員才能夠理解為什么需求總在變,才能夠實現整個開發管理過程的量化、概念化和模型化。
要對軟件開發管理過程進行優化,首先要清楚哪些過程需要優化,Techexcel把它分為需求過程、開發過程和質量管理三個過程。這樣,從過程的具體內容來看,實現量化是容易的。周鐵人進一步解釋:“想像一個開發過程,從敏捷開發的角度來看,這就是一個把需求最終變成可執行產品的實現過程。在這個過程中包括多個細小的周期,每個周期都使得產品需求(backlog)成為可執行產品的一個或多個功能,最終讓這個可執行產品變得完整。”因此,從過程的入口來看,量化體現在具體的產品需求(backlog)之和,過程出口的量化成果則是一個可執行的軟件產品。
質量管理和需求管理同樣圍繞這一過程,量化同樣是可以明確的。但是,管理如何真正能夠做“活”?周鐵人深刻理解到:“這就需要一個開發方法論。開發方法論是一種指導思想,本身很難量化。但是有了指導思想以后,包括需求、開發和質量管理具體在內的三個過程就有了靈活的可能性。量化的過程圍繞開發方法論來實現,就是規范與靈活的平衡。”
對于一個公司來說,整個開發管理除了過程優化的具體內容,更上層的東西就是指導思想,即開發方法論。指導思想是用來幫助公司創建他們的開發文化,而開發文化作為指導思想可以指導團隊如何無障礙地展開合作。用敏捷開發的話來說,就是我們的需求隨時都可以變。
把自己定位為科學家的周鐵人,帶著激情發展了自己的開發方法論——Specification Drive Development(需求驅動開發)。
為了更加容易地理解需求和需求之間的關系,周鐵人把需求分成兩個層次:一個是Requirement,零碎的、沒有正規表達的需求,帶有“原始味道”的需求。他舉了一個例子,某天,你收到客服部門的多個需求,它們分別是客服1的文檔、客服2的圖表、客服3的聲音、客服4的email,很快,你就總結出這些需求要的是一樣的東西——報警功能。但是,他們又有各自不同的側重,比如客服1認為報警的聲音很重要,客服2則要求實時地手機收到報警。所以,這些需求是重復的,但又是重要的。因此,TechExcel引進了另一層次的需求——Spec,即通過規范點來更量化地歸納那些重復的需求,但是又帶著不同的個性和定制化,具體的特殊需求用一套更細化的Spec來表達。反過來,圍繞Spec集合產生更優化更量化的產品開發任務或測試任務(backlog)。這就是Specification Drive Development(需求驅動開發)。
一個開發方法論布道者的理想
談到自己的開發方法論,周鐵人變得滔滔不絕。在他看來,開發方法論對任何一個軟件開發組織都是必須的、重要的。隨著中國軟件工業規模越來越大,國內軟件企業是需要有自己的開發方法論的。因此,除了作為TechExcel公司的CEO,他也非常希望作為一個開發方法論的布道者,幫助更多的中國軟件開發團隊建立符合中國人性格、習慣和文化的開發方法論。