摘要:優秀的軟體是多部門齊心協力的產物,在軟體開發專案裡,一旦交流不當,誤解是避免不了的。文章裡從專案經理--開發者--測試者--客戶之間的微妙而又重要的關係入手,和文件細節、交流工具的使用,分析了如何避免誤解。
經常遇到在軟體開發裡各種各樣的誤解所導致的奇怪事情。不過說來也很費解:對於這樣不正常的待遇,盡然很少有人提出質疑,也沒有人問開發者是什麼導致了誤解和交流上的障礙。可能大部分人都覺得問這樣的問題為時已晚或者沒人關心這樣的問題。所以,跟蹤調查軟體開發裡開發者之間引起誤解的來龍去脈是一件很有趣的事情。
因此,下面就圍繞對開發者和專案經理的採訪來**在開發專案裡導致誤解的普遍性原因所在。根據這些經驗豐富的it技術人員所說的,一起來學習並避免這樣的事情出現在自己的開發團隊裡。
和客戶端:交流沒有最多,只有更多。
文件和記錄
能夠說客戶的語言並理解客戶的意思其實是特別重要的,理解不一致難免會出現問題。比如:因為語言不一致,導致雙方的程式設計師在技術層面上無法完全理解使用說明規範。
有的時候客戶拒絕編寫任何文件也會引起開發者的誤解。因為我們的開發團隊要對產品的功能性進行多個測試、評估,還要不斷地多次重寫功能**,團隊裡每個人對產品功能都有自己的見解,因此,花費在迷茫上的時間不在少數。其次,沒有功能說明書的前提下測試人員也很束手無策,根本不了解這些功能是怎樣執行的,也沒有文件可參考。這些都難免會引起誤解。
另乙個產生誤解的源頭是資訊不完全。例如:客戶和開發團隊的成員交流產品細節,客戶希望開發人員將資料分類,而不是在skype上進行群組交流。有經驗的人都會知道,客戶在和開發者之間的誤解肯定會涉及到工作完成的標準與否。這也就是為什麼有人覺得定價的服務專案對雙方都不利。因為它是不可能將所有可能的產品描述寫入產品驗證的。對於這類問題,解決辦法總是有的。
信任、開放的態度
當客戶不信任開發團隊的時候,採取閉門會議、給出一小部分資訊的話,那障礙就會出現,最終的結果只能是重寫**,重設架構。在乙個團隊裡,如果沒有信心,即使是正常的開放式交流也對高效率和創新性毫無裨益。沒有乙個團隊會把於己無關的專案放在心上。有的時候,客戶只給出模糊不清的需求,任何人都可以想象得到,開發團隊為了獲得更詳細的資訊多多少少都會和客戶產生一點小分歧乃至是小衝突,直至造成更大的誤解。
目標清晰、詳細闡述
當交流程序失敗了,只能面對下面的情形:
個人認為,誤解的出現主要是對問題沒有做充分的討論,懶惰、時間緊、外語障礙都是阻止尋求建議的主要因素。所以,解決誤解的關鍵就是不管什麼事都要和你的團隊、專案經理、客戶進行討論。
及時反饋資訊
不同的加班理念
也許客戶和開發團隊在加班這件事上會存在理念上的不同,客戶需要開發團隊在沒有真正必要性的事情上加班,例如:
對於加班這樣的誤解,最簡單實效的辦法就是雙方之間做出真誠的協商,給對方吃一顆定心丸:絕不會延緩程序、影響產品質量。
小結
交流,交流,再交流,而且是雙向交流!客戶盡可能多的列舉細節,開發團隊得到的完整而清晰的資訊有助於更好的理解專案的目標,對專案的圓滿完成不無益處。通常情況下,為開發團隊提供全面的反饋資訊,也不濫用不必要的加班時間,有利於雙方創造乙個和睦的工作氛圍。
團隊vs.專案經理
在有的開發團隊裡專案經理根本不會就客戶的需求去和團隊進行有效的溝通。例如,有可能會出現這樣的情形:專案經理在和客戶主導乙個討論會議,而團隊裡的主要人員卻在蠻幹,這就是為什麼資訊最終不能被團隊全面接收的原因。
首先呢,交流誤解出現在專案經理和他的團隊之間,這的確是乙個讓人失望的案例,因為專案的日程安排、截止日期、和客戶的資訊傳遞都是由專案經理定義的,目前這樣的問題帶有個人原因,所以解決方法就是專案經理需要更多的自我反思,尋求出路。
小結
努力遵循敏捷開發的方法,千萬不要忽略常識和人性特點。
開發者vs.測試員
世上沒有相同的兩個東西,所以出現在開發團隊和測試團隊之間的誤解,大部分是原因是需求過於模糊。為了克服這樣的難點,建議兩個團隊需要加強更加緊密的協作:
通常情況下,在開發專案裡任何形式的誤解都是乙個**煩。它可能是缺乏良好的管理、缺乏團隊建設、失效的軟體開發方法、未定義標準等等。每個交流誤解案例都應該仔細分析,並單獨處理。
小結
在開發者和測試者之間的誤解代價是最高的,所以避免這樣的誤解需要雙方之間透明工作細節以及有規律的重新整理文件,或者是雙方之間更親密、永久性的交流溝通。尤其是在專案計畫的後期。除此之外,開發團隊必須清晰地意識到qa環節的重要性,還要考慮到和測試者是乙個整體團隊,對產品負有共同的責任。
溝通工具:語音聊天工具(skype)vs. e-mail
考慮到敏捷開發方法裡所追求的速度與效率,e-mail的特點是有較高的延遲性,所以不可取。所以對於集思廣益的討論需要向skype或其他的多**工具。但是,我建議專案經理能夠鼓勵開發者多寫郵件,這樣可以鍛鍊他們用乙個乾淨和簡潔的方式表達自己的想法,所以很多事情通過他們的郵件就可以解決了。不過在開始skype會議之前最好是通過e-mail將要討論的話題發給大家,包括客戶。
毫無疑問skype能夠確保即時溝通緊急情況/議題,而e-mail是儲存歷史記錄的最好工具。這兩個溝通工具各有利弊,只需要遵循合理的使用,減少團隊誤解機率是毋庸置疑的。
總結
在軟體開發專案裡,對於交流標準需要強調五條規則:
作為一名工作經驗豐富的管理者,希望以上的內容對it工作者有用。 (編譯/薛梁 校審/付江)
如何在開發中除錯推送是否可用
在開發當中,推送訊息如果在開發中需要提供,測試推送訊息的可用性,對於開發以及問題定位是至關重要的,我們由於推送本身是乙個向蘋果伺服器傳送乙個訊息,所以我們可以模擬一下,利用我們的mac電腦向蘋果伺服器傳送一條訊息。使用的要求如下 客戶端接收程式 testabc,id必須是不帶萬用字元的id,如 co...
如何在WEB開發中實現會話跟蹤
會話跟蹤是一種靈活 輕便的機制,它使web上的狀態程式設計變為可能。cookie 結合session使用 可以使用 cookie 儲存購物會話的 id 在後續連線中,取出當前的會話 id,並使用這個 id 從伺服器上的查詢表 lookup table 中提取出會話的相關資訊。以這種方式使用 cook...
如何在eclipse中配置進行C語言開發。
引言 windows下c的開發工具很多,比如codeblocks,dev c vc6等。codeblocks需要依賴編譯器mingw。dev c 沒有自動提示,使用起來不方便。下面介紹一下eclipse中使用cdt進行c語言開發,畢竟很多快捷鍵是可以重用,而且也不用改變開發介面風格。配置步驟 2.安...