摘要:XXX 作為一名架構(gòu)師從程序員轉(zhuǎn)到分析設(shè)計(jì)員再就爬到了架構(gòu)師群體。當(dāng)然架構(gòu)師也分很多種比如應(yīng)用級(jí)架構(gòu)師,信息架構(gòu)師等,從應(yīng)用級(jí)架構(gòu)師又可進(jìn)一步發(fā)展到企業(yè)級(jí)架構(gòu)師和平臺(tái)架構(gòu)師。當(dāng)然你可能對(duì)這些不以為然,但這卻是一個(gè)架構(gòu)師的發(fā)展之路。本筆記是在XX培訓(xùn)時(shí)的體會(huì),說實(shí)話本人在這領(lǐng)域也是菜的要死,不過我的研究方向是這個(gè),以后繼續(xù)努力,請(qǐng)大牛們多多指導(dǎo)。
正文:
有人說不要提前進(jìn)入架構(gòu)領(lǐng)域,過高的理論層次只能使你懸在半空,結(jié)果大家都知道....。不過理論先學(xué)并不裨益。就像我們學(xué) TDD,DDD,AP 一樣,雖然用到的機(jī)會(huì)不多,但他的思想會(huì)影響我們以后的軟件之路。
對(duì)于應(yīng)用級(jí)架構(gòu)師來說除了對(duì)一些模塊分割,框架選擇,關(guān)鍵技術(shù)設(shè)計(jì)等的決策,在有比較難處理的就這需求,如果你是從程序員上來的,想必已經(jīng)工作了很多年,習(xí)慣了研發(fā)室里一坐幾天的感覺,很不適應(yīng)和那些摳門的領(lǐng)導(dǎo)狡猾的客戶們攀談,做什么都繞圈子,很費(fèi)精力,稍不留神就被套一番。所以說一般在需求調(diào)研時(shí)都會(huì)有架構(gòu)師,領(lǐng)域?qū)<液晚?xiàng)目經(jīng)理參加,可能這也是一個(gè)比較好的組合。
需求開發(fā)的主要困難與對(duì)策
1.知識(shí)技能問題
– 應(yīng)用域的知識(shí)是無邊無際的,任何人都不可能是“萬事通”。俗話說“隔行如隔山”,需求分析員可能是某一領(lǐng)域的專家,但
當(dāng)他接手陌生的業(yè)務(wù)時(shí),他可能是個(gè)“無知”者。一個(gè)企業(yè)要謀求發(fā)展,不能總在做老的業(yè)務(wù)。人一生中會(huì)有許多充
滿挫折的“第一次”,不可以逃避。
– 最好請(qǐng)既懂軟件又懂應(yīng)用域知識(shí)的行家來幫忙。
– 當(dāng)需求分析員缺乏應(yīng)用域知識(shí)時(shí),他該怎么辦?
• 快速獲取領(lǐng)域知識(shí),借助于互聯(lián)網(wǎng);
• 與領(lǐng)域?qū)<医涣鳙@取領(lǐng)域知識(shí);
• 與跨互訪不斷交流獲取。
2.用戶說不清楚需求
– 用戶說不清楚需求是普遍現(xiàn)象,這是讓開發(fā)人員頭痛的大問題。
– 有些用戶真的不知道需求是什么,或者對(duì)需求只有朦朧的感覺,他當(dāng)然說不清楚需求。
• 例如開發(fā)方的營(yíng)銷人員水平比較高,他能夠在用戶不清楚自己要什么的情況下引導(dǎo)用戶“消費(fèi)”。
• 例如前些年全國(guó)各地的很多政府機(jī)構(gòu)大搞網(wǎng)絡(luò)建設(shè)。這些機(jī)構(gòu)的領(lǐng)導(dǎo)和辦公人員大多數(shù)
不清楚網(wǎng)絡(luò)干什么用,就讓開發(fā)人員替他們?cè)O(shè)想需求吧,反正是花公家的錢。
– 有些用戶雖然心里明白想要什么,但卻說不清楚需求。
• 比如說買鞋子。我們非常了解自已的腳,但很難用語言說清楚腳的大小和形狀。通常拿
鞋子去試,試穿時(shí)感覺到舒服才會(huì)買鞋。
– 需求分析員絕不能以用戶說不清楚需求為借口而草率地對(duì)待需求開發(fā)工作,否則會(huì)連累整個(gè)開發(fā)團(tuán)隊(duì)的。
– 無論是什么原因?qū)е掠脩粽f不清楚需求,需求分析員必須設(shè)法搞清楚用戶真正的需求,這是需求分析員的職責(zé),也是職業(yè)的挑
戰(zhàn)。
3.雙方誤解需求
– 人們?cè)诮涣鞯臅r(shí)候,經(jīng)常會(huì)發(fā)生“問非所求,答非所問”的事情。
– 有時(shí)用戶會(huì)把開發(fā)人員的建議或答復(fù)給想歪了:
• 有一個(gè)軟件開發(fā)人員滔滔不絕地向用戶講解在“信息高速公路上做廣告”的種種好處,用
戶聽得津津有味。最后,心動(dòng)的用戶對(duì)軟件開發(fā)人員說:“好得很,就讓我們馬上行動(dòng)起
來吧。請(qǐng)您決定廣告牌的尺寸和放在哪條高速公路上,我立即派人去做。”
– 而用戶表達(dá)的需求,不同的開發(fā)人員可能有不同的理解。如果需求分析員誤解了需求,那會(huì)導(dǎo)致后續(xù)的不少開發(fā)人員將錯(cuò)就
錯(cuò)、白干活。就像作文寫跑題了,寫得再好也白搭。這類錯(cuò)誤連 高智商的外星人都不能避免:
• 有個(gè)外星人間諜潛伏到地球刺探情報(bào),它給上司寫了一份報(bào)告:“主宰地球的是車。它們喝汽油,靠四個(gè)輪子滾動(dòng)前進(jìn)。嗓
門極大,在夜里雙眼能射出強(qiáng)光。……有趣的是,車?yán)镒≈环N叫作‘人’的寄生蟲,這些寄生蟲完全控制了車。”
– 不論是復(fù)雜的項(xiàng)目還是簡(jiǎn)單的項(xiàng)目,需求分析員和用戶都有可能誤解需求。所以需求確認(rèn)工作(屬于需求管理)必不可少。
4.用戶經(jīng)常變更需求
– 需求變更通常會(huì)對(duì)項(xiàng)目的進(jìn)度、人力資源、經(jīng)費(fèi)產(chǎn)生很大的影響,這是開發(fā)商非常畏懼的問題
– 如果在項(xiàng)目開發(fā)的初始階段,開發(fā)人員和用戶沒有搞清楚需求或者搞錯(cuò)了需求,到了項(xiàng)目開發(fā)后期才將需求糾正過來,導(dǎo)致產(chǎn)
品的部分內(nèi)容需要重新開發(fā)。毫無疑問,這種需求變更將使項(xiàng)目付出額外的代價(jià)。這種損失是由于雙方工作失誤造成的,雙方
應(yīng)當(dāng)好好反省,認(rèn)真學(xué)習(xí)需求開發(fā)和管理的方法,避免再犯相似的錯(cuò)誤。
– 如果由于市場(chǎng)變化而導(dǎo)致產(chǎn)品需求發(fā)生變更,開發(fā)商大可不必為此煩惱,應(yīng)當(dāng)高興才對(duì)。倘若市場(chǎng)靜如死水,那么開發(fā)商吃了
“上一頓”就沒有“下一頓”。正因?yàn)槭袌?chǎng)在變化,才會(huì)產(chǎn)生更多商機(jī),聰明的開發(fā)商才會(huì)有活干,有錢賺。
– 其實(shí)需求變更并不可怕,可怕的是需求變更失去控制,導(dǎo)致項(xiàng)目混亂。所以需求變更控制是需求工程的重要活動(dòng)。
本博客為學(xué)習(xí)交流用,凡未注明引用的均為本人作品,轉(zhuǎn)載請(qǐng)注明出處,如有版權(quán)問題請(qǐng)及時(shí)通知。由于博客時(shí)間倉促,錯(cuò)誤之處敬請(qǐng)諒解,有任何意見可給我留言,愿共同學(xué)習(xí)進(jìn)步。