導航:首頁 > 程序命令 > 程序員受訪

程序員受訪

發布時間:2022-05-07 18:52:10

程序員退休年齡

工作到退休這類情況只適合於體制內,為何這樣說呢,國企、事業單位、公務員系統都有很嚴格的人事管理辦法,只要你不違法亂紀,不礦工連續超過15日,具體可參照「事業單位人事管理條例」或「公務員法」或國企管理規定,只要你不違反底線,你基本是可以工作到退休的。這也就是大家俗稱的穩定。

所以作為國企里的程序員,只要你不觸犯底線,你是可以安穩到退休。

話說回來,程序員本身是需要不斷學習的職業,需要經常給自己充電,如果還比較年輕,那要多儲備知識。毛主席說過,世界終歸是年輕人的。

就前景而言,國企相對而言待遇不會太差,但現在國企限薪了,普通員工待遇不會像以前那麼高,但相對而言比較穩定,穩定也意味著升職加薪要排隊的。如果覺得自己也很年輕有更高的追求,在國企內看不到有更好的升職機會,建議趁早到外面的大企業去,思科、sap等等,這些大企業都很鍛煉人,周圍都是優秀的職場人士,培訓提升的機會多,管理也規范,可以趁年輕考慮一下。

年輕的時候多學習多嘗試多努力,不負韶華不負春光!年輕就是用來奮斗的!

㈡ 我的網站站長統計的受訪頁面數據中為什麼有其他網站地址的

1、如果是其他站長因為採集你的站點信息而誤採到你的統計代碼並顯示到他的站點,那麼就會在你的統計中顯示他的站點,這個比較少見; 2、大多數用戶出現此問題都可能是一些站長故意盜用你的代碼使用你的統計,從而讓你的數據中顯示他的站點,讓你產生疑惑並回訪他的站點,這樣會讓他的網站增加流量(你一個人回訪流量當然不大,但如果很多站長都和你一樣被盜用代碼並回訪的話,該網站流量就大了); 解決辦法:在瀏覽統計網站中將不屬於您的站點添加到黑名單即可。 3、還有一種情況也值得一提,就是網站程序員當初在製作你的網站時,沒有使用二級域名進行測試,而是用一個(或多個)頂級域名進行測試的,所以搜索引擎抓取了該域名下的網站信息,當該域名被重新啟用時只暫時更新收錄了該網站的主頁內容,而未能及時刪除內頁信息。辨別這種情況很簡單,就看你網站流量統計中以其他域名為前綴的受訪頁面(注意是內頁)能否正常打開,如果能打開則說明不屬於這種情況,如果都不能打開那就放心,不用管它就行,嘿嘿。

㈢ 我需要兩個程序員讓我采訪,就是幾個問題而已。

采訪吧。給採納就可以
我不算正式的程序員,是屬於計算機競賽的學生,你有關理論類、演算法類都可以咨詢
我另外了解一些可視化編程
(但是,網路安全類的問題就免了,問題也不要太多)

采訪不需要收費吧。。

㈣ 現在轉行做程序員還來得及么求大佬給建議。

現在轉行做程序員還來得及的。因為,程序員在計算機語言的學習方面,可以根據自己的興趣有不同的選擇,例如:學習Java、PHP或者python等等。
另外,其實這些語言的學習,是可以分階段進行學習的。可以根據自己的現有水平和需求,選擇相應的學習內容。現在市面上學習IT的機構也比較多,包括線上網授課以及線下面授課兩種授課形式。具體可按自己的實際情況而定。如果覺得自身有這個必要去學習的話,建議去實地調查。一般來說,這些培訓機構都會有一些體驗課程,可以先讓你感受下。另外,在選擇時你也可以對學習環境、學習費用、師資情況等進行對比。綜合考慮後選擇自己可接受范圍內,比較適合自己的那個。
此外,據2018年國內程序員年薪狀況調查,程序員整體收入水平僅次於受訪企業中高層管理者。所以說,轉行做程序員是可以考慮的。

㈤ 安卓程序員要實現某個功能卻不知道用什麼代碼實現怎麼辦

