不平凡軟件,始于2014
什么是好軟件
作為程序猿的我們總是被提醒,要從商業(yè)角度去考慮需求,要交付價值。商業(yè)?價值?這應(yīng)該是每個公司的大腕們應(yīng)該關(guān)心的問題吧,商業(yè)是什么?價值如何衡量?我們沒有接觸過,也夠不到,這虛無縹緲的兩個詞,如何去理解?
請眾位看官們閱讀此文,細(xì)細(xì)品味,如何去開發(fā)出一個好軟件。
對于什么是好軟件,見仁見智。傳統(tǒng)軟件制作團(tuán)隊中,開發(fā)人員認(rèn)為好軟件最重要是有好代碼保證可維護(hù)性和擴(kuò)展性。產(chǎn)品經(jīng)理總是在尋思怎樣能比競爭對手提交更多價值。測試者努力使軟件在發(fā)布的時候沒有bug……。
這幾個人可能都錯了——即便這幾點(diǎn)都實現(xiàn)了,你仍有可能提交的是一個過于復(fù)雜,不好使或者很難學(xué)會使用的軟件
如果你真想知道自己做的軟件好不好,最好去接觸用戶,有多少人在用,使用頻率如何?如果很多人都在用,說明:“恩,這個軟件還不錯”,反之……好吧, 失敗的軟件各有各的失敗原因。
超越bugs
對于用戶來說,bug顯然會造成困擾。但是誰都不可能在發(fā)布前掃除所有的bug,尤其正在給一個正在用的產(chǎn)品頻繁增加新功能時。如果我們能接受這一點(diǎn),再嘗試從不同的視角來評判——比bug更重要的是軟件能否解決問題?能否為用戶提供清晰的指導(dǎo)?能否告訴用戶現(xiàn)在什么情況,下一步該怎么做?這一類的幫助和支持應(yīng)該是好軟件能夠提供的。
好軟件三要素
有效性:我們考慮到人們真正想要的功能了嗎?可用性無關(guān)復(fù)雜度,而是為最終用戶提供正確的功能,使他的效率邁向更高的臺階。
可用性:好用的軟件必須“快”、“高效”、“容易理解和學(xué)會使用”。用戶可沒有太多的耐心去學(xué)習(xí)冗長復(fù)雜的用戶手冊。
持續(xù)性:好的軟件會使用戶很快看到價值,并且用過之后還想繼續(xù)使用,每天,而不是一年用一次或者兩次。這種情況下,他會很樂意向她的朋友或同事推薦使用這個軟件。
但是如何能做到呢?
最簡單的方法就是直接和用戶接觸。有些項目中,團(tuán)隊和用戶的討論溝通過程和敏捷開發(fā)過程可以結(jié)合在一起,從而使反饋回路能夠更早建立,用戶的意見能夠更全面,更快的傳達(dá)到開發(fā)團(tuán)隊。
當(dāng)產(chǎn)品經(jīng)理組織和“用戶期望……”相關(guān)的會議時,請各位程序猿們盡量融入其中,參與討論。越早參與能越好的了解用戶,也就能更好的完成自己的開發(fā)工作。
以用戶為核心
對于任何一個新老開發(fā)團(tuán)隊來說,在整理需求或者寫每行代碼前考慮考慮以上三點(diǎn)要素,并且在接下來的整個產(chǎn)品開發(fā)周期都保持這樣的話,好軟件就離的不遠(yuǎn)了。
讓最終用戶告訴我們應(yīng)該開發(fā)什么樣的軟件。想做出有用的軟件就得花時間去了解他們的需求,觀察他們?nèi)绾斡密浖?,持續(xù)進(jìn)行用戶調(diào)查,因為用戶是評判這個產(chǎn)品好壞的唯一因素。
相關(guān)新聞換一組