寫給一個(gè)App做了10個(gè)月還沒有上線的公司。
腦圖
歲末年關(guān),也是App蓄久代發(fā)之日。
對(duì)于公司我這里有一個(gè)價(jià)值100多萬的建議,它可以提升我們公司軟件開發(fā)效率,減少開發(fā)成本,從而節(jié)省一筆不小的開支。還可以更快更方便的開展其他業(yè)務(wù)提升時(shí)間利用率。在這個(gè)時(shí)間就是金錢,效率就是生命的時(shí)代里我相信這也許是一個(gè)很不錯(cuò)的建議。如果它能奏效預(yù)計(jì)能提升40%的效率。如果簡(jiǎn)單的換算成錢來看(1W/人/月 * 30人 * 10個(gè)月)* 0.4 ≈ 120W,這還不包括節(jié)省下來的時(shí)間完成其它事情所帶來的收益。
人都是逐利的,公司也一樣。不同的是公司凝聚了個(gè)人的力量組成團(tuán)隊(duì),抱團(tuán)打天下以便更容易實(shí)現(xiàn)目標(biāo)牟取相應(yīng)的利益。我有幸能加入公司,成為這個(gè)利益共同體中的一份子,同時(shí)我也想貢獻(xiàn)自己一份微薄的力量將我們的共同利益最大化。所以在我加入公司這段不長(zhǎng)的時(shí)間里發(fā)現(xiàn)了一些問題并斗膽總結(jié)出來,不知道是否客觀正確,但我主觀認(rèn)為它確實(shí)影響了我們這個(gè)利益共同體的利益最大化。
存在問題
1.無任何計(jì)劃
俗話說無規(guī)矩不成方圓,做軟件開發(fā)也一樣。朝立夕改不僅不能做到至善盡美、反而會(huì)影響項(xiàng)目整體的穩(wěn)定。計(jì)劃的重要性是不言而喻的,但是我并沒有在我們的團(tuán)隊(duì)中感覺到它的存在。
合理的計(jì)劃絕對(duì)是效率提升最好的幫手,如何制定出合理的計(jì)劃我覺得需要專人專做。就好比我們都會(huì)畫畫,但我現(xiàn)在需要請(qǐng)一位畫師給我畫像,我不會(huì)去對(duì)他的工作指手畫腳甚至隨意更換要畫的畫像。同理如果一個(gè)人自稱懂程序,但不清楚H5和原生的優(yōu)劣如何能決定一個(gè)功能或一個(gè)界面是用原生或H5實(shí)現(xiàn)?
好的計(jì)劃會(huì)很清楚的表明什么時(shí)候干什么事情,有很好的條理性。像我通常做項(xiàng)目時(shí)會(huì)簡(jiǎn)單的分成一期二期三期等階段性進(jìn)展,并很好的將要實(shí)現(xiàn)的功能進(jìn)行劃分。在前期打好基礎(chǔ),后期開枝散葉這是我們通常使用的策略。
如果我們有了擬定的計(jì)劃,那我們還需要在時(shí)間節(jié)點(diǎn)去回溯計(jì)劃,找出影響計(jì)劃完成的責(zé)任源頭。比如我們之前擬定了20號(hào)上線的計(jì)劃,后來為什么會(huì)不疾而終。沒有對(duì)過去的反思,如何行走當(dāng)下,更甚面對(duì)未來?
2.無任何流程
生活中我們常常需要走各種流程,流程是事物進(jìn)行中的次序或順序的布置和安排。辦事有辦事流程,開發(fā)有開發(fā)流程,業(yè)務(wù)有業(yè)務(wù)流程,而程序又是一段段代碼按照給定流程執(zhí)行的工具。沒有流程或者流程混亂做出來的程序也不會(huì)是一個(gè)健壯的程序。
常見的軟件開發(fā)流程會(huì)有:需求分析-->軟件設(shè)計(jì)-->技術(shù)架構(gòu)-->代碼編寫-->功能測(cè)試。當(dāng)然你也可以有你自己的流程,這里有一些前人總結(jié)出來的開發(fā)模型,也分析了利弊。不難看出我們現(xiàn)在的邊做邊改型只適用于幾百行的小程序,如果他們能幫助我們更好的做好工作,為什么不去學(xué)習(xí)一下了?
常見的迭代流程