美國的程序員交流網站 Stack Overflow 在去年的開發者調查中想要了解,碼農們是否都有大學的計算機專業學位。有 26086 名程序員參與了這項調查,其中有近一半受訪者的答案是,沒有學位。 大量程序員非科班出身的原因有很多方面。一方面,美國大學的學費正日益高漲。私立四年制大學一年學費平均接近 4.5 萬美元,其中還沒有包括生活費。另一方面,網上課程和培訓班吸引了很多人。有志於成為程序員的人士可以在做中學,而不必浪費幾年時間去完成大學學業。 關於非科班出身的程序員,有幾點建議可供參考: 閉門造車要不得 編程時的閉門造車會帶來幾方面問題: 沒有人給你答疑。編程時你會面臨許多疑問,但卻無法找到人給你答疑解惑。解決這類問題的過程通常需要求助於高級程序員,或是將自己的代碼與別人的去對比。 軟體評審。大型軟體公司都會設置軟體評審環節,即讓同事之間互相評審對方的代碼。無論是國外還是國內,數據顯示,代碼評審能多發現 60% 的錯誤和漏洞。即使你自己干,也需要找人去評閱自己的代碼。 與他人一同工作有助於拓展人脈,在職業生涯初期尤其如此。 目前,國內許多眾創空間都在面向小團隊乃至個人開放申請。這將會是不錯的選擇。 多讀書,尤其是大學專業內容 大學培養人才的重要之處是訓練基本功和思維方法,而不是讓你實際參與工程項目。如果沒有上過大學,那麼這些方面很可能會有缺失。你可能知道如何根據架構師的設計文檔去寫代碼,但卻不知道演算法為什麼是這樣。在實際面試中,筆者還曾發現,有許多非專業出身的人士甚至都不能准確解釋,什麼是面向對象的編程。而這本應是 C++ 的基礎。 非科班出身的人士需要通過多讀書來補充基礎知識,無論是離散數學、演算法設計,還是軟體測試的基本理論。 另一方面,如果你希望通過網上課程或培訓班去學習,那麼最好從基礎開始學,尤其是在沒有編程經驗的情況下。 如果你是非科班出身,希望自己干,那麼應當採用自底向上的模式。這將幫你弄清許多基本概念。一上手就接觸龐大的代碼將會令人摸不著北。 多練習,多做項目 對新人來說,多參與項目能幫助積累更多經驗,有利於未來的職業發展。而如果想要單干,那麼所做的項目將成為簡歷上的主要經歷,是對能力的證明。 個人從事項目最好的選擇是開發移動應用。相對於大型軟體項目,例如系統軟體或企業級應用,移動應用的開發相對簡單,很容易出成果,而也會有許多用戶提供反饋,相當於免費幫你做測試。移動應用開發使用的語言包括 Swift 或 Objective C(iOS 平台)、Java(Android 平台),以及 C#和 VB(Windows 平台)等等。此外,Phonegap 等通用型技術也可以考慮。 對個人程序員來說,GitHub 是個好工具。GitHub 上有許多開源項目可以參與,也有許多其他程序員可以提供幫助。你也可以自己創建軟體項目。這一切都是免費的。 職業發展的選擇 非科班出身程序員在找工作時可能會受到局限,因為大公司的招聘中學歷是個門檻。許多知名科技公司用大學學歷作為條件去過濾求職者。例如,谷歌在招聘初級工程師時就是這樣。 相對來說,一些創業公司更看重個人能力,而非學歷。對於需要什麼樣的程序員,什麼樣的程序員是夠格的,它們有自己的標准。在創業公司里找工作時,你不一定需要有大型軟體的成功開發經歷,通常只要證明你能開發出用得起來的軟體。 如果覺得自己的能力稍弱,那麼還可以考慮軟體公司中的 QA(質量工程師)職位。QA 的工作通常是統計問題,找出趨勢,以及建議如何改進。這也是一項程序員的基礎能力。而許多公司對 QA 工程師的招聘門檻要低於軟體工程師。 簡而言之,大學學位,或者說計算機專業的學位,並不是成為程序員的必要條件。但如果這類人群希望成為程序員,那麼將要在學習和實踐方面付出更多的努力。 編者按:李瑋是科技從業者,在多家網站開設專欄。同時他也是為 TC 中國長期貢獻稿件的譯者之一。

㈥ Python的就業前景怎麼樣

Python未來的前景怎麼樣?就業崗位多不多?薪資高不高?今天就來看一下詳細分析。

1、為什麼這么多人學Python呢?

很多初學者都聽說python很火,可是為啥要學Python,下面談談我的感悟。

Python語言是我目前為止用的最爽的語言,因為它真的很優美。雖然C、C++、Java也非常的強大和偉大,但是每一種語言偉大的背後都是有一定的時代背景。

Python被廣泛的用在Web開發、運維自動化、測試自動化、數據挖掘等多個行業和領域。

一項專業調查顯示,75%的受訪者將Python視為主要開發語言,反之,其他25%受訪者則將其視為輔助開發語言。

