微簡公司推出“微簡開發(fā)方法”,或?qū)⒏淖冘浖袠I(yè)規(guī)則
隨著軟件行業(yè)的逐漸成熟,軟件行業(yè)已經(jīng)變成低利潤行業(yè)。很多公司辛辛苦苦干了一年,都發(fā)了工資;經(jīng)常一筆錢回不來,工資就發(fā)不了;公司剛做大點(diǎn),又不得不縮編;很多項(xiàng)目沒法做,算下來總是賠的;有時候系統(tǒng)快做完用戶才發(fā)現(xiàn)不是他們要的,只能推倒重來;項(xiàng)目前期總是推進(jìn)的很慢,用戶很難溝通;項(xiàng)目后期總是需要加班,不得不支付高額的加班費(fèi)用;項(xiàng)目組人員越來越多,效率卻越來越低;開發(fā)人員不是不夠用,就是都閑著;公司收入越來越高,利潤卻越來越低。
這些問題都是表象,根本的問題在于軟件開發(fā)過程拖沓復(fù)雜,人員的利用效率低下。以軟件定制開發(fā)為例,業(yè)務(wù)人員不懂開發(fā),開發(fā)人員不懂業(yè)務(wù),溝通起來非常困難,最終做出來的系統(tǒng)問題非常多,參雜的水分也很大。換句話說,就是軟件的質(zhì)量很不過關(guān)。軟件的質(zhì)量和房屋建筑的質(zhì)量不同,直觀的質(zhì)量問題比較少,由于質(zhì)量問題造成的影響也沒那么明顯,所以軟件質(zhì)量問題一直沒有被搬上臺面。實(shí)際做開發(fā)的人都明白,軟件項(xiàng)目的問題之多已經(jīng)到了讓人難以接受的程度,應(yīng)付、糊弄的項(xiàng)目越來越多,最終都是勉強(qiáng)交付。
為從根本上解決軟件質(zhì)量問題,大幅提高人員的利用率,使軟件企業(yè)重回高利潤時代,微簡公司推出了微簡軟件開發(fā)方法,大幅優(yōu)化軟件開發(fā)過程。
下圖是優(yōu)化前后的比較:
微簡開發(fā)方法的主要思想是:前期需求以界面為主進(jìn)行溝通,在需求階段就完成絕大部分界面;用戶通過界面模擬不斷體驗(yàn)系統(tǒng),直到系統(tǒng)完成;用可用型原型工具,將界面設(shè)計簡化到***;原型即界面,直接用于開發(fā)。雖然只是改變了需求階段的方式,但此法對整個開發(fā)過程的影響卻非常之大。首先,用戶能從頭到尾清清楚楚知道自己要做什么,最終系統(tǒng)什么樣,這樣就能保證最基本的質(zhì)量問題,能夠讓用戶得到最適合的系統(tǒng)。其次,從項(xiàng)目開始就看到界面,用戶會很主動、詳細(xì)的提出需求,需求也就能夠快速、準(zhǔn)確的確定下來。第三、原型即界面的模式大大減少了需求人員與美工、前端工程師、設(shè)計、開發(fā)的反復(fù)溝通,避免二次設(shè)計、二次確認(rèn)過程,大大提高了整體開發(fā)效率。第四、界面出來了,數(shù)據(jù)字典也就出來了,設(shè)計工作實(shí)際也就完成大半了。第五、這種模式能夠***程度的減少需求的變更,需求的準(zhǔn)確使得開發(fā)、設(shè)計、測試過程都變得更準(zhǔn)確,從而使項(xiàng)目整個更為可控,縮短了整個項(xiàng)目的周期,失敗的風(fēng)險也降到***。第六、由此帶來的改變可以減少人員、使人員效率得到充分利用。在這種模式下,軟件開發(fā)項(xiàng)目成本降低30%應(yīng)該是比較輕松的,一些資深的專家甚至認(rèn)為很多項(xiàng)目中會降低50%的開發(fā)成本。
這種模式下,甲方也會大大受益。不會再等到項(xiàng)目結(jié)束才發(fā)現(xiàn)系統(tǒng)不是自己要的;不會把項(xiàng)目的成功完全寄托在乙方身上;不會在項(xiàng)目前期只看到PPT進(jìn)度匯報而不知所措;信息中心也不會夾在業(yè)務(wù)部門和開發(fā)人員中間難受;不需要等到驗(yàn)收才發(fā)現(xiàn)一堆要改的問題;不需要再去面對那么多沒用的功能、復(fù)雜的操作;項(xiàng)目預(yù)算也能降下來。
不光是定制開發(fā),產(chǎn)品的研發(fā)也是一樣的道理,早期先由產(chǎn)品經(jīng)理或需求人員直接畫出界面,然后看著界面來討論產(chǎn)品,這樣的方式無疑使效率倍增,產(chǎn)品周期也會縮短很多。
微簡開發(fā)方法的核心之一是“可用型原型工具”。“可用型原型工具”用于制作軟件系統(tǒng)的界面,是微簡公司提出的一個新概念。它不同于傳統(tǒng)的原型工具或軟件開發(fā)工具。傳統(tǒng)的原型工具所做的原型多是示意性的,和最終的界面不同,生成的代碼也不可用。而開發(fā)工具只有開發(fā)人員才可以使用,易用性不足,開發(fā)速度也比較慢??捎眯驮凸ぞ呓橛谠凸ぞ?、開發(fā)工具之間,是更為直接的需求溝通工具。
可用型原型工具的特點(diǎn)應(yīng)該包括:
1、原型即界面,二者保持一致;
2、生成的代碼可以直接用于開發(fā);
3、可快速搭建系統(tǒng)界面;
4、很強(qiáng)的易用性,不懂開發(fā)的人也可使用;
微簡公司推出“微簡開發(fā)方法”的同時,也推出了自己的可用型原型工具vjpage。vjpage也是一套針對web應(yīng)用程序的前端頁面制作工具。無論是否熟悉前端頁面開發(fā)、是否有美工基礎(chǔ),都可用它快速、輕松的制作出專業(yè)、美觀的Html5、Ext、jQuery等類型的前端頁面。vjpage是***款真正意義上的可用型原型工具。
看似簡單的方法,必然會對整個軟件行業(yè)帶來深遠(yuǎn)的影響。通過體驗(yàn)式開發(fā),使得軟件重回簡單、實(shí)用模式,也讓軟件真正變得精準(zhǔn)、有效,能夠真正起到應(yīng)有的作用,而不是給用戶帶來負(fù)擔(dān)。這種模式也會把軟件開發(fā)中的水分?jǐn)D出來,去掉很多虛的東西,讓軟件的質(zhì)量有質(zhì)的飛越。隨著成本的降低、軟件質(zhì)量的提升,軟件行業(yè)將越來越健康發(fā)展。
以下是微簡開發(fā)方法的具體內(nèi)容:
1、把事情簡單化。
復(fù)雜的問題簡單化處理。
2、執(zhí)著于有實(shí)際意義的事情。
把精力放在有實(shí)際意義的事情上,盡量回避無實(shí)際意義的形式主義。
3、以原型為主和用戶去溝通。
界面原型是主要的溝通方式。要頻繁溝通,不斷修改。每周至少兩次以上。
4、需求階段完成90%以上的界面。
需求階段至少應(yīng)該90%以上的界面,盡量去追求100%。因?yàn)榻缑姘私^大部分細(xì)節(jié),界面的細(xì)化可以把設(shè)計、開發(fā)過程中碰到的絕大部分細(xì)節(jié)都和用戶討論清楚,使需求更準(zhǔn)確、更完整,***程度的避免需求的反復(fù)。
5、使用可用型原型工具,原型就是界面。
使用可用型原型工具來設(shè)計界面,避免二次設(shè)計、二次確認(rèn)過程。
6、程序員參與需求分析。
程序員可參與需求過程,與需求人員相互補(bǔ)充??墒购笃诘拈_發(fā)更準(zhǔn)確,可以使程序員盡早的步入需求分析的大門,為公司培養(yǎng)高可用人員。
7、用減法來確定功能點(diǎn)。
盡量用減法來確定功能點(diǎn),去掉多數(shù)可以不要的功能,集中精力把常用的功能點(diǎn)做的簡單、實(shí)用,真正把用戶從軟件中解放出來。
8、半咨詢式開發(fā),用原型帶用戶。
多數(shù)項(xiàng)目中,用戶并不能很明確的知道自己要什么。通過界面原型可快速引導(dǎo)用戶主動的溝通需求。
9、不斷交付可用版本供用戶體驗(yàn)。
開發(fā)過程采用迭代方式,部分需求確定時,即可進(jìn)行開發(fā),并定期提交部分功能的可用版本,讓用戶及早體驗(yàn)系統(tǒng),及時修改。
10、快速簡單相應(yīng)。
快速原型、快速軟件版本體驗(yàn)。以快速、用戶不斷體驗(yàn)來達(dá)到反復(fù)驗(yàn)證的目的,保證正確性。
11、需求階段界面原型作為主要考量,中后期以可用軟件版本作為主要考量。
12、微簡法可以獨(dú)立使用,也可以和其它方法結(jié)合使用。