- 程序員2009精華本
- 《程序員》雜志社
- 2959字
- 2018-12-27 00:11:24
LiveBOS的深度需求工程
一般地來講,一個平臺級別的產品,開發團隊動輒幾百人,而且耗資巨大。但是頂點軟件CEO嚴孟宇所率領的LiveBOS開發團隊,通過多年的摸索和實踐,只用了較少的人力和成本,卻高效率、高質量地完成了 LiveBOS 這款對象型業務架構中間件及其集成開發工具。這款工具不僅實現了以業務模型建立為中心,直接完成軟件開發的創新軟件開發模式,而且適用于基于WEB的專業應用軟件與行業大型應用的開發。
那么,究竟是什么樣的原因,讓這個原本基于C,C++的GUI開發的團隊成功轉型為基于JavaEE的WEB開發,并高效率、低成本地開發出如此大規模的軟件產品呢?記者此次特別對頂點軟件 CEO 嚴孟宇先生進行了一次專訪,請他從開發LiveBOS這款產品的切身經驗談起,對他一直以來所做的工作——產品經理這一職位作以詮釋。
深度發掘需求,做好企業產品
嚴孟宇在LiveBOS這款產品的開發過程中,基本上負責的就是一名產品經理的工作。具體的來講,主要包括三個方面:為產品定位的工作,即對將LiveBOS做成一個什么樣的產品作以決策;對產品的具體特性做出一定的要求;對技術經理做出來的成果進行評價,并針對評價提出相應的改進意見。具體談到產品需求分析方面所做的工作,他談到了以下幾點:通過與客戶的溝通,定義產品的規格;定義產品的主要界面風格;定義產品的使用環境;定義產品的關鍵特性;與技術經理共同定義技術的基本架構等。
而這做幾方面工作的過程中,嚴孟宇一直秉持著同一個理念,那就是一切從需求出發,只有滿足了客戶需求的產品,才是一個好的產品。
例如,在為LiveBOS這款產品進行定位的時候,他就是完全基于客戶的需求,以及他對市場和用戶的理解和認知。
由于他所定位的市場和用戶主要是行業運用開發商與SI,所以他深入地分析了這些人的需求所在。首先,行業運用開發商與 SI主要從事的是一個基于WEB的開發過程,而這個開發過程的特點就是開發周期長,過程相對繁瑣。而恰恰由于這一點,決定了這兩種用戶的核心競爭力并不是是否擁有一批掌握了某種開發能力的技術團隊,而是一種行業專家的概念,是對行業的一個深刻的理解。所以,這類公司比較容易接受的產品是一個行業應用的解決方案,而不是一個單純的開發工具。
于是,他提出了業務架構中間件的概念。他并沒有將這款產品定位為一個簡單的輔助開發軟件,而是一個業務的中間件。即通過一個Xml文件的模型就把設計首先變成了一個應用,而不單單是生成簡單的代碼。
產品經理:優秀的需求分析師
談到一個產品經理所必須具備的基本素質,他認為主要應該有以下幾點:
1.優秀的需求分析能力。
2.總結與分析的能力。
3.對技術的理解,對技術發展趨勢的一個理解。因為這個產品本身就是面向開發人員的,所以對開發技術的發展方向上的理解與判斷能力非常重要,即對技術發展的趨勢的判斷能力非常重要。
4.學會借鑒。即對國內、國際上技術的理解和分析能力。在LiveBOS這個產品幾年來的開發過程中,他研究了國內外大量的同類型產品,對他們一些特性的發展趨勢也都做了深入的分析。他認為,只有這樣才能夠把握產品開發的正確發展方向。所以,產品經理一定要時刻注意到產品發展方向的變化,從而進行正確的決策。
此外,作為產品經理,也應該參與一些技術選型工作。產品到底選用哪一種技術架構,實際上也是決策的一個過程,因為使用不同的技術架構,會在很大程度上影響到客戶群。
而在這些基本的素質之中,他指出最重要的就是需求分析能力,也就是說,產品經理應該同時是一名優秀的需求分析師。
產品經理的需求分析工作應該在整個開發流程中一直存在。他認為,產品經理應該在實施過程中分步驟地去指導項目組成員,定期的去研究、分析一下他們的開發成果,檢查是否跟預先對于產品的定義相一致,也就是是否與用戶最初的需求相一致。當出現不一致的情況時,就需要采取重新再討論的措施,或者經過分析之后,判斷是需求需要調整還是運營的產品需要改進。
此外,他提到了在開發LiveBOS這款產品的過程中,需求的定義是一個不斷滾動的變化過程,而不是那種事先完成非常規范和完整的設計之后才進行開發的。所以他們的團隊也融入了一些敏捷開發的概念,在不斷的實踐中確定真正的需求所在。
好的需求源于溝通
嚴孟宇認為產品經理在完成需求工作的過程中,溝通能力是最重要的。而且,這里的溝通不僅僅是團隊內部的溝通,更多的是與用戶的溝通。
他舉了一些例子來闡述這一點:比如,LiveBOS開發團隊在產品開發的過程中,就會更多地采用結對開發,即讓同一組的開發人員之間加強溝通,讓他們對于需求的理解盡量做到一致。
另外,在產品做到一個“里程碑”的時候,他們還會請他們的用戶與開發組的成員進行面對面的一個溝通,開一個產品介紹會,讓這個產品在一個小的最終用戶群里做內部推廣,讓用戶進行試用。最后,他們可以通過這樣的活動及時地得到一個反饋的需求信息。而產品經理就會根據這個信息,做一些需求上的變動從而改變相應的開發計劃。
規劃產品周期,穩步適應用戶需求
嚴孟宇認為,合理的規劃好產品的生命周期,也是產品經理所必須做到的。這一點的實現是一個技巧,一個合理的產品周期,可以穩步的滿足用戶的最終需求所在。
一般來講,在開發LiveBOS這款產品時,他會在三到六個月內根據用戶的需求,為產品定義一個重要的特性,并對產品進行小的版本更新。而通過這樣一個小的周期,既可以快速的實現這個新的特性,又可以分析這個特性的出現是不是滿足了用戶的真正需求。而大的版本設計往往是針對用戶已經適應的特性,在這些不同的特性之間進行重新編碼、整合的過程。簡單地說,大的版本更新就是把已有的穩定的特性保存下來,對零亂或邏輯性不夠強的新特性進行整合的過程,夯實基礎,滿足用戶的需求。
而且他強調,在一個新的特性研發出來之后,他會特意的去維持一段穩定的完善期。即使這時有了一個新的特性需求,也會控制住,不會去做這個新的嘗試。也就是要控制版本更新的一個節奏。與此同時,完善內部的相關文檔,進行一些細節的調整。
此外,正如前文所提到的,在每一個小版本更新發布的時候, LiveBOS開發團隊都會開一個特性的介紹會,或者新版本推廣會,時時傾聽用戶的心聲。
一名產品經理對未來的展望
在產品推廣LiveBOS這款產品的過程中,嚴孟宇也曾經遇到了一些困難,因為一些企業已經有了自己固有的開發模式,讓他們一下子接受這個產品的確有一定的難度。但讓他欣慰的是,已經有一些企業正在慢慢地接受他們的產品。而且,很多最終端客戶在看到了這個產品之后,覺得LiveBOS開發團隊雖然只擁有很少的技術人員,但是也能開發出大型的高效軟件來,那么這個產品一定能夠給他們帶來很大的幫助,并且能夠提升他們產品的運營水平。
談到對未來的展望,嚴孟宇對于未來三年內的計劃是這樣的,在產品功能方面,重點讓產品形成從測試到流程的控制,包括軟件開發過程的控制這樣全周期的支持,使整個特性得到完善,當然,這一切也都基于用戶對于產品全周期支持的需求。另外,業務方面的目標就是在國內能夠得到一個大規模的推廣、使用。
至于進行這些推廣的資源,他準備從兩方面進行獲取,即人和資金。人的方面,他會從應用軟件的開發商團隊中抽調一些在應用軟件開發過程中擁有優秀的技術,而且表現出比較好業務敏感性的技術人員來補充 LiveBOS 開發團隊的力量,還有就是通過社會招聘;資金方面,頂點軟件本身每年都有比較好的利潤和現金流,同時也在申請一些政府的創新資金,在未來的幾年里會考慮引進一些外面的資金去做更大發展,比如風險投資等等。█