將Python作為主要開發語言的開發者數量逐年遞增,這表明Python正在成為越來越多開發者的開發語言選擇。

那麼未來10年到底哪種語言會獨領風騷,笑傲江湖,我不得而知,但是未來10年一定是人工智慧,萬物互聯的時代,現在AI、VR、無人駕駛汽車、無人機、智能家居離我們越來越近了。

未來10年將是大數據,人工智慧爆發的時代,到時將會有大量的數據需要處理,而Python最大的優勢,就是對數據的處理,有著得天獨厚的優勢,我相信未來的10年,Python會越來越火。

2、Python崗位需求量10萬

從職友集最新Python招聘崗位需求來看,Python工程師的崗位需求量巨大,並且崗位需求量還在呈現上漲的趨勢。

全國Python崗位需求量接近10萬;

北京崗位需求量居首位為20890個佔比21.17%,

上海Python工程師崗位需求量居第二位為12843個佔比13.02%,

其次是深圳、杭州、廣州等一線城市合計佔比16.53%。

從下圖可知,Python 相關職位的需求量,依然集中在三大經濟圈,特別是在北京、上海、深圳這幾個城市。

以上為Python各方向薪資

因為Python在大數據和人工智慧領域的爆發性發展, 導致Python方向崗位的薪水在水漲船高,從數據分析來看,月薪在20K-50K不等。

學習Python的程序員,除了能從事Python開發工程師、人工智慧工程師、數據分析師、Python自動化測試外,也能夠朝著Python游戲開發工程師、SEO工程師、Linux運維工程師等方向發展,發展方向較為多元化。

說這么多之後,你會發現,Python的發展前景十分廣闊。並且Python是一門真正意義上的全棧語言,即使目前世界上使用最廣泛的Java語言,在很多方面與Python相比也遜色很多!

㈦ 我學記者采訪過很多程序員,和有才華的優秀小說作家,他們都共同表示,腦力勞動很心累!抑鬱症活得很痛苦

沒辦法的事情吧。人要工作才有飯吃吧。現在買房買車娶媳婦壓力太大了吧

㈧ 程序員證書和國家計算機二級證書哪個含金量高

如果你想從事程序員工作,當然考程序只資格證書。因為全國計算機等級考試是比較普遍。但程序員資格證書是從事這行業的證明。

㈨ 女程序員到底有沒有被歧視

畢業一年的玲瓏邪僧曾經在某家娛樂文化為主的大型公司面試前端時,在等候的過程中聽到了隔壁有人說:「看到那個來面試前端的女生了嗎,一看就不會寫代碼。」聽得她喜憂參半。
就像「胸大無腦」這個詞本身存在性別歧視的意味一樣,「長得漂亮的女生一定是花瓶」也成為了大多數人對漂亮女生的直觀印象。
女程序員想在工作能力上得到男性的認可,往往需要經過時間的驗證。
高瑩回憶起剛參加工作時,領導分配給她的都是團隊里難度最低的任務。當時公司里有個男同事無意間瞟了一眼她寫的代碼,評價道:「寫得不咋地,重構沒意義,沒有技術含量」。
幾個月後她的能力得到了領導認可,也開始寫一些有技術含量的代碼,這時這個男同事對她的評價也隨之發生了改變: 「沒想到你的代碼水平不錯,在女生里算寫得比較好的了」。從這句話可以聽出,他並沒有把男女程序員的代碼水平放在同一標准上進行比較,內心深處還是認為女生的代碼能力不如男。
100offer讓幾位男程序員對女程序員的代碼水平和工作能力做出了評價,他們的回答普遍比較正面。
雖然Tim認為女程序員一開始獨立性差點,但是很快就能調整過來,她們的代碼水平普遍和男程序員差不多,工作能力挺強。
徐風則說雖然女程序員調bug的時候也會罵臟話,但工作起來非常仔細認真,很是靠譜。
但當問到是否會對女程序員進行特殊照顧,比如不把難度大的工作交給他們時,大多數男程序員給出的答案都是:會。
男程序員在工作時會盡量不把難度高、工作量大、加班多的工作交給女程序員。一方面出於女性體質比男性弱的考慮,另一方面他們覺得這是對女性的一種出於本能的照顧。
那麼,女程序員們是怎麼看待自己的代碼水平和抗壓能力的呢?
iOS高級工程師張丹荔認為,女程序員里確實有代碼寫得差的,在佔比上比男程序員大,但並不是全部。就像大學里很多計算機系的女生會找男生幫忙做作業一樣,她們不是做不好,而是不感興趣。如果真正喜歡技術的話,她相信女程序員的代碼水平不會比男程序員差。
另一方面,男程序員有時寧願自己加班也不願把工作分配給女程序員,很大一部分原因是他們認為女生抗壓能力差。關於這點,玲瓏邪僧認為這並不是碼農界特有的現象,相反,互聯網圈是一個相對公平的領域,女程序員想要反駁這些說法、證實自己的能力並不難。
她認為相比於外界對女程序員的偏見,女程序員對自己的錯誤定位與消極評價才是更為最致命的。面對偏見,部分人會在潛意識里認同外界的說法,認為自身確實不抗壓、能力弱,久而久之萌生放棄退卻的念頭。
所以,女性程序員應當正確客觀地意識到自己的優勢和不足,一定要拒絕裹足不前。
從采訪可以看出,外貌、性別等外在因素容易被作為評判女程序員代碼水平好壞的標准之一,這種現象在初入職場的新人身上尤為顯著。

