中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

如何做好架構(gòu)之識(shí)別問(wèn)題

2018-07-20    來(lái)源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

按照之前架構(gòu)的定義,做好架構(gòu)首先需要做的就是識(shí)別出需要解決的問(wèn)題。一般來(lái)說(shuō),如果把真正的問(wèn)題找到,那么問(wèn)題就已經(jīng)解決80%了。這個(gè)能力基本上就決定了架構(gòu)師的水平。

  那么面對(duì)問(wèn)題有哪些困難呢?

  我們先看一則笑話。女主人公:老公,把袋子里的土豆切一半下鍋。結(jié)果老公是把袋子里的每個(gè)土豆都削了一半,然后下鍋。

  當(dāng)然很多人會(huì)說(shuō),這個(gè)是溝通問(wèn)題,然后一笑了之。其實(shí),出現(xiàn)這個(gè)現(xiàn)象是由于我們大部分時(shí)候過(guò)于關(guān)注解決問(wèn)題,急于完成自己的工作,而不關(guān)心“真正的問(wèn)題是什么”而造成的。當(dāng)我們?nèi)ソ鉀Q一個(gè)問(wèn)題的時(shí)候,一定要先把問(wèn)題搞清楚。這也是我為什么要單獨(dú)寫一篇文章講這個(gè)的原因。去看看軟件開發(fā)工作者的時(shí)間分配也可以看出,大家大部分時(shí)間花在討論解決方案和實(shí)現(xiàn)的細(xì)節(jié)上,基本都不會(huì)花時(shí)間去想“問(wèn)題是什么”。或者即使想了一點(diǎn)點(diǎn),也是一閃而過(guò),憑自己的直覺(jué)下判斷。只有真正投入思考問(wèn)題是什么的工程師,才可能會(huì)真正的成長(zhǎng)為架構(gòu)師

  以這個(gè)笑話為例,看看在我們處理問(wèn)題的時(shí)候,都會(huì)犯什么樣的錯(cuò)誤:

  1. 被告知要處理一個(gè)問(wèn)題,但是交過(guò)來(lái)的實(shí)際上是一個(gè)解決方案,不是問(wèn)題本身。
  2. 被告知要處理一個(gè)問(wèn)題,直接通過(guò)直覺(jué)就有了一個(gè)解決方案,馬上考慮解決方案如何落地,或者有幾種解決方案,選哪個(gè)合適。

  那么如何識(shí)別問(wèn)題呢?

  所有的概念基本都有一個(gè)很大的問(wèn)題,就是缺乏主語(yǔ)。而我們大家都心照不宣的忽略這個(gè)主語(yǔ),溝通的時(shí)候也都以為大家都懂得對(duì)方說(shuō)的主語(yǔ)是誰(shuí),結(jié)果大家都一起犯錯(cuò)誤。識(shí)別問(wèn)題的一個(gè)最大的前提就是要搞清楚:是誰(shuí)的問(wèn)題。這個(gè)搞清楚了,問(wèn)題的邊界也就跟著確定了,再去討論問(wèn)題才有意義。

  以上面切土豆的例子來(lái)分析:

  1. 女主人提出一個(gè)問(wèn)題,要切土豆下鍋煮。
  2. 男主人有一個(gè)問(wèn)題,女主人交代了自己必須要完成的一個(gè)任務(wù)。

  每個(gè)人都是優(yōu)先處理自己的問(wèn)題,自然就選擇了2,完成了這個(gè)任務(wù)。這也是大部分軟件工程師處理的方式,以自己認(rèn)為對(duì)的方式完成自己的問(wèn)題,沒(méi)什么不對(duì)啊,也難怪能得到我們的共鳴。這個(gè)里面犯的錯(cuò)誤是什么呢?

  1. 女主人公提出的實(shí)際上是解決方案,而不是燒土豆這個(gè)問(wèn)題本身。女主人當(dāng)時(shí)執(zhí)行這個(gè)解決方案可能有困難,就把執(zhí)行解決方案作為一個(gè)任務(wù),委托給了男主人。

  2. 男主人得到了一個(gè)任務(wù),盡心盡職地把這個(gè)任務(wù)完成了。

  最后的結(jié)果是什么呢,每個(gè)人都做了很多工作,每個(gè)人都認(rèn)為自己做的是對(duì)的,因此沒(méi)有一個(gè)人對(duì)結(jié)果滿意。因?yàn)檎嬲膯?wèn)題沒(méi)有被發(fā)現(xiàn),自然也就沒(méi)有被解決,那么后續(xù)還得收拾殘局,還要繼續(xù)解決問(wèn)題。事實(shí)上自己的工作并沒(méi)有完成,反而更多了。把原因歸結(jié)為溝通問(wèn)題也是可以的,但對(duì)于解決問(wèn)題似乎并沒(méi)有太多的幫助。因?yàn)橐倪M(jìn)溝通,這也是一個(gè)大問(wèn)題。搞明白目標(biāo)問(wèn)題“是誰(shuí)的問(wèn)題,是什么問(wèn)題”,當(dāng)然也是需要溝通的。為了幫助自己更快的搞明白,首先要做的事是問(wèn)正確的問(wèn)題。架構(gòu)師應(yīng)該問(wèn)的第一個(gè)正確的問(wèn)題就是:目標(biāo)問(wèn)題是誰(shuí)的問(wèn)題。

  當(dāng)我們處理問(wèn)題的時(shí)候,如果發(fā)現(xiàn)自己正在致力于把自己的工作完成,要馬上警惕起來(lái),因?yàn)檫@樣下去會(huì)演變成沒(méi)有ownership的工作態(tài)度。在面對(duì)概念的時(shí)候,也會(huì)不求甚解,最終會(huì)導(dǎo)致沒(méi)有真正的理解概念。

  作為軟件工程師或者架構(gòu)師,我們大部分時(shí)候是要去解決別人的問(wèn)題,“別人”是誰(shuí),是值得好好思考的。在這個(gè)故事里面,男主人要解決的,實(shí)際上是這個(gè)家庭晚餐需要吃土豆的問(wèn)題,目標(biāo)問(wèn)題的主體實(shí)際上是這個(gè)家庭的成員。

  明白了問(wèn)題的主體,這個(gè)主體就自然會(huì)帶來(lái)很多邊界約束,比如土豆是要吃的,要給人吃的,而且還是要給自己的家人吃的。“切土豆下鍋”這個(gè)問(wèn)題,因?yàn)樽R(shí)別了問(wèn)題的主體,自然而然的就附帶了這么多的信息。后續(xù)如何煮,是否放高壓鍋煮,放多少水,煮多長(zhǎng)時(shí)間等等,就自然而然能夠問(wèn)出來(lái)其他問(wèn)題來(lái)了,說(shuō)不定還能夠識(shí)別出來(lái),女主人給的這個(gè)解決方案可能是有問(wèn)題的。這個(gè)時(shí)候才算是真正的明白了問(wèn)題?梢韵胂,這樣下去最后的結(jié)果一定是大家都滿意的,因?yàn)檎嬲膯?wèn)題解決了。只有真正明白了是誰(shuí)的問(wèn)題,才能夠真正地完成自己的任務(wù),真正地把自己的問(wèn)題解決掉,而不是反過(guò)來(lái)。

  由上面的分析可以看出,找出問(wèn)題的主體,是做架構(gòu)的首要問(wèn)題。這也是我一再?gòu)?qiáng)調(diào)的,我們要解決的問(wèn)題,一定都是人的問(wèn)題。更進(jìn)一步,架構(gòu)師要解決的,基本都是別人的問(wèn)題,不是自己的問(wèn)題。再進(jìn)一步,我們一定要明白,任何找上架構(gòu)師的問(wèn)題,絕對(duì)都不是真正的問(wèn)題。為什么呢? 因?yàn)槿绻钦嬲膯?wèn)題的話,提問(wèn)題過(guò)來(lái)的人肯定都能夠自己解決了,不需要找架構(gòu)師。架構(gòu)師都要有這個(gè)自覺(jué):發(fā)現(xiàn)問(wèn)題永遠(yuǎn)都比解決問(wèn)題來(lái)的更加重要。

  當(dāng)問(wèn)題的主體離架構(gòu)師越遠(yuǎn),就會(huì)讓找出問(wèn)題主體的過(guò)程越加困難,我們?cè)倥e一個(gè)軟件行業(yè)比較熟悉的例子:用戶給產(chǎn)品經(jīng)理提出要求,想要一把錘子。這是典型的拿解決方案作為問(wèn)題的。真正的問(wèn)題的主體是誰(shuí),是用戶還是設(shè)計(jì)師還是施工隊(duì)? 如果產(chǎn)品經(jīng)理當(dāng)成是自己的問(wèn)題,那么毫無(wú)疑問(wèn)就給了錘子了。

  我們需要識(shí)別:用戶究竟是二傳手,還是問(wèn)題的真正主體。如果是設(shè)計(jì)師,那么問(wèn)題的邊界就變成了設(shè)計(jì)師的問(wèn)題;如果是施工隊(duì),那么問(wèn)題就變成了施工隊(duì)的問(wèn)題;如果是用戶,那么就要看看用戶到底有什么困難,絕對(duì)不是要一個(gè)錘子這么簡(jiǎn)單。這也說(shuō)明了,問(wèn)題的主體對(duì)問(wèn)題的邊界確定有多么的重要。

  當(dāng)明白了問(wèn)題的主體,我們才可能真正的認(rèn)識(shí)問(wèn)題是什么。因?yàn)閱?wèn)題的主體是問(wèn)題的隱含邊界,邊界不確定下來(lái),問(wèn)題就是不確定的。一旦確定了主體,剩下的就是去搞明白主體有哪些問(wèn)題。這個(gè)就比較直接了,常用的方式就是直接面對(duì)主體進(jìn)行訪談,深入到主體的工作生活當(dāng)中,體驗(yàn)并感受這些問(wèn)題,甚至通過(guò)數(shù)據(jù)的反饋來(lái)定位問(wèn)題。這個(gè)大家就比較熟悉了,我就不展開了。

  一般來(lái)說(shuō),從問(wèn)題暴露的點(diǎn),一點(diǎn)點(diǎn)去溯源查找,一定會(huì)找出來(lái)誰(shuí)的問(wèn)題,以及是什么問(wèn)題。最壞情況就是當(dāng)我們時(shí)間或者能力有限,實(shí)在是無(wú)法定位出是誰(shuí)的問(wèn)題的時(shí)候,比如系統(tǒng)出故障,也就意味著我們無(wú)法根本解決問(wèn)題。這時(shí)最好的辦法就是去降低問(wèn)題發(fā)生所帶來(lái)的成本,盡量去隔離問(wèn)題影響的范圍。給我留出時(shí)間和空間去識(shí)別真正的問(wèn)題。

  總結(jié)一下,要正確的認(rèn)識(shí)問(wèn)題,需要問(wèn)兩個(gè)問(wèn)題:

  1. 這是誰(shuí)的問(wèn)題?
  2. 有什么問(wèn)題?

  當(dāng)?shù)玫降幕卮鹗侵е嵛岬臅r(shí)候,我們就知道正確的方向在哪兒,以及需要做哪些事了。以我的經(jīng)驗(yàn),問(wèn)題1會(huì)花比較多的時(shí)間,也是支支吾吾最多的地方,因?yàn)榧軜?gòu)要解決的問(wèn)題都是人的問(wèn)題。但是一旦確定了答案,問(wèn)題2就會(huì)變得非常容易?梢赃@樣說(shuō),架構(gòu)師的能力大部分會(huì)體現(xiàn)在問(wèn)題1的識(shí)別上。

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:Android通用流行框架大全

下一篇:常用的svn和git命令