产品开发管理之流程和体系(总篇)
前言
秋風(fēng)瑟瑟,夏日的灼熱猶在,就瞬間迎來(lái)刺骨寒風(fēng)。凜冬將至,今天對(duì)我們來(lái)說(shuō),像貼面的利刃一樣冰冷而真實(shí)。農(nóng)民、建筑工人、司機(jī)、程序員、私企高管、私企老板、資本巨富,都被裹挾進(jìn)了這個(gè)焦灼的時(shí)代,沒(méi)有人能獨(dú)善其身。
焦灼無(wú)法解決任何問(wèn)題,這一次的風(fēng)雪也并不會(huì)比以往的更為凜冽,唯有勇于踏雪前行者,才能迎來(lái)春天。這對(duì)于踏實(shí)肯干的互聯(lián)網(wǎng)研發(fā)企業(yè)來(lái)說(shuō),未必不是一件幸事——只要度過(guò)寒冬,來(lái)年我們會(huì)走得更遠(yuǎn)!
三架火箭
先有雞還是先有蛋?
我們不去探討這個(gè)問(wèn)題,但是如果你家母雞都沒(méi)喂大,就想買蛋賺錢,這是一個(gè)問(wèn)題。
產(chǎn)品研發(fā)就如養(yǎng)雞,雞大才有蛋,雞好才是真的好,雞長(zhǎng)得快風(fēng)險(xiǎn)和成本才會(huì)更小,因此產(chǎn)品開發(fā)和管理才是重中之重。
如何解決產(chǎn)品研發(fā)中的“控風(fēng)險(xiǎn)、縮周期、降成本”的痛點(diǎn)?每個(gè)人都會(huì)有每個(gè)人的反思和總結(jié),而我們有了本篇的反思和總結(jié)。
根據(jù)我們多年的開發(fā)和管理經(jīng)驗(yàn),在降低生產(chǎn)成本、提高生產(chǎn)效率和保障生產(chǎn)質(zhì)量的角度上,我們提出了“三架火箭”的概念。
???
?
框架和組件
?
工具
?
流程和體系
值得注意的是,三大寶劍,哦三架火箭只是我們的心血總結(jié),希望能給大家一些幫助以及和大家共同探討,但是在一個(gè)產(chǎn)品團(tuán)隊(duì)中,管理者不能忽視的一點(diǎn)是——以人為本。
框架和組件
對(duì)于一個(gè)軟件公司或者互聯(lián)網(wǎng)公司來(lái)說(shuō),開發(fā)成本是一個(gè)公司不得不說(shuō)的痛,因?yàn)槠湓谇捌趲缀跏侨康某杀?#xff0c;而一旦功敗垂成,則片甲不留——打水漂可能還能聽(tīng)?zhēng)讉€(gè)響。而約定一個(gè)統(tǒng)一的框架和技術(shù)體系,對(duì)于一個(gè)開發(fā)團(tuán)隊(duì)來(lái)說(shuō),這就是一個(gè)團(tuán)隊(duì)的積累和財(cái)富!這就是讓你的團(tuán)隊(duì)繼續(xù)鏖戰(zhàn)的基礎(chǔ)!
擁有一套統(tǒng)一的優(yōu)秀的企業(yè)級(jí)開發(fā)框架意味著有如下好處
擁有一套好的框架
·?意味著統(tǒng)一了主體的技術(shù)體系,可以最大限度的減少后續(xù)的開發(fā)、維護(hù)、擴(kuò)展成本。
·?意味著擁有了一套成熟的解決方案。
·?意味著保障了代碼的穩(wěn)定性、延續(xù)性和可持續(xù)開發(fā),而不是代碼全家桶。
多初創(chuàng)團(tuán)隊(duì)的產(chǎn)品的初始代碼來(lái)自于五湖四海(各自成員的前公司的代碼段或技術(shù)積累),當(dāng)開發(fā)到一定程度,隨著人員的交替,維護(hù)和擴(kuò)展幾乎不在可能。一份好的代碼是一個(gè)產(chǎn)品的根本,否則后續(xù)的產(chǎn)品開發(fā)都將無(wú)從下手。?這里分享一下世上最爛代碼的結(jié)果:史上最爛代碼。
·?極大的提高了產(chǎn)品的生產(chǎn)效率。
·?建立有效的開發(fā)、知識(shí)、體系積累。軟件開發(fā)是一種知識(shí)活動(dòng),因此知識(shí)的聚集和積累是至關(guān)重要的。框架能夠采用一種結(jié)構(gòu)化的方式對(duì)某個(gè)特定的業(yè)務(wù)領(lǐng)域進(jìn)行描述,也就是將這個(gè)領(lǐng)域相關(guān)的技術(shù)以代碼、文檔、模型等方式固化下來(lái)。
·?減少重復(fù)開發(fā)。簡(jiǎn)單的說(shuō),大大提高了代碼的復(fù)用性。畢竟每次打仗都要臨陣磨槍,耽誤時(shí)間不說(shuō),質(zhì)量和速度都沒(méi)法保障。
·?有利于提高團(tuán)隊(duì)水平。框架往往有相應(yīng)的規(guī)范、約定、設(shè)計(jì)模式、理念、技術(shù)點(diǎn),通過(guò)框架的源代碼既可以輸出開發(fā)和技術(shù)理念,提高團(tuán)隊(duì)成員的水平,又可以規(guī)范代碼,而且可以降低程序員之間溝通以及日后維護(hù)的成本。
·?提高軟件質(zhì)量。
·?提高企業(yè)的競(jìng)爭(zhēng)能力,包括降低成本、提高質(zhì)量、改善客戶滿意程度、控制進(jìn)度等方面。
·?有利于團(tuán)隊(duì)多人協(xié)作和分工合作。架構(gòu)師專注于設(shè)計(jì)框架、組件、領(lǐng)域模型等;軟件開發(fā)人員專注于業(yè)務(wù)邏輯,以及業(yè)務(wù)的更深程度的分析和挖掘;前端人員更專注前端交互(前后端分離)體驗(yàn)。
當(dāng)然,任何事物都需要多方面權(quán)衡,我們也要看到一些問(wèn)題。比如前期需要付出培養(yǎng)成本,框架的理念以及先進(jìn)性會(huì)限制團(tuán)隊(duì)的理念和先進(jìn)性等等,但是對(duì)于企業(yè)和創(chuàng)業(yè)團(tuán)隊(duì)來(lái)說(shuō),持續(xù)的成本控制是第一位的。
這里奉送中小團(tuán)隊(duì)一句箴言——你可以沒(méi)有自己的框架,但是一定要有統(tǒng)一的技術(shù)體系。
最后,附上我們團(tuán)隊(duì)的框架和組件庫(kù)地址,均已開源。擁抱開源一直是我們團(tuán)隊(duì)的核心理念之一。
團(tuán)隊(duì)框架地址:
https://gitee.com/xl_wenqiang/Magicodes.Admin.Core
團(tuán)隊(duì)組件庫(kù)地址:https://github.com/xin-lai/
后續(xù)文章我們會(huì)繼續(xù)分享我們?cè)诳蚣芎徒M件這塊的理念和經(jīng)驗(yàn)。
工欲善其事必先利其器
框架只是意味著不要從零開始編碼,而配套的工具則能更好的提高團(tuán)隊(duì)溝通和協(xié)作能力、提高編碼速度以及減少低級(jí)代碼的編寫。工具分為辦公軟件、開發(fā)工具、管理軟件和開發(fā)輔助工具。
我們可以初步確定以下兩個(gè)原則:
1
統(tǒng)一的環(huán)境、工具和軟件
2
善用工具
在這塊,我們也有挺多心得,后面再詳聊。
流程和體系
流程體系旨在于提高工作效率,明確流程接口和步驟,確定相關(guān)崗位或者相關(guān)事務(wù)的要求、原則、規(guī)則。
流程
工作流程是工作效率的源泉,流程決定效率,流程影響效益。好的產(chǎn)品流程能夠使團(tuán)隊(duì)各項(xiàng)工作良性開展,從而保證團(tuán)隊(duì)的高效運(yùn)轉(zhuǎn),相反地,差的流程則會(huì)問(wèn)題頻出,出現(xiàn)角色間、人員間職責(zé)不清相互推諉等現(xiàn)象,從而造成資源的浪費(fèi)和效率的低下。因此,設(shè)計(jì)、建立科學(xué)、嚴(yán)謹(jǐn)?shù)漠a(chǎn)品流程并保持這些流程得到有效執(zhí)行、控制和管理,對(duì)一個(gè)企業(yè)、一個(gè)部門或團(tuán)隊(duì)至關(guān)重要。
產(chǎn)品流程需要標(biāo)準(zhǔn)化!?一個(gè)產(chǎn)品團(tuán)隊(duì)都有不同的工作、不同的崗位,并且需要相應(yīng)的人員來(lái)完成。然而,不同的產(chǎn)品流程就會(huì)有不同的效率,進(jìn)而言之,就會(huì)對(duì)整個(gè)產(chǎn)品產(chǎn)生不同的影響。因此,我們需要將產(chǎn)品流程標(biāo)準(zhǔn)化,就是要分析某一工作的性質(zhì)和類型,在其基礎(chǔ)上對(duì)相應(yīng)的工作設(shè)立對(duì)應(yīng)的崗位或角色,并且安排具體的工作者來(lái)承擔(dān)。即“一個(gè)蘿卜一個(gè)坑”,無(wú)論何時(shí)在某個(gè)節(jié)點(diǎn)或步驟上出現(xiàn)了工作的失誤都能迅速且準(zhǔn)確地找到責(zé)任人,這樣可以有效地防止相關(guān)工作的不同崗位間、角色間的互相扯皮、踢皮球的現(xiàn)象。
注意:上面雖然提及“一個(gè)蘿卜一個(gè)坑”,但是并不代表一個(gè)人不能多個(gè)坑。一個(gè)坑代表的是職責(zé)的明確,而不是一個(gè)崗位。另外,筆者也非常推崇產(chǎn)品開發(fā)團(tuán)隊(duì)成員盡可能是全棧工程師。
產(chǎn)品流程方面,一般推薦完成以下流程:
產(chǎn)品開發(fā)流程
產(chǎn)品反饋流程
產(chǎn)品上線流程
體系
對(duì)于一個(gè)軟件公司來(lái)說(shuō),產(chǎn)品管理開發(fā)體系極為重要。這也是一個(gè)公司的軟實(shí)力的體現(xiàn)。
技術(shù)體系
這里借用秦統(tǒng)一文字和貨幣的部分意義,來(lái)說(shuō)明統(tǒng)一技術(shù)體系的意義:
·?有利于團(tuán)隊(duì)的溝通,維護(hù)團(tuán)隊(duì)的統(tǒng)一和促進(jìn)團(tuán)隊(duì)文化的發(fā)展。
·?鞏固了團(tuán)隊(duì)技術(shù)管理的統(tǒng)治,維護(hù)了產(chǎn)品技術(shù)體系的統(tǒng)一。
·?降低開發(fā)人員離職風(fēng)險(xiǎn)。這里特別說(shuō)明一下,編程不比其他職業(yè),不同的編程語(yǔ)言、框架體系、設(shè)計(jì)風(fēng)格、編碼風(fēng)格決定著不同的上手門檻和成本。門檻達(dá)不到,那就是不行。上手成本高,那就必須付出相應(yīng)的代價(jià)。既無(wú)法取巧,亦無(wú)法越過(guò)。
老秦可以走了,我們繼續(xù)。重要的話說(shuō)三遍,你可以沒(méi)有自己的框架,但是一定要有統(tǒng)一的技術(shù)體系。
除了技術(shù)體系之外,我們還應(yīng)該完善設(shè)計(jì)體系、測(cè)試體系、運(yùn)維體系和運(yùn)營(yíng)體系。
規(guī)范
古人云,“先學(xué)規(guī)矩后學(xué)藝”,在產(chǎn)品開發(fā)領(lǐng)域亦是如此。從設(shè)計(jì)到開發(fā),測(cè)試甚至運(yùn)維運(yùn)營(yíng),都應(yīng)該有對(duì)應(yīng)的規(guī)范。畢竟,有章可循,有據(jù)可依,有正確的產(chǎn)品流程規(guī)范,我們的工作才不至于產(chǎn)生混亂,團(tuán)隊(duì)的工作才能更有成效。
正確的規(guī)范有哪些好處呢?筆者認(rèn)為主要有以下幾點(diǎn):
·?提高團(tuán)隊(duì)的工作/開發(fā)效率,便于團(tuán)隊(duì)更協(xié)調(diào)、有效運(yùn)作;
·?端正成員工作態(tài)度,體現(xiàn)團(tuán)隊(duì)精神;
·?對(duì)人員進(jìn)行有效管理;
·?有效降低溝通、管理成本;
·?提高成員修養(yǎng)和能力;
·?積累團(tuán)隊(duì)經(jīng)驗(yàn),促使團(tuán)隊(duì)健康發(fā)展;
因此規(guī)范的建立不能隨手照搬照抄,需要根據(jù)企業(yè)以及團(tuán)隊(duì)現(xiàn)狀,不斷地思索、總結(jié)、積累,然后建立適合自己的行之有效的規(guī)范。同時(shí)還要注意兩點(diǎn):
·?規(guī)范重在執(zhí)行,如果只是自欺欺人,那么規(guī)范將無(wú)絲毫意義。
·?規(guī)范從來(lái)不是一成不變的,企業(yè)或團(tuán)隊(duì)在發(fā)展的過(guò)程中,一定要不斷更新和完善自己的規(guī)范。
關(guān)于規(guī)范這塊,我們可以根據(jù)產(chǎn)品開發(fā)運(yùn)營(yíng)的生命周期進(jìn)行細(xì)化,落實(shí)到點(diǎn)子上,比如團(tuán)隊(duì)規(guī)范、API設(shè)計(jì)規(guī)范、前端規(guī)范、源代碼管理要求和規(guī)范等等。這些在后續(xù)的文章中,我們?cè)賮?lái)共同完善。
理念
先進(jìn)的理念是團(tuán)隊(duì)產(chǎn)品開發(fā)管理的指導(dǎo)思想,是團(tuán)隊(duì)成功的關(guān)鍵,亦能促使團(tuán)隊(duì)成長(zhǎng)和奮進(jìn)。在產(chǎn)品開發(fā)管理之中,筆者接下來(lái)或逐步和大家分享以下理念:
·?精益創(chuàng)業(yè)
·?同理心
·?自我刷新
·?全棧工程師
·?開源
·?敏捷開發(fā)
·?渠道集成
·?單一職責(zé)
·?IaaS、PaaS、SaaS
·?DDD(領(lǐng)域驅(qū)動(dòng)(Domain-Driven Design))
·?TDD(測(cè)試驅(qū)動(dòng)開發(fā)(Test Driven Development))
·?CI(持續(xù)集成(Continuous Integration))
·?CD(持續(xù)交付(Continuous Delivery))
·?微服務(wù)(Microservices Architecture)
·?RESTful(Representational State Transfer)
·?前端工程化
·?All in code(作者提出)
這里先優(yōu)先側(cè)重簡(jiǎn)單地說(shuō)下敏捷開發(fā),因?yàn)樵谡麄€(gè)產(chǎn)品的生命周期之中,開發(fā)一直是基礎(chǔ)中的基礎(chǔ),而開發(fā)模式和管理模式對(duì)互聯(lián)網(wǎng)產(chǎn)品影響深遠(yuǎn)。
敏捷開發(fā)(Agile Development)是一種以人為核心、迭代、循序漸進(jìn)的開發(fā)方法。目標(biāo)是提高開發(fā)效率和響應(yīng)能力。
敏捷從來(lái)不是一件容易的事情,俗話說(shuō),“天下武功,唯快不破”,但是這快并不好實(shí)現(xiàn)。敏捷開發(fā)在很多情況下是一種愿景,在國(guó)內(nèi)落地比較難,但是因難而不往,就會(huì)一直錯(cuò)失快速開發(fā)和快速迭代的能力,產(chǎn)品競(jìng)爭(zhēng)力也會(huì)不夠(產(chǎn)品競(jìng)爭(zhēng)力應(yīng)該包含產(chǎn)品迭代速度),而且還會(huì)因?yàn)椴荒苓m應(yīng)快魚法則而被淘汰。
敏捷開發(fā)的實(shí)施不能一蹴而就,比較講究天時(shí)地利人和。對(duì)于一個(gè)初創(chuàng)團(tuán)隊(duì),如果理念以及技術(shù)水平相近,團(tuán)隊(duì)溝通協(xié)調(diào)能力不錯(cuò),這時(shí)候?qū)嵭忻艚蓍_發(fā)就會(huì)事半功倍。但是敏捷開發(fā)是不能生搬硬套的,否則就會(huì)水土不服,每一個(gè)團(tuán)隊(duì)?wèi)?yīng)該視自身情況打造自身的敏捷流程,而不是硬生生的套用Scrum流程。當(dāng)然最重要的是,要將團(tuán)隊(duì)的溝通能力、協(xié)作能力、包括技術(shù)水平提升起來(lái),這才是實(shí)行敏捷的前提。
會(huì)議體系
會(huì)議一直會(huì)貫穿產(chǎn)品開發(fā)管理的整個(gè)過(guò)程,筆者倡導(dǎo)以下會(huì)議:
·?站立會(huì)議
·?規(guī)劃會(huì)議
·?反思會(huì)議
·?評(píng)審會(huì)議
接下來(lái),筆者將會(huì)和大家一起分享這些會(huì)議的細(xì)節(jié),比如目的、要求、內(nèi)容。
本篇僅是拋磚引玉,我們接下來(lái)會(huì)將我們這些年的經(jīng)驗(yàn)、總結(jié)和反思一點(diǎn)一滴的分享出來(lái),期待和大家共同進(jìn)步,多多交流!
作者
李文強(qiáng)
出處
http://www.cnblogs.com/codelove/
溝通渠道
編程交流群<85318032>?
產(chǎn)品交流群<897857351>?
原文地址:?https://www.cnblogs.com/codelove/p/9758795.html
.NET社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的产品开发管理之流程和体系(总篇)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: .Net Core 2.1 通用主机(C
- 下一篇: 确认过眼神,你是ApacheWay的人