㈩ 你如何認識沖突、溝通與協調在當前我國企業的現狀你認為應當如何改造

論著選摘

軟體開發組織的溝通與協調

楊昆 王二平

中國科學院心理研究所 北京 100101

中國科學院研究生院 北京 100015

【摘要】在對軟體開發中人員與組織問題進行回顧的基礎上,該文首先就軟體開發組織溝通與協調的重要性進行分析,然後對軟體開發組織中的溝通與團隊結構、溝通與項目成員、溝通頻次分布、溝通方式等問題,以及整體協調、外部協調、內部協調等問題進行闡述。最後就今後軟體開發組織溝通與協調問題可拓展的研究方向進行了討論。

【關鍵詞】溝通,協調,軟體開發,組織心理學

1人員與組織因素

計算機軟體產品的開發是信息技術的一個重要方面,也是構成信息產業的主要部分之一。隨著軟體產品的規模不斷擴大,復雜程度不斷提高,軟體開發出現了大量問題,被稱為「軟體危機」(software crisis)。從組織心理學的角度來看,軟體開發是一種典型的聚合型作業——成員雖然形式上獨立完成分配的作業,但最後聚合為完整的作業。最終作業對各部分作業的技術標准和完成時限有要求,形成成員活動的相互制約。因此,軟體開發的組織心理因素顯得尤為重要。Ewusi-Mensah和Przasanyskid對開發失敗的軟體項目進行研究表明,管理是影響軟體研發項目全局的因素,而技術隻影響局部。Doherty和King等人在對大型軟體組織的調查中發現,軟體開發中的組織問題甚至比技術問題更為重要。

軟體開發人員與組織因素的研究始於20世紀70年代。Weinberg認為軟體編程既是個體活動也是社會活動。作為個體活動的編程行為包括:智力、問題解決能力、動機、經驗等問題;作為社會活動的編程行為包括編程群體、團隊和項目的組成與協調溝通等問題。Brooks認為軟體的復雜度、不一致性、可變性和不可見性是軟體的本質困難,導致人員溝通困難、產品瑕疵、成本超支和進度延遲。鑒於此Boehm提出「軟體生產率改進機會樹」(software proctivity improvement opportunity tree),將人員和組織因素列為提高軟體生產率的首要機會,包括人事安排、工具配備和管理三個要素。1976年Newman以《人件系統》為名探討了軟體開發中的人員風險,第一次提出與軟體、硬體相對應的「人件」(Peopleware)概念。1987年DeMarco和Lister出版了《人件:富有成果的項目和團隊》,引起業界對這一概念的重視。作者指出,知識工人需要思考,每個人都是獨特的和不可替代的;強調工作環境對軟體生產率有重大影響;提倡團隊成員的互補性,認為給知識工作者以自由和信任最有可能形成優秀的團隊。此後,Constantine擴大了「人件」概念,將軟體的使用者也包括進來。卡內基梅隆大學軟體工程研究所(SEI/CMU)綜合軟體開發人員與組織問題研究成果,推出軟體能力成熟度模型(Software Capability Maturity Model,SW-CMM)和人員能力成熟度模型(People Capability Maturity Model,P-CMM)[13,14]對軟體開發過程和人員管理活動進行規范。

2溝通與協調的重要性

