? ? ? ? 如果你問(wèn)任何一家軟件公司里計(jì)算機(jī)專業(yè)出身的攻城獅們县遣,啥叫軟件工程巩梢?TA們一定都會(huì)下意識(shí)的在心中輕嗤一句——你是小白吧?可是真要較真起來(lái)呢艺玲?……小伙伴們也許會(huì)說(shuō):“我干嘛非得知道軟件工程是啥括蝠,干就完了!”這話沒(méi)毛病饭聚〖删可對(duì)于我們的組織(/團(tuán)隊(duì))管理者來(lái)說(shuō),這個(gè)問(wèn)題很難再繞過(guò)去秒梳,你打算帶著大家咋干呢法绵?咋干能越干越好?其實(shí)這本身探討的并不是一個(gè)單純軟件工程定義的問(wèn)題酪碘,而是一個(gè)打造組織軟件工程能力的問(wèn)題朋譬。
? ? ? ? 在2019年初HW001號(hào)文件中,任老板敲著黑板提出了“全面提升軟件工程能力與實(shí)踐兴垦,打造可信的高質(zhì)量產(chǎn)品徙赢。”猶記得那時(shí)深夜在公眾號(hào)里讀到時(shí)探越,讓我激動(dòng)不已狡赐,無(wú)法成眠,感慨HW已經(jīng)走到了正確的路上钦幔,而我們什么時(shí)候才能撥開那蒸騰的經(jīng)營(yíng)數(shù)據(jù)堆砌出的一片繁榮枕屉,不再傲慢,正視自己鲤氢,拿出真正的高品質(zhì)產(chǎn)品搀擂,才能讓我們活下去西潘,且活得更好,活得更有尊嚴(yán)哨颂。
? ? ? ? 節(jié)后總有小伙伴來(lái)與我探討有關(guān)軟件工程能力提升的話題喷市,有時(shí)信馬由韁的聊得也瑣碎零散,遂決定梳理成文咆蒿,希望能幫助大家在組織內(nèi)的軟件工程能力提升工作中找到有力的抓手东抹,更是拋磚引玉蚂子,期待大家提出更多的問(wèn)題沃测,意見(jiàn)與想法,讓我得以繼續(xù)思考食茎、改正與成長(zhǎng)蒂破。
? ? ? ? 軟件工程這一概念在IEEE的軟件工程術(shù)語(yǔ)匯編中的定義是:將系統(tǒng)化的、嚴(yán)格約束的别渔、可量化的方法應(yīng)用于軟件的開發(fā)附迷、運(yùn)行和維護(hù),也就是軟件的工程化哎媚。工程化的意思是喇伯,我們不希望開發(fā)軟件是手工作坊似的自由隨意的方式,而是一個(gè)工程拨与,工程就意味著他需要有規(guī)范的過(guò)程稻据,系統(tǒng)的、量化的管理买喧,正確的方法捻悯,科學(xué)的工具,專業(yè)的(工)人淤毛,這樣生產(chǎn)出來(lái)的軟件才是有質(zhì)量保證的今缚,讓客戶滿意的,能夠持續(xù)演進(jìn)的低淡,可規(guī)男昭裕化的,能不斷給我們帶來(lái)收益的蔗蹋。
? ? ? ? 因此事期,如果我們希望提升組織或團(tuán)隊(duì)的軟件工程能力,不妨從下面這四個(gè)方面進(jìn)行考慮:
一纸颜、過(guò)程
1.我們是否建立了統(tǒng)一的兽泣、規(guī)范的研發(fā)過(guò)程,生產(chǎn)交付過(guò)程胁孙,(設(shè)計(jì)制造過(guò)程唠倦,)服務(wù)運(yùn)維過(guò)程称鳞?
2.這些過(guò)程是否滿足目前的業(yè)務(wù)形態(tài)生產(chǎn)與交付的需求?
二稠鼻、管理
1.我們是否設(shè)立了專門的職能負(fù)責(zé)這些過(guò)程的實(shí)施推行與持續(xù)改善冈止,以及各項(xiàng)目執(zhí)行過(guò)程中對(duì)過(guò)程的遵從性?
2.無(wú)論是研發(fā)類項(xiàng)目候齿,還是生產(chǎn)類項(xiàng)目熙暴,項(xiàng)目是否是可計(jì)劃?進(jìn)度是否可跟蹤慌盯?成本與質(zhì)量是否可度量周霉?
三、方法與工具
1.我們的軟件是否可用(質(zhì)量問(wèn)題)亚皂?是否好用(業(yè)務(wù)符合程度問(wèn)題)俱箱?是否耐用(非功能需求滿足程度問(wèn)題)?是否易用灭必?(用戶體驗(yàn)問(wèn)題)
2.我們?cè)谝?guī)劃狞谱,需求,架構(gòu)禁漓,開發(fā)跟衅,測(cè)試,實(shí)施播歼,運(yùn)維等階段是否能夠采用正確的方法與有效的工具開展工作伶跷?
3.是否知曉在上面這些階段中“干得好”的標(biāo)準(zhǔn)是什么?
4.我們能否清晰的識(shí)別出我們?cè)陧?xiàng)目進(jìn)行過(guò)程中哪些環(huán)節(jié)或階段出現(xiàn)了問(wèn)題而影響了業(yè)務(wù)價(jià)值的傳遞荚恶,并知道用什么方法與工具能夠盡快解決撩穿?
四、人
1.我們對(duì)于初級(jí)開發(fā)與測(cè)試人員的培養(yǎng)周期是多久谒撼?對(duì)他們是否有系統(tǒng)的培養(yǎng)方案與課程食寡?
2.我們目前關(guān)鍵崗位人員規(guī)模是怎樣的?包括:產(chǎn)品經(jīng)理廓潜,業(yè)務(wù)領(lǐng)域?qū)<业种澹I(yè)務(wù)、技術(shù)辩蛋、數(shù)據(jù))架構(gòu)師呻畸,測(cè)試運(yùn)維專家,UCD人員等悼院。是否有專項(xiàng)的培養(yǎng)或引進(jìn)計(jì)劃伤为?
3.我們的工程師文化核心理念是什么?通過(guò)哪些機(jī)制與專項(xiàng)工作將這樣的文化滲透到組織內(nèi)?員工對(duì)文化的認(rèn)知與認(rèn)可程度如何绞愚?外界(客戶叙甸、伙伴、兄弟部門等)對(duì)我們的印象是否是一致的位衩,且與我們希望傳遞的文化氣質(zhì)相契合裆蒸?
? ? ? ? 以上只是粗略的列出一些供大家思考的檢查點(diǎn),那么我們究竟應(yīng)該先從哪里入手呢糖驴?原則上僚祷,過(guò)程與管理部分是組織的基礎(chǔ)能力(這里特指大規(guī)模開發(fā)組織,如果你是創(chuàng)業(yè)組織贮缕,那么完全可以越過(guò)這層辙谜,直奔目標(biāo),快速成事)跷睦。在工作有序開展的基礎(chǔ)上筷弦,我們?cè)偃リP(guān)注方法與工具肋演,首先通過(guò)軟件價(jià)值鏈去審視并識(shí)別我們?cè)谀男┉h(huán)節(jié)或階段上出了問(wèn)題抑诸,將這些問(wèn)題排定優(yōu)先級(jí),然后把我們要解決的問(wèn)題有針對(duì)性的設(shè)立專項(xiàng)爹殊,比如:業(yè)務(wù)規(guī)劃專項(xiàng)蜕乡,需求管理專項(xiàng),架構(gòu)質(zhì)量專項(xiàng)梗夸,自動(dòng)化測(cè)試專項(xiàng)层玲,交付工具鏈專項(xiàng)等等,專項(xiàng)問(wèn)題解決方案可先在一個(gè)或幾個(gè)業(yè)務(wù)線進(jìn)行試點(diǎn)反症,然后再組織內(nèi)全面實(shí)施推廣辛块。而人與文化的部分更多與人力資源領(lǐng)域工作相關(guān),這里只贅述一句話——HR與研發(fā)/業(yè)務(wù)的高度有機(jī)協(xié)作是這一版塊工作成功的關(guān)鍵铅碍,對(duì)組織里HRBP的能力更加是一種考驗(yàn)润绵。
? ? ? ? 軟件工程能力這個(gè)話題著實(shí)很大,這樣嘗試梳理之后才發(fā)現(xiàn)自己能力有限胞谈,無(wú)法駕馭尘盼,如果上面的文字能帶給大家一些思路,那將成為我的動(dòng)力烦绳,期待咱們后續(xù)更加深入的思考與探討卿捎!