在乙個專案中管理好基礎架構和開發團隊

2021-04-14 05:10:18 字數 1303 閱讀 4170

有時好象it**成了兩個敵對的陣營。一邊是致力於穩定性的基礎架構工程師,他們要保護自己的環境。另一邊是開發者,他們經常努力去發現獨特的、更棒的方法來達到他們的目標。這兩個陣營之間的鬥爭是如此的激烈,以至於連最忙碌的經理都開始注意到這點。

乙個失敗的專案

我參加的第乙個大專案是幫助乙個學校把乙個基本財務資訊系統從乙個平台移到另乙個平台上。我作為基礎架構小組的解決問題專家以及配置專家。這個應用很陳舊,開發團隊還面臨著公升級它,以符合該學校目前以及將來的需求的挑戰。

事情的開始很正常。我們架起了自己的伺服器,配置路由器,並在搭建ip子網路中找到了樂趣。當基礎架構團隊忙於進行穩定性測試的時候,開發者們卻退到他們滿是灰塵的房間和黑暗的角落裡去。他們在深夜工作。

該專案進行了乙個月以後,這兩個團隊除了在我們每週的例會之外,就已經不說話了。進行了兩個月的時候,這些周例會也開始變味了。基礎架構團隊進行最後的配置並完成了基本的穩定性測試。開發團隊每週到我們這來,帶來新的變化,補丁和他們想放在伺服器上的程式。

雙方的脾氣都開始爆發。從我們的角度看,我們不理解為什麼開發者們不能接受我們為他們測試的,所有的偉大的事情。對於他們來說,這些開發者不能理解我們為什麼如此頑固。他們只是想要幫助客戶。

一天下午,事情發展到了頂端。乙個開發者走進測試實驗室,在桌上放了乙個軟體,並宣布要我們在當天安裝並測試這個軟體。我告訴他我們要在別的時間來進行這件事--也許是下個月的某個時候,我有我的方法。他很不高興。事情從那個時候開始就有些失去控制了。我們面對面地站著,向對方大聲嚷嚷。

我們的客戶協調人剛巧在我們兩個扭打在一起的時候走進這個房間。他關上門出去了。兩個小時以後,那個開發者和我都被踢出了那個專案。但是,在我們走了以後,那個專案裡的兩個團隊之間的情況沒有任何改善。事實上,情況越來越糟,最後導致了整個專案的失敗。

發生了什麼?

除了我自己的不夠職業的行為,這個專案還受到乙個根本問題的困擾。基礎架構和開發者這兩個團隊之間的關係製造了大量的緊張氣氛。我的大聲嚷嚷和那個開發者的失態只是表象,而不是問題的實質。辨認出並理解這個問題成了我在等待下乙個新專案的時候關注的焦點。

在回顧了我們從事的工作型別之後,我認識到基礎架構和開發對於世界持有相矛盾的看法。這種矛盾不可避免地導致了兩個團隊之間的戰爭。

基礎架構團隊關注的是能力和風險管理。他們的目標通常包括諸如「快速配置」,「沒有麻煩的安裝」以及「快速的問題解決方案」等內容。經理們通過檢查當機時間和問題解決方法來衡量基礎架構。為了達到這些目標,有天賦的基礎架構人員努力創造穩定,低風險,高可管理性的環境。當變化讓他們難以達到目標的時候,他們就會有些抗拒風險。

在乙個專案中管理好基礎架構和開發團隊

有時好象it 成了兩個敵對的陣營。一邊是致力於穩定性的基礎架構工程師,他們要保護自己的環境。另一邊是開發者,他們經常努力去發現獨特的 更棒的方法來達到他們的目標。這兩個陣營之間的鬥爭是如此的激烈,以至於連最忙碌的經理都開始注意到這點。乙個失敗的專案 我參加的第乙個大專案是幫助乙個學校把乙個基本財務資...

在專案中解決的乙個死鎖問題

描述 finance 系統 呼叫 process 系統的時候發生死鎖。用 show processlist 可以看到存在status是 updating 的程序,而該程序就是發生了死鎖的sql。分析 問題產生的原因是 finance 系統在事務a中update了一條資料,並且這條資料已被加行鎖 pr...

看看junit在乙個具體的專案中

author emu 黃希彤 明天放假回家了,今天把系統裡面的test case全部用乙個tesetsuite給串了起來,得到了這樣一幅截圖 這幾個月來的單元測試還是富有成果的。雖然專案組一些新成員沒有很好的按照規範進行開發,但是在我堅持下新加的模組全部幾乎都寫了單元測試。雖然裡面有不少紅叉叉,不過...