在軟體開發的各人員與組織因素中溝通與協調問題是影響軟體生產效率和可用性的重要問題。溝通(Communication)是指人們分享信息、思想和感情的任何過程。狹義的溝通僅指信息的交流,是使信息發揮積極作用和達到目標的手段。Brooks指出溝通是軟體開發計劃中必須考慮的工作量:人數n的變化,將引起溝通路徑n×(n-1)/2倍的變化。這使得軟體開發中人員與時間兩個要素不能進行線性變換而是呈現出錯綜復雜的關系。此後,一些實證研究也說明了溝通對軟體開發的重要性。Curtis用訪談法研究了17個大型軟體開發項目,溝通和協調中斷是導致軟體項目失敗的主要原因之一。McConnell通過文獻分析,總結出軟體開發的12項典型錯誤,其中和溝通問題相關的有4項:(1)嘈雜的辦公環境不利於溝通,(2)領導與問題雇員溝通不暢,(3)用戶信息輸入不足(4)項目後期加入人員,增加了明確共同目標和知識所需的溝通成本。Sonnentag對德國29個軟體項目中優秀人員的必備要素進行調查,發現社會技能(主要指溝通能力)僅次於專業技能成為優秀軟體人員必備的第二大要素。在隨後的研究中,Sonnentag對優秀軟體人員的行為特徵進行分析,結果表明:優秀軟體人員的績效與對溝通活動的投入程度有顯著相關。在同事的表述中,優秀軟體人員有較高的社交能力;優秀的軟體人員自身也把溝通作為完成任務的重要策略;他們投入團隊磋商和評審會並且積極從同事那裡獲得反饋的實際行為也比一般人員要多。

協調(Coordination)是指「對相繼的和同時的互依活動進行調和的過程」。狹義的協調僅指「對完成目標各活動間的相互依賴關系進行管理」。通用領域常見的依賴關系有以下幾種:先決條件;資源共享;同時性。Toffolon和Dakhli從 軟體開發活動復雜的背景分析其協調的重要性,認為:首先,軟體開發組織從事的商業活動是持續變化的;其次,軟體開發活動是在一個包含技術、經濟、人員和組織等因素的大型環境中進行的;再者,軟體開發活動本身是在一系列相互依賴過程的基礎上進行的。McConnen通過文獻分析總結出的12項軟體開發典型錯誤中,與協調問題相關的有3項:(1)軟體開發沒有明確的目標和動機(2)隨意取消開發的上游活動,如為了增加編碼時間而壓縮甚至取消設計活動(3)軟體質量保證(SQA)部門協調能力薄弱。Brooks指出,軟體開發過程是一個熵不斷增加的過程。因此,軟體開發需要大量的協調活動,從外界導入負熵流。

3溝通問題

3.1溝通與團隊組織結構

Schneider man將軟體開發團隊概括為三種類型:傳統團隊、無我開發團隊和主程序員制團隊。這三種團隊的溝通形式如圖1所示(雙向箭頭表示信息的溝通)。Schneiderman認為,上述三種開發團隊結構在溝通方面各有千秋。傳統團隊只允許必要的人際溝通,比較適合於項目本身就是層次結構的大型開發項目。無我的團隊成員溝通十分充分,這種團隊被認為適合於研製時間長、開發難度大的項目。而主程序員制團隊突出主程序員的領導,屬於集中領導形式,主程序員是溝通的核心,能否取得好的效果,很大程度上取決於主程序員的技術水平和管理才能。

隨著對軟體產品可用性(Usability)的重視,用戶成為日益受到關注的信息源。Castka和Bamber在總結軟體開發的團隊策略時指出最好的創意通常來自客戶或用戶,他們認為Kidd在1994年提出的「人機綜合製造」結構(Human And Computer Integrated Manufacturing,HCIM),正是考慮了與客戶溝通的因素實現快速製造範例的團隊策略。「人機綜合製造」結構如圖2所示,這樣的結構能夠使企業實現組織內部圍繞流程形成自然群體,並提供了將企業外部的用戶、客戶、供貨商包含進來的空間。HICM結構強調了這些群體之間的溝通(人員和技術溝通匯流排),同時描繪了人員與技術之間的介面。

3.2溝通與項目成員

Brooks認為「向進度落後的項目增加人手,只會使進度更加落後」,增加的溝通工作量可能完全抵消任務分解所產生的效率。Curtis通過對某個開發項目19次項目會議的持續觀察,發現了符合「Brooks法則」的現象。該項目開發的後期,有兩位分析員加入到被研究的項目中來,但對團隊的績效沒有起到明顯的效果,也沒有提出新的設計方法。Curtis認為,在項目之初團隊處於學習階段,溝通和協調較活躍。如果一個新成員在項目的學習期結束後才加入團隊,他帶入的新知識對團隊產生的作用是十分有限的。如果這些新的成員必須加入團隊,項目經理應當更多地加強團隊內部的溝通,確保新成員帶入的知識能夠與團隊現有的想法綜合在一起。

