㈠ 當程序員變成軟體項目經理怎麼辦
當你預期的那一天,也許是害怕的那一天,終於來到了:從工程師的隊伍里你被提拔到了軟體項目領導或者團隊領導的位置。這也許就是你選擇的職業道路,或許你不太情願,將就嘗試一下。無論在哪種情況下,你都可能缺少工程學科、人員管理以及領導能力的相關教育。 這需要更多的領導能力和管理(它們不是一回事),而不能象Dilbert(譯註:著名IT漫畫主角)那樣簡單地和老闆對抗了。當你考慮新的目標時,請考慮下面的活動計劃列表。一次就抓住了每個亮點,這是不可能的。但是這份建議說明可以幫助你將注意力放在可以提高你和你的團隊績效的活動上。 建立優先順序 作為經理,首先要做的、最重要的事是你需要有意識地建立優先順序。當你仍陷於繁重的軟體開發活動中時,你需要一套新的職責。過多的經理新手不能抗拒技術的吸引而陷於此類活動,這將導致項目組的其他人員想要獲得經理的幫助時,卻得不到幫助。 有成效的領導知道他們首要的任務是為其他組員提供服務。這些服務包括訓練和指導、解決問題和沖突、提供資源、建立項目目標和優先順序、提供適當的技術指引。要使每個組員都能清楚的知道,你總是可以幫助他們。我發現將自己定位於為被我監督的人工作是非常有意義的,而不是相反的。在你所作的事情中,對於組員要求你幫助他們這件事,應該具有非屏蔽中斷的優先順序。 第二重要的,是使你的客戶滿意。作為一名經理,沒有直接的能力使客戶滿意,因為你已不再是作為個人提供產品和服務完成這點。相反,你必須建立一種環境,准許你的組員最大程度上滿足客戶的需求。經理提供了強有力的方法,有效地提高客戶的滿意度。 第三重要的,是為你的項目工作。因為也許還有其他許多技術上的項目,或者其他經理的請求幫助,諸如為指導委員會工作。當這些和二個高級別的發生沖突時,都要准備推辭掉。 很明顯,使其他經理滿意的事情是你最不重要的事情。在一個有秩序的組織里,如果你在三個以上的重大環節上獲得了成功,其他的經理都會很激動的。我們並不都能很幸運地工作在一個良好的環境里,但一定要對你任務單上排在最前面的工作任務努力盡到最大的責任。集中精力有效地、快樂地、盡可能地幫助你的組員,不要將精力放在使你上司滿意的上面。 分析你的技能差距 除非你已經為新位置做好了准備,否則相對於你當前的領導能力和管理技能,你會感到一些差距。出色的技術背景或許是你被選為領導角色的一個因素,但是你要想幹得出色,你需要更多的技能。針對別人的評論和項目,真實地列出你的長處和短處,然後減少差距。 軟體人員並不以令人滿意的人際關系技能出名。你會希望增強處理人際關系的經驗:解決沖突、說服以及灌輸想法。你也不得不處理包括招聘、解僱、商談計劃表,以及在你的辦公室里評論某人業績使其傷心落淚等一些事務。 我發現從一堂傾聽技能課開始我的管理職業是非常好的。當作為個體提議人,積極地將我們自己的技術議程提交小組時,我們經常對此感到非常愜意。有效的管理要求更多的合作和善於接受的人際關系方式。要花點時間學習如何(何時)巧妙地引導自己的自然判斷。傾聽技能課提供了一種交流機制,我已經發現在許多場合下都很有用。 接著,到講台的另一側,提高你的演講能力。如果你真的不適應公開場合的講話,學習戴爾.卡內基的課會有幫助的。你會發覺,通過這樣的培訓獲得的經驗,以及獲得提高的交流能力,都可以幫助你更好地適應將來的工作。 作為項目領導,為了計劃和跟蹤項目,以及當需要項目回退而採取修正措施時,你有責任調整其他人的工作。參加項目管理的培訓課,閱讀一些有關項目和風險管理的書籍和文章。參加項目管理學會,閱讀其月刊--PMNetwork。SEI的軟體能力成熟度模型對於軟體項目計劃和項目跟蹤提供了很多有用的建議。建立優先順序的能力、控制有效果的會議、清晰的交流,對於你,作為一名經理的績效將會有實質上的影響。 定義「質量」 幾乎每個人都會認真地對待質量問題而且都希望生產出高質量的產品。然而,對於軟體的質量含義,沒有一個統一的定義。傳統上的軟體質量觀點和「足夠好」的軟體觀點有著激烈的爭論。為了幫助小組走向成功,需要花一些時間和你的組員、客戶共同探討質量的含義。 這兩種陣營在思想上經常不會有相同的定義,可以很容易的就不同目的開展工作。關注交付計劃的經理對於想正常地檢查每行代碼的工程師會不耐煩的;認為可靠性非常重要的客戶對一個帶有很少使用但帶有很多bugs的特性的產品是不會滿意的;一個很好的GUI也許會讓用戶厭煩,因為用戶已經熟記了如何有效地使用前一個版本的產品。 為了更好的理解客戶對軟體質量的看法,在Kodak,我的小組曾經邀請了我們的客戶和他們的經理就這個議題在一個開放的論壇展開討論。這個論壇是很有意義的,那些使用我們產品的人有著自己的理解,通過討論,我們可以知道我們制定質量的思路有哪些和他們是不相符的。明白了不同,就可以使你集中精力,照顧客戶的最大利益,而不是使開發人員獲得最大滿意。 軟體質量的傳統描述包括要與說明書一致,滿足客戶的需求,代碼和文檔沒有缺陷。「六個∑質量」(six-sigmaquality)這個流行詞,建立了一個非常高的尺度,用於監測失敗的頻率和密度。但它不適用於如快速產品交付,可用性,充足的特性集,已支付價錢的交付意義這樣的質量尺度,。對於我們生產和購買的產品,我們總是熱衷於盡可能涵蓋所有的這些質量特性,然而,妥協總是必須的。 在一個項目的需求階段,我們制定了包括十項質量屬性的一個列表,如效率,協同性,正確性以及宜於學習,我們認為這對於用戶來說是最重要的。我們請客戶關鍵人物代表小組以1到5的尺度評估每項屬性。一旦我們決定了哪些屬性是最重要的,我們就可以設計並實現這些目標。如果你在了解了對於客戶的質量含義並在設計實現質量屬性的過程中沒有麻煩的話,而且客戶對質量屬性表示滿意,那你是很幸運的。 在眾多關注的質量說明中,我曾聽到過一個:「客戶回來了,但產品沒有」。和你的客戶、開發人員一起對每一個產品都確定適當的質量目標。一旦決定了,就給出達到質量目標的明確的最高優先順序。以身作則,按很高的質量標准要求你自己的工作。採用這個座右銘:「力求盡善盡美,滿足於優秀。」 表彰成績 對你組員成績的表彰和獎勵,是激勵他們的一種很重要的手段。除非你的小組中已經有了一種表彰程序,否則這應是你最重要的事情之一。表彰包括象徵性的東西(證書,旅遊獎勵)以及實際的東西(電影票,餐館禮品券,兌現獎)。在送贈品時要說一些親切的話語:「感謝你所給予的幫助」或者「祝賀取得了成績」。在表彰和獎勵上花費很少的心思和錢,就可以獲得很多的友好和將來的合作。包括客戶代表,以及為項目成功做出過貢獻的支持人員等等開發組外的人員也可以獲得表彰。 和你的組員討論,了解他們感興趣的表彰和獎勵的方式。使得無論大小成就的表彰活動成為小組文化的一個標准組成部分。對每位組員對其所作的工作表現出發自內心的興趣也要給與含蓄的表揚,為消除所有影響他們戰鬥力的障礙盡你的力量。表彰是展示組員以及小組外的其他人的一種方式――你要知道並感謝他們為小組成功所作的貢獻。 學習過去 你的小組在過去承擔的一些項目有可能沒有取得完全的成功。甚至在成功的項目上,我們也能經常認為一些事情我們下次會作得更好。當你進入了新的領導角色,需要花點時間了解早期的項目為什麼失敗,並要計劃避免犯同樣的錯誤。對於軟體開發,每位經理花時間處理每種可能要發生的錯誤是非常困難的,學習過去的成功和失敗就是個成功的開始。 可以從過去你們小組承擔的一個沒有經過檢查評估的項目著手,不要管其成功還是失敗,實施項目後的回顧(有時稱作事後調查分析)。你的目標不是判定責任,而是為了在將來項目中作得更好。藉此,可以了解什麼已經作得很好,什麼應該作得更好。在當前每個項目的主要里程碑時,通過集體討論或公平的組織者,用同樣的方式,領導小組用頭腦風暴的方式對其展開分析。 另外,要了解領悟已有的軟體工業的最佳准則。一個好的起點是SteveMcConnell的JoltAward獲獎作品:快速開發(RapidDevelopment,MicrosoftPress,1996)的第三部分,敘述了27個最佳准則。也要避免McConnell敘述的36個常見的軟體開發錯誤。你的組員也許反對新的工作方式,但是你的角色是作為一名領導,要確保團隊一致連續地使用最佳可用的方法、過程和工具。積極促進組員之間的信息共享,這樣局部單個最好的實踐經驗就能成為每個開發人員的工具箱的一部分。 建立改進目標 一旦你對過去的項目建立起了回顧,確立了質量對小組的意義,你就要建立短期以及長期改進的一些目標。目標要盡可能量化,所以你要劃分幾個簡單的階段,標明你是否採取了適當的過程朝著目標前進。 例如,如果你認定由於需求的不穩定導致項目經常延期,你可以建立一個改進需求穩定的目標,在6個月內提高50%。這樣一個目標需要你確切知道每周或每月需求的變化數,清楚他們的出處,採取行動控制那些變更。這可能要求你要改變與那些提交需求改變的人的交流方式。 你的目標和階段是軟體過程改進程序的組成部分,你要使之有序。作為缺乏創造力的官僚主義的最後避難所,輕視「過程」很流行。雖然事實上,每個小組都能找到改進其工作的方式。當然,如果你總是用已有的工作方式工作,你也就不要期望你會得到比以前更好的結果。 有兩個強烈的原因要求改進過程:校正問題,防止問題。確保你的改進努力要圍繞著已知的或可預知的可能威脅項目成功的問題。領導你的小組找出當前正在使用的方法的長處和短處,以及項目面臨的風險。 我的小組召開了一次「兩段式頭腦風暴」練習,來確定改進軟體生產力和質量過程的絆腳石。在第一次會議中,參會者在便條上寫出他們關於會議主題的想法,一個便條一個想法。組織者將他們寫在便條上的想法收集上來並分組。最後,我們就會得到一打主要的分類,並將其記錄到活動掛圖上。 第二次會議,相同的參會者在便箋上寫出解決這些障礙的思路,並貼在掛圖的合適位置。進一步細化,歸納出一些詳細的活動,就可以成為我們努力的一部分,清除障礙,幫助組員實現軟體的質量和生產力的目標。 建立可度量和可達到的目標,便於你集中精力實現改進。要使目標具有明顯的優先順序,並可周期性地監視過程。記住你的目的是,提高你的項目和公司完成的技術和業務上成功,不要滿足於一些過程改進書籍里提到的期望細節。要把改進的工作視為迷你項目,具有可分發、資源、計劃和有責任的小項目。否則,過程改進活動將總處於比誘人的技術工作低的優先順序上。 緩慢的開始 這篇文章提供了許多建議,幫助你,一位軟體經理新人,帶領你的小組走向偉大的成功。在日復一日新的工作壓力面前,要努力保持你的頭腦清醒。在長時間的塑造軟體開發小組的文化和習慣上,你還是個非常重要的角色。你不必一次性都作完,可以選擇跟環境最相關的的幾個開始。 作為軟體經理,除了項目要按時按照預算完成外,你要擔負的責任還很多。你還要:領導技術人員,將他們形成一個具有凝聚力的團隊;建立協同團隊工作的環境;鼓勵和獎賞高級軟體工程師的實踐應用;平衡來自客戶、公司,組員和你自己的需求。 這是項重大的任務,祝你好運。
㈡ 程序員和軟體工程師,軟體實施工程師,項目經理有什麼區別,級別怎麼排哪個更有前途
程序員和軟體工程師是沒有什麼區別的,不過是叫法不同罷了,是純技術的。實施工程師有點偏向於和客戶交流,但懂軟體的安裝和使用,要求好的口才和應變能力。項目經理是最牛的,不過一般的剛畢業的學生難以勝任的,都是要有3-5年經驗的才可以的。一般人都是從程序員開始的,慢慢走向項目經理或銷售經理。
㈢ 程序員出問題項目經理判幾年
不會被判刑。
沒那麼誇張,那都是有違法行為才會被判刑的。
在互聯網公司中,大家常提到的是用代碼「改變世界」的開發人員。其實,產品上線和維護,除了開發,還有一個崗位也肩負著重要責任。他們隨時待命,遇到系統故障要立馬解決,還要為項目上線、維護、更新等重大事情提供IT資源,讓產品能如期運轉。
㈣ 軟體開發中項目經理與首席程序員中誰的貢獻大
這個問題就仁者見仁,智者見智了。
先說項目經理,一個軟體在市場取得成功,從它在立項開始,項目經理就對可行性研究以及跟客戶的交流,負責項目的跟進,協調各個開發人員的工作,負責跟老闆匯報進度,還要關心財務一系列工作,甚至有的項目經理還要負責解決一些技術難題。總之項目經理在一個軟體開發之初,就像一個保姆一樣照顧著這個軟體成長,一款成功的軟體離不開項目經理的功勞。
另外說首席程序員,也就是技術總監,在軟體進度遇到技術障礙的時候首先想到的肯定是他,對於一款優秀的軟體來說,性能的優越,功能的齊全,都是其成功的基礎,而這些都離不開首席程序員。
但是一款好的軟體都不是一個人可以寫出來的,離不開團隊的合作。
所以我的觀點是,如果是大公司,像微軟這種,一個頂級的程序員計算機專家,肯定是比一個項目經理更重要。如果是小點的公司,相對來說開發的項目技術難度並不會很大,因此項目經理肯定比首席程序員重要。。。
㈤ 為什麼項目經理比程序員工資高
因為項目經理是管人,找項目的,他管人管的好,他的工人才可以幫助老闆掙錢,所以他的工資高,程序員只是一名工人!!!!!!!
㈥ 從程序員--項目經理助理--項目經理這條路,和程序員--項目經理哪個更好
前者偏重管理,助理部分職責是文檔管理和人員組織,協助項目經理進行管理
後者偏重技術,從編碼到編程,再到設計和架構,最終實現管理職能,成為項目經理
屬於技術型項目經理
看你對技術是不是感興趣
另外,技術型項目經理更接近企業核心和管理層,在發生變動時,地位比較穩固,也會有獵頭公司來挖。
㈦ 作為一個程序員,怎樣處理好和項目經理之間的關系
良好的溝通是最關鍵的,這不僅是程序員和項目經理之間,更適用於所有的關系
他分配任務指標後。
1.首先要明確他的意思,最好和他重復一下,看看你有沒有理解錯,他不會因此煩的,因為如果你的理解偏差了做出來的東西有差距,到時反而更麻煩了。
2.在做的過程中,隨時發現問題難以解決,或難以達到預期的目標要馬上向他反映,讓他明白你的難點幫助你解決或者讓其他人幫助你。
3.明確項目進程,及你的工作完成時間表,隨時反映你的工作進程,如覺得時間有困難,要提前溝通,因為項目經理會有一個整個的統籌安排,你的一個環節的滯後可能會導致整個項目的無法進行,事先通知就可以提前修改安排,不會導致項目的停頓,而且原因可以理解他不會怪你的。
希望可以幫到你,謝謝!
㈧ 項目經理和高級程序員的區別
再高級的程序員也就只是程序員,項目經理是可以單獨帶一個項目的,是可以算項目提成的。