成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

企業(yè)定制軟件開發(fā)的兩個(gè)核心問題

開發(fā) 項(xiàng)目管理
企業(yè)定制軟件開發(fā)的核心問題有兩個(gè):如何保證所有參與者(包括客戶在內(nèi)的開發(fā)團(tuán)隊(duì),以及最終用戶)的溝通強(qiáng)度以及如何管理企業(yè)定制帶來的軟件自身內(nèi)在的高復(fù)雜度。

企業(yè)定制軟件開發(fā)不是計(jì)算機(jī)科學(xué),需要解決的不是編譯原理也不是組合數(shù)學(xué)。那么,企業(yè)定制軟件開發(fā)的核心問題是什么?

越來越感覺到,從事一個(gè)領(lǐng)域不需要有特別深刻的理解,但起碼要知道做這個(gè)領(lǐng)域的事情,需要解決的核心問題是什么。比如說,開發(fā)C/S結(jié)構(gòu)軟件,狀態(tài)同步(C/S狀態(tài)同步以及窗口之間的狀態(tài)同步)就是核心問題之一,而開發(fā)B/S結(jié)構(gòu)的軟件,狀態(tài)同步就不是那么核心的問題。如果事先知道需要有這些核心問題需要考慮,在日常應(yīng)對(duì)接踵而來的具體的事務(wù)的時(shí)候,就能夠把解決問題的層次抬到更宏觀的層面。

目前而言,個(gè)人感覺企業(yè)定制軟件開發(fā)的核心問題有兩個(gè):

1、如何保證所有參與者(包括客戶在內(nèi)的開發(fā)團(tuán)隊(duì),以及最終用戶)的溝通強(qiáng)度,使其能夠滿足完成開發(fā)目標(biāo)的需要

2、如何管理企業(yè)定制帶來的軟件自身內(nèi)在的高復(fù)雜度,使得復(fù)雜度不會(huì)超過團(tuán)隊(duì)的維護(hù)能力范圍

在前面一篇介紹組織的Blog中,談到了核心問題中的***個(gè),溝通強(qiáng)度問題。團(tuán)隊(duì)而言,刨去個(gè)人能力,最重要的就是人與人之間的溝通。沒有好的溝通,即便團(tuán)隊(duì)的個(gè)體能力都超級(jí)強(qiáng),也無法形成合力。但只要有好的溝通,至少可以做到人盡其用。假設(shè)一個(gè)標(biāo)準(zhǔn)人的生產(chǎn)力是1/day。某些特別強(qiáng)的人可以達(dá)到3/day。但是如果需要達(dá)到10/day的生產(chǎn)力才能在市場(chǎng)允許的時(shí)間下完成項(xiàng)目,那么就無法用一個(gè)人來完成之間事情,所以才會(huì)有團(tuán)隊(duì)存在的必要。但是有兩個(gè)標(biāo)準(zhǔn)人,并不會(huì)達(dá)到1+1=2/day的生產(chǎn)力。可能只有1.5。有三個(gè)標(biāo)準(zhǔn)人,更加不會(huì)達(dá)到1+1+1=3/day的生產(chǎn)力,很有可能有1.8。那么是什么制約了團(tuán)隊(duì)的整體生產(chǎn)力,那就是溝通。當(dāng)兩個(gè)相關(guān)聯(lián)的任務(wù)A和B是一個(gè)人做的時(shí)候,關(guān)于任務(wù)A的知識(shí)存在于左腦,關(guān)于任務(wù)B的知識(shí)存在于右腦。那么結(jié)合兩個(gè)任務(wù)的知識(shí)把其組裝起來的溝通效率就是大腦內(nèi)部的電信號(hào)的速度。但是如何任務(wù)A是由Dev甲完成的,任務(wù)B是由Dev乙完成的,那么整合兩個(gè)任務(wù)的效率就受到人嘴皮的震動(dòng)頻率的約束,受到表達(dá)能力的約束,受到理解能力的約束。有人研究過,兩個(gè)人即便是面對(duì)面,傳輸?shù)谋忍芈室惨陀谧钤绲膿芴?hào)式Modem。更不用說,有的時(shí)候開發(fā)團(tuán)隊(duì)是分布式的。在無法看到表情,肢體語(yǔ)言,無法共享白板,只能在越洋電話里聽到聲音,而且其中還有一方是非工作時(shí)間,在這種情況下,1+1幾乎很難達(dá)到1/day的生產(chǎn)力。什么是高效的團(tuán)隊(duì),就是能夠讓1+1的值盡可能大的團(tuán)隊(duì)。如何變得高效,讓溝通變得更加高效。怎么樣讓溝通變得高效高強(qiáng)度?這就是我們要處理的核心問題。