Curtis還發現,在開發團隊中各成員對溝通活動的參與程度是不同的。在對17個大型項目的研究中發現項目早期的溝通是由少數個體占踞的,而對某個開發項目19次會議的持續觀察也發現10個團隊成員中有3人(一個客戶代表,兩個設計人員)似乎支配著整個項目,成為溝通的中樞。Curtis對這些項目的實際領導者的背景進行分析發現,這些人員同其他人員相比擁有更廣的知識和經驗領域,而不是在某個領域經歷的時間更長。Sonnentag對德國和瑞士的29個軟體開發項目的研究也發現類似的現象,積極溝通、績效優秀的項目成員比平庸者從事過更多項目,掌握更多種開發語言,而不是有更長的工作年限。這表明,知識和經驗的廣度比資歷更能預測成員在團隊溝通中實際扮演的角色和他的績效。

Clegg通過訪談研究發現,最終用戶和項目經理這兩個角色在軟體開發溝通中的作用未得到發揮。大部分受訪者強調,最終用戶是系統開發的關鍵性角色,尤其在需求分析和應用領域知識的溝通方面。但在傳統的開發過程中,最終用戶只是參與需求獲取和確認測試階段,結構化方法和工具限制了用戶專家發揮其角色的作用。在大部分訪談中,開發人員仍然被認為是軟體開發的主體力量,即使對管理和新系統運行負責的客戶經理也經常被認為缺少對項目的影響力。大部分受訪者還強調,高層經理較缺乏對新技術及其長遠影響的理解,成為技術溝通的瓶頸;項目經理缺乏對系統中人員和組織方面的重視,導致內部溝通不暢。

Steven和Henry根據Belbin的團隊角色模型,對軟體開發團隊中「培養者」角色進行了實驗研究。Belbin曾經提出,有效決策團隊的核心由八個重要角色組成,其中「培養者」(Plant)角色是指團隊中能夠洞察行為過程、提出進一步建議和新思維的角色,其特點在於個人主義、思考嚴肅、有見識、非正統、智慧。Steven和Henry的結果表明,全部由「培養者」組成的團隊在完成軟體開發任務的時間上明顯少於對照組。同時,通過觀察發現,這樣的團隊有較強的溝通能力,他們不但自己能夠產生創新的思想,而且能夠很快理解隊友的新想法。

3.3溝通的頻次分布

軟體開發中的溝通不僅限於團隊內部,而是涉及整個組織內部和外部。Curtis通過現場研究,給出一個軟體組織溝通的分層結構。如圖3所示,共有五個層面:(1)個人層面(2)團隊層面(3)項目層面(4)公司層面(5)商業環境層面。

該模型指出,軟體開發的正式溝通最常發生在團隊成員之間;同一項目的不同團隊之間溝通相對較少,有一定合作關系的群體之間溝通更少,群體與外界的溝通最少。跨越不同層面之間的溝通渠道經常會過濾掉很多信息或對所傳遞的信息的意義產生曲解。除了正式的溝通結構引起的障礙,溝通的困難還在於地理上的分隔,文化差異和環境因素等。

Dutoit和Bruegge通過現場觀察發現,成效良好的軟體開發組織,其團隊之間的溝通頻次高於團隊內部的溝通頻次。另一方面,從時間坐標上來看,開發成效良好的團隊在需求和聯機調試兩個階段的溝通頻次明顯高於開發效果不佳的團隊。Gopal,Mukhopadhyay和Krishnan對離岸軟體開發的溝通問題進行了研究。離岸開發(offshore development)是指不在美國本土進行的軟體開發。印度目前是美國最大的離岸軟體開發承接國。研究者對34個在印度開發的軟體項目進行問卷調查,結果表明成功的項目經理與軟體提供商的溝通頻次和與最終用戶的溝通頻次保持平衡。

3.4溝通的方式

在軟體開發項目中,溝通的方式因溝通者處於軟體組織的不同層面,開發項目處於不同階段以及開發採用不同的方法而各不相同。Curtis在軟體組織溝通分層結構中(圖3)指出,不同層面的內部和群體之間的具有不同的溝通方式。(1)個人層面,正式溝通主要靠文檔,並存在多個跨越組織邊界的個人網路。(2)團隊層面,文檔溝通效果不佳,經常靠建立一種正規程序來促進溝通。(3)項目層面,最有效的溝通手段是正式評審,一個或多個項目成員橫跨幾個團隊也有助於項目團隊的溝通。(4)公司層面,非正式的人員接觸比公司的評審程序更有利於溝通。(5)商業環境層面,最重要的是與各個客戶洽談,開發出一致認可的需求。