這個(gè)是目前軟件開發(fā)最常用的敏捷開發(fā)的迭代流程圖,也很清楚的標(biāo)明了不同階段該如何管理和介入。同時(shí)我也希望我們能采用這樣的開發(fā)模式,而不是現(xiàn)在的。
還有就是最重要的BUG處理流程,這里我找到了一篇文章算是不錯(cuò)的科普,它教我們?nèi)绾蝿澐諦UG類型、缺陷等級(jí)以及BUG處理流程??梢钥吹桨l(fā)現(xiàn)BUG并不是立即去打破程序員目前的工作狀態(tài)。
3.需求不明確
這一點(diǎn)在很多地方都存在,就比如船詳情從我開始做到現(xiàn)在基本穩(wěn)定的版本我已經(jīng)改動(dòng)不下4次。還有最近需要修改的部分都沒有很明確的需求。
4.意見不統(tǒng)一
這個(gè)也是因?yàn)闆]有良好的開發(fā)流程導(dǎo)致,領(lǐng)導(dǎo)說哪改哪,不同人對(duì)要實(shí)現(xiàn)的功能有不同的目標(biāo)。記得選擇優(yōu)惠券和地區(qū)選擇都遇到的類似的情況。
5.設(shè)計(jì)缺陷
不知道是開發(fā)沒有按照設(shè)計(jì)圖完成UI,還是設(shè)計(jì)圖表達(dá)的不夠完整,經(jīng)常性的重做既是對(duì)設(shè)計(jì)人員成果的否定,又是對(duì)開發(fā)人員時(shí)間的浪費(fèi)。
6.UI改動(dòng)頻繁
不是說UI不能改動(dòng),也不是說領(lǐng)導(dǎo)沒有了指揮的權(quán)利,只是想說可以將改動(dòng)總結(jié)提煉,以達(dá)到風(fēng)格一致性或功能完整性。我們經(jīng)常使用的App基本上半月一小改一月一大改,QQ改了15年它也還再改,這些比要的進(jìn)化肯定是必須的。經(jīng)得起用戶使用的版本才是穩(wěn)定的版本,用戶體驗(yàn)提升、用戶數(shù)量增加的改動(dòng)才會(huì)是好的改動(dòng)。沒有刻度的秤桿只是一根廢柴。
7.無任何系統(tǒng)性測(cè)試
測(cè)試很重要,它是對(duì)產(chǎn)品質(zhì)量的保障,而我們一直再改,敢來一次系統(tǒng)性內(nèi)測(cè)嗎?
解決方案
成功有賴于良好的項(xiàng)目管理,好的項(xiàng)目管理流程是怎樣的?
1、制定合理計(jì)劃并嚴(yán)格執(zhí)行
2、明確業(yè)務(wù)流程、減少溝通成本及理解偏差
3、各司其職、責(zé)任到人
4、增加需求分析環(huán)節(jié)、減少設(shè)計(jì)缺陷及試錯(cuò)性開發(fā)
5、分析責(zé)任源頭、增加追責(zé)機(jī)制
6、明確開發(fā)、測(cè)試流程。分清事務(wù)優(yōu)先級(jí)
簡(jiǎn)單羅列了一下我想到的方案,但真正能解決問題的還是執(zhí)行力的問題。
所以說了這么多我能給出的建議就是第一條:制定合理計(jì)劃并嚴(yán)格執(zhí)行,如果做到它肯定不止值100W。畢竟很多大型互聯(lián)網(wǎng)公司完善的制度也是在執(zhí)行這一條。
以上也只是個(gè)人愚見,謹(jǐn)以此表明我自己的看法和態(tài)度,為自己爭(zhēng)取一個(gè)良性的工作環(huán)境。愿公司越來越好,早日實(shí)現(xiàn)利益共同體的目標(biāo)。