***個(gè)問題可以應(yīng)用于所有的人的團(tuán)隊(duì)行為之中。人只要聚集成群,就會(huì)有溝通問題。所謂,有人的地方就有江湖。第二個(gè)問題則特定于企業(yè)定制軟件開發(fā)。對(duì)于互聯(lián)應(yīng)用開發(fā),也許復(fù)雜度的管理是其次的,最需要關(guān)注的是大用戶量下的可擴(kuò)展性。但是對(duì)于企業(yè)定制軟件開發(fā),由于業(yè)務(wù)自身的復(fù)雜度,導(dǎo)致了定制軟件的復(fù)雜度。特別是業(yè)務(wù)的組合,導(dǎo)致的組合復(fù)雜性。假設(shè)在理想情況下,一個(gè)系統(tǒng)可以分解為模塊A,B,C,其復(fù)雜度都是2。在復(fù)雜度管理良好的情況下 ,這些模塊是被明確劃分的,要理解A,只需要關(guān)注A,以及B與C少量與A交互的部分,也許理解的復(fù)雜度只是2 + 0.5.。但是在復(fù)雜度沒有管理的情況下,所有的“邏輯”(也就是復(fù)雜度)都是隨意地放置的。那么也就是沒法辦法保證,讀A的邏輯只需要關(guān)注A,甚至這個(gè)A都是不存在的,你看到的知識(shí)一個(gè)系統(tǒng),包含了A,B,C的功能,是完整的一塊。這個(gè)時(shí)候要真正了解這個(gè)系統(tǒng)行為,可能就需要2 * 2 * 2 = 8這么高的代價(jià)了。隨著模塊(變量,方法,類,包,模塊,Bundle)的增加,我們需要同時(shí)理解的東西也在不斷增加。不去可以地管理復(fù)雜度,很有可能,我們需要了解一塊功能,就需要把所有的代碼都去閱讀一遍。或者說,改動(dòng)了一個(gè)方法,使得整個(gè)項(xiàng)目都需要重新被測(cè)試,因?yàn)闆]有地方是可以被信任的。如何管理復(fù)雜度?這就是我們要處理的核心問題。

有意思的事情是,這兩個(gè)核心問題是重疊的。把人,角色等同于類,接口,都抽象地看成點(diǎn)。把溝通理解為人與人之間的聯(lián)系問題。把復(fù)雜度也理解為類與類的依賴問題。那么溝通問題和復(fù)雜度的管理問題都是如何把這些點(diǎn)聯(lián)上線,組成一個(gè)高效的圖的問題。這個(gè)圖,就是一張關(guān)于“依賴”的圖。人與人之間的依賴,類與類之間的依賴,包與包之間的依賴。依賴的另外的一個(gè)名字就是Coupling。而我們追求的就是Cohesion。Coupling(耦合)/ Cohesion(內(nèi)聚)這兩個(gè)詞的妙處在于,明白的人根據(jù)自己的經(jīng)驗(yàn),一看就點(diǎn)頭。不明白的人,由于沒有對(duì)應(yīng)的經(jīng)驗(yàn),無論怎么解釋,都是摸不著頭腦。正是因?yàn)槠洹懊畈豢裳浴毙裕晕铱梢哉f這兩個(gè)詞就是所有問題的答案(你也無法反駁)。但至少我們可以知道企業(yè)定制軟件開發(fā)的核心問題其實(shí)就是一個(gè):就是管理好人與人之間的Dependency,包與包之間的Dependency,使得信息可以在高度依賴的人與人之間快速傳遞(強(qiáng)調(diào)Coupling帶來的消息傳遞的效率),而理解又可以局限在高度內(nèi)聚的模塊內(nèi)部(強(qiáng)調(diào)Cohesion帶來的維護(hù)便利),但同時(shí)又不能讓某人過度被依賴倒置工作過勞死了,被依賴得越多要求其體能越好,對(duì)于包的內(nèi)聚也一樣,高內(nèi)聚做到***就是最小的編譯單元(類?),又會(huì)導(dǎo)致包的粒度過小,使得包的數(shù)量變得巨大,失去了維護(hù)的便利性。我們需要做的,就是在To Depend or Not To Depend中,根據(jù)場(chǎng)景作出取舍。

那么抽象而言,無論是解決溝通問題還是復(fù)雜度問題都可以歸納為:

1、設(shè)置目標(biāo)指標(biāo)

2、度量現(xiàn)有的指標(biāo),觀測(cè)現(xiàn)有的依賴圖

3、做出依賴圖的調(diào)整計(jì)劃,并執(zhí)行

4、觀察指標(biāo)的變化

5、重復(fù)步驟3,4,直到目標(biāo)達(dá)到

但是問題是:

1、如何度量指標(biāo)?溝通的效率?代碼的質(zhì)量?都很能度量。

2、如何觀測(cè)現(xiàn)有的依賴圖?包的依賴還可以觀測(cè),但是團(tuán)隊(duì)的協(xié)作是比較難觀測(cè)的。

3、如何對(duì)依賴圖做調(diào)整?重構(gòu)?Change Agent?人不比代碼那么容易改變。

4、如果指標(biāo)不是簡(jiǎn)單數(shù)字,怎么比較?怎么知道指標(biāo)是朝著目標(biāo)發(fā)生變化?

這四個(gè)問題,幾乎沒有硬的科學(xué)問題。管理復(fù)雜系統(tǒng)的復(fù)雜度,可能是一門硬的科學(xué)。但是夾雜了人的因素的企業(yè)定制軟件開發(fā),一定不是一門硬的科學(xué)。那么,數(shù)學(xué)公式不是這些問題的答案。那么該朝哪個(gè)方向努力?

 

【編輯推薦】

  1. 軟件開發(fā)文化與生產(chǎn)力相關(guān)的思想
  2. 軟件開發(fā)的真正問題:管理太復(fù)雜
  3. 獨(dú)立軟件開發(fā)者,你準(zhǔn)備好了嗎?
  4. 微軟高管揭示軟件開發(fā)六大重要趨勢(shì)
  5. 從三個(gè)方面分析軟件開發(fā)過程中的幾個(gè)誤區(qū)
責(zé)任編輯:佚名 來源: JavaEye
相關(guān)推薦

2021-09-16 15:06:33

漏洞管理漏洞網(wǎng)絡(luò)攻擊

2022-05-20 08:47:42

企業(yè)云安全云環(huán)境

2016-01-15 14:48:56

2022-07-02 08:40:00

并發(fā)編程

2016-06-30 14:01:00

2015-09-15 14:44:37

大數(shù)據(jù)核心問題

2023-03-14 12:13:11

數(shù)據(jù)中心系統(tǒng)

2021-07-02 15:24:07

軟件開發(fā)軟件開發(fā)

2011-02-15 09:05:35

重寫程序

2015-08-21 14:58:33

浪潮

2016-04-25 11:37:10

開發(fā)團(tuán)隊(duì)問題

2011-12-01 15:39:33

企業(yè)級(jí)移動(dòng)應(yīng)用

2009-01-13 09:33:00

2015-09-28 16:56:01

2015-05-15 09:37:24

iOS開發(fā)爭(zhēng)議

2022-06-08 09:42:49

eBPF應(yīng)用場(chǎng)景Kubernetes

2015-09-24 16:09:45

軟件開發(fā)項(xiàng)目原因

2020-03-02 11:47:27

區(qū)塊鏈存儲(chǔ)應(yīng)用程序

2015-10-08 10:09:16

2009-12-18 09:18:40

軟件開發(fā)敏捷開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美天堂在线观看 | 欧日韩在线观看 | 精品一区二区久久久久久久网精 | 日韩成人 | 精品国产成人 | 国产黄色小视频在线观看 | 国产精品网址 | 免费久久网站 | 国产 欧美 日韩 一区 | 日韩美女一区二区三区在线观看 | 欧美一区二区三区在线视频 | 国产色在线 | 亚洲视频三区 | 成人免费一级视频 | 中文字幕一区二区三区四区五区 | av网址在线 | 日本在线你懂的 | 亚洲欧美日韩精品久久亚洲区 | 久久久久亚洲 | 亚洲精品无 | 国产精品爱久久久久久久 | 99这里只有精品视频 | 久久久久久免费毛片精品 | 在线国产一区二区 | 国产日韩欧美91 | 国产高清视频一区 | 在线中文字幕视频 | 中文字幕在线视频一区二区三区 | www.色五月.com| 亚洲一区二区三区免费在线观看 | 亚洲狠狠爱 | 午夜免费视频 | www.日本在线播放 | 久久午夜视频 | aaa一区| 密色视频 | 亚洲成人午夜电影 | 午夜免费电影院 | 一区二区三区四区在线视频 | 午夜影院在线观看 | 干干天天 |