Kraul和Streeler對65個軟體項目群體內部的溝通實踐進行調查,從使用頻率和價值評價兩個維度考察常用的溝通技術。調查結果表明,由於需求評審、設計評審和客戶測試等溝通方式允許擔負不同職責的個人(需求分析員、系統工程師、構架師、程序員、測試員和客戶)通過結構化的方式,對相互的工作發表各種不同的意見,因此其價值評價明顯高於其使用頻率所暗示的價值,其中同行討論是最常用且評價最好的溝通技術。根據統計數據,被調查者對正式溝通的評價顯著低於其使用頻率所暗示的價值。這里所說的正式溝通既包括規范化的當面人際交往進行信息傳遞(代碼檢測、狀態審查)也包括非當面的溝通(項目文檔、源代碼檢查、里程碑時間表、錯誤跟蹤等)。計算機輔助開發管理工具(CASE)則是使用頻率最少且評價最低的溝通技術。

4協調問題

4.1整體協調

Toffolon和Dakhli指出軟體開發活動要協調四個方面的依賴關系:股東/客戶(S)、使用者(U)、軟體構架師(A)和開發人員(D),並提出全局軟體模型(global soft waremodel),如圖4所示。研究者認為軟體開發活動由四個空間組成的:問題空間、方案空間、建造空間和操作空間。問題空間(problem space)主要是定義股東/客戶需要解決的問題及其組織解決方案,對股東/客戶、使用者和構架師進行協調;方案空間(solution space)主要是針對問題的計算機解決方案,對軟體構架師、股東/客戶和開發人員進行協調;建造空間(construction space)主要是解決方案的實現,對開發人員、構架師和使用者進行協調;操作空間(operation space)主要是從最終用戶的角度評價軟體的可用性,從而也驗證產品競爭力,對使用者、開發人員和股東/客戶進行協調。

4.2外部協調

Toffolon和Dakhli還指出,軟體開發的依賴關系可分為兩類:外部依賴(又稱為縱向依賴)和內部依賴(又稱為橫向依賴)。對應這些依賴關系的協調也可分為兩類,即外部協調和內部協調。

軟體開發的需求分析階段是外部協調出現頻次較高的階段。Curtis等人在對大型開發項目的現場研究中發現,確定需求的過程中,需要對外部的市場影響和公司自身的實力進行協調,同時還要考慮一些潛在的影響,如圖5所示。

Crowston和Kanunerer在對需求過程中協調與信息搜集活動的研究中指出,需求分析包含四種相互依賴關系:生產者—客戶依賴、任務—子任務依賴、任務-成員依賴和需求之間的依賴。針對生產者-客戶依賴的協調,研究者建議採用原型產品標准化、詢問客戶輸入信息和使用者捲入開發等協調方式。針對任務—子任務依賴的協調,研究者指出,需求分析實質上是一項任務計劃活動,分析人員必須了解哪些任務已完成,並選擇那些已經完成或已存在的低端任務來實現高端任務。針對任務—成員依賴的協調,研究者指出,需求分析階段的協調應當更側重於明確執行特定任務所需資源的類型,從而協調任務與人員的關系。針對需求之間依賴的協調,研究者指出應當對這種依賴進行分類,採取措施針對可能對開發活動產生不良影響的依賴進行抑制。

4.3內部協調

研究者還對軟體開發團隊內部結構的協調職責進行了分析。傳統的開發團隊是由一個高級程序員指導若干初級程序員的工作,有經驗的高級程序員作成項目領導者,指導若干成員或團隊,而初級程序員對其編程軟體負責,報酬是通過提升體現出來的。在這樣一種層峰結構的開發隊伍中,協調的工作量非常大,成本非常高。針對傳統開發團隊中程序員對其編程產品高度捲入和以提升作為承認程序員工作價值的唯一方式的狀況,Weinberg提出「無我編程」(Egoless programming)的概念。他根據Festinger的認知失調理論,認為程序員由於對自己的編程產品高度捲入,會認為編出的程序是自己個人的產品,從而害怕別人發現其中的缺陷和錯誤,害怕暴露自己對任務的不勝任,不願接受對其程序的改進建議。這不利於軟體開發中的協調活動。因此,Weinberg建議成立「無我開發團隊」(Egolessteam),強調個人的成功和失敗都被看作是團隊共同努力的結果,鼓勵合作而不是競爭。如果一個團隊成員執行任務遇到困難,提倡其他成員貢獻出自己的力量。Baker提出主程序員團隊的模式。這種模式類似於外科手術的團隊,主程序員是主要的設計者,編寫重要的代碼段落;後援程序員實施重要的操作,並為必要時接替主程序員做好准備;程序員在設計規范可實施的階段加入團隊。主程序員團隊協調團隊成員間的合作,提供了一個與醫療行業中圍繞主治醫師進行協調的相同的工作模式。

