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