软件设计:表达组织中的上下级关系
正在策劃一個產(chǎn)品,其中要用到企業(yè)中人員的上下級關(guān)系。
上下級關(guān)系,直覺上只是個簡單的樹狀結(jié)構(gòu),如果不深入思考,容易將之簡單化,其實,這里面還是有很多麻煩事的。例如,有些企業(yè),某些人的上級不止一個,屬于多領(lǐng)導(dǎo),雖然有些口頭上的分工,但分工并沒有非常明確,還有的時候,一個人可能會有兼職,如某車間主任兼職工會主席,他就屬于兩個不同的管理條線下,還有些企業(yè),對排名,特別是領(lǐng)導(dǎo)的排名很重視,可在兼職的情況下,在不同的崗位下,排名是不一樣的,等等。
怎么表達(dá)企業(yè)里面員工上下級的關(guān)系,兄弟們主要分成了兩大陣營,相互之間都說得有道理。
方案A:就直接用人表達(dá)上下級關(guān)系,至于這個人的崗位是什么,只當(dāng)成一個不重要的輔助信息。這樣做的優(yōu)點,一,可以清楚地表達(dá)出誰是誰的領(lǐng)導(dǎo),誰領(lǐng)導(dǎo)誰,一目了然;二,符合我們在工作中的認(rèn)知,我知道我的領(lǐng)導(dǎo)是誰,至于他的崗位是什么,我并不太關(guān)心;三,如果用崗位表達(dá)上下級,對于那種事業(yè)部的組織架構(gòu),可能幾乎需要對每個員工設(shè)置一個崗位。
方案B:用崗位來表達(dá)上下級的關(guān)系,崗位A的上級是B崗位,如果某個員工屬于A崗位,那么他的上級就是B崗位的員工,誰在B崗位,誰就是他的領(lǐng)導(dǎo),如果B崗位有多人,意味著,他的上級有多個。這樣做的優(yōu)點,一,如果有多個員工屬于同一崗位,在實施的時候就不需要為每個人都設(shè)置他的上級;二,如果某員工離職(特別是管理者),對組織架構(gòu)沒有任何影響,只要將個別員工設(shè)成這個崗位就行了。
爭論了很久,最后方案B獲勝,產(chǎn)品經(jīng)理決定采用。因為方案B方又拋出了兩項優(yōu)勢,一,用崗位表示上下級更符合HR的思維,在實施項目的時候,跟HR討論更容易,也就更順暢;二,透過現(xiàn)象看本質(zhì),現(xiàn)在社會并不是養(yǎng)家臣的年代,人跟人之間的上下級關(guān)系,并不是人的關(guān)系,而是崗位的關(guān)系,你是我的領(lǐng)導(dǎo),因為你在這個崗位,軟件要表達(dá)現(xiàn)實業(yè)務(wù)才能提高靈活性。
?
最后,做個總結(jié)吧。為了讓軟件具有更好的可擴展行、可維護性、靈活性,要盡量表達(dá)出業(yè)務(wù)的本質(zhì),因為業(yè)務(wù)的本質(zhì)變化的概率小,而表象變化的可能性大,也更可能遭遇難以處理的異常情況。
上例中,崗位的上下級關(guān)系是本質(zhì),人跟人的上下級關(guān)系其實是表象。企業(yè)中上下級的崗位關(guān)系是相對固定的,只要沒有組織架構(gòu)的變更,一般不會變化,可人跟人的上下級關(guān)系變化的可能性大得多(如離職、升職、調(diào)動等)。
如果軟件表達(dá)的不是業(yè)務(wù)的本質(zhì),而是表象,那么很有可能在使用中會遇到某些你現(xiàn)在無法預(yù)見的、無法表達(dá)的特殊情況。例如,假設(shè)某人兼職兩個領(lǐng)導(dǎo)崗位,車間主任(上級是制造總監(jiān))與工會主席(上級是行政總監(jiān)),車間組長的上級是車間主任,所屬高管是制造總監(jiān),而工會會計的上級是工會主席,所屬高管是行政總監(jiān),這時候,方案A是無法表達(dá)這種關(guān)系的。方案B很容易表達(dá)出這種關(guān)系:
?
如果采用方案A,如圖,李會計與錢總,孫組長與趙總的關(guān)系無法表達(dá)出來。
?
作者:楊長春
首發(fā)于微信公眾號yang_changchun
更多關(guān)于管理軟件需求分析的經(jīng)驗與技巧,請參見作者著作《實戰(zhàn)需求分析》(清華大學(xué)出版社)
總結(jié)
以上是生活随笔為你收集整理的软件设计:表达组织中的上下级关系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 城市大轰炸++(洛谷P1847题题解,J
- 下一篇: 【面向对象】面向对象程序设计测试题4-J