Levesque, Wilson和Wholey等人對軟體團隊是否會形成共同心智模式(shared mental model)的問題進行了實驗研究。結果表明,並不是所有開發團隊都會隨著時間的推移形成共同心智模式。復雜項目的不同分工將導致成員和群體在知識上的差異。這種差異有時是功能上的,因此通過召開會議建立團隊的共同心智模式成本很高。以共同心智模式作為協調手段所獲得的效益將隨項目規模的增加而不斷降低。研究者同時指出,以共同心智模式作為協調手段最適合於團隊成員具有相近技巧和能力的情況;而團隊中某些成員的技巧和能力高於其他成員的情況下,更適合通過項目經理的工作進行協調;對於任務簡單明確的情況,更適合把其他成員的工作視為黑盒,採用嚴格的規范進行協調。

5今後研究可拓展的方向

綜上所述,西方學者對軟體開發的溝通與協調問題進行了較為深入的研究。這些研究使 我們對軟體開發中溝通的組織結構、頻次分布、溝通方式等問題,以及軟體開發組織的整體 協調和外部內部協調等問題有了一定的了解。今後研究可拓展的方向主要包括:

(1)軟體開發組織的溝通協調行為與軟體生命周期關系的研究。軟體從孕育到衰亡的 生存過程稱為生命周期(1ife cycle)。一般把軟體生命周期分為:軟體計劃、需求分析、軟 件設計、軟體編碼、軟體測試和運行維護等六個階段。不同的開發框架又可形成不同的生命 周期模型。以往涉及軟體生命周期的溝通與協調行為研究多集中在前期的幾個階段。既然軟 件開發活動是隨生命周期的增長而熵不斷增加的過程,今後的研究應當拓展到軟體生命周期 的全程,尤其應加強對軟體生命周期後期的溝通與協調問題研究。

(2)軟體開發組織與用戶的溝通與協調研究。以往對用戶這一角色的溝通協調研究僅局限於需求分析階段,隨著市場對軟體產品可用性的重視,開發過程日益強調全程的用戶參 與(user involved),今後應當對軟體組織與用戶的溝通與協調行為在軟體生命周期各個階段 的方式和作用進行更為廣泛的研究。

(3)虛擬開發環境下的溝通與協調行為研究。技術的進步使得以虛擬團隊的形式進行 軟體開發成為可能。在虛擬環境下,軟體開發組織中溝通與協調的動機、認知過程以及行為 過程會發生哪些改變是一個需要深入探討的問題。

(4)西方溝通與協調問題研究成果對我國軟體開發組織的適用性的研究。我國軟體組織規模較小,管理水平相對較低,開發過程缺乏層次較為混亂。我國對軟體開發的人員與組 織因素重視程度不足,目前僅有少量規范研究,尤其缺乏對軟體開發組織溝通與協調問題的 實證研究。我國學者除了需要關註上述的研究拓展方向,還需要考察西方已有的軟體組織溝 通與協調問題研究成果(如SW—CMM模型、P—CMM模型中關於溝通與協調的規范)是否 適合我國軟體開發的組織環境。從而盡快形成適合我國軟體開發組織的溝通與協調規范,促 進軟體開發生產率和產品可用性。

【參考文獻】(略)

文章選自《心理科學進展》(2004.6)

閱讀全文

與程序員受訪相關的資料

熱點內容
新手玩狼人殺用什麼app 瀏覽:614
pdf在線查看 瀏覽:953
安卓tv90如何關閉後台 瀏覽:682
php讀取word亂碼 瀏覽:753
minicom源碼 瀏覽:1000
海爾冷櫃壓縮機 瀏覽:415
聯通伺服器如何調試信號 瀏覽:135
stata新命令 瀏覽:940
單調棧演算法python 瀏覽:605
微信解壓游戲怎麼下載 瀏覽:961
忍三伺服器不同如何登上賬號 瀏覽:821
php求積 瀏覽:295
封面命令 瀏覽:879
手機復制文件夾到另一個文件夾 瀏覽:992
手游為什麼不能統一下伺服器 瀏覽:246
iphone上pdf 瀏覽:884
window定時python腳本 瀏覽:64
怎麼運行cmd命令行 瀏覽:366
php中類的繼承 瀏覽:228
openvpnlinux安裝配置 瀏覽:463