現在的設計工作、軟體工程已經變得非常的複雜,單人在這種任務面前已經變得無法勝任了。但是團隊工作在解決這種大型工程的時候,又有一些什麼樣的問題呢?
1.維持乙個軟體工程的核心概念統一問題
當任務從單人轉向多人,從核心逐漸分解到外圍的時候,我們無法保證每個團隊裡面的人都知道他負責這一塊工作到底是幹什麼的。這個時候,我們必須在整個團隊的關鍵節點上的負責人知道這個節點往下的工作內容什麼樣的,允許的和不允許的,資源狀況等等。最重要的是有乙個核心的人員知道整個軟體工程是用來做什麼的,並且開啟整個軟體工程的風格習慣等等。如果缺少這麼乙個核心人員,整個軟體工程會在多方的扯皮中承受**性的需求擴張,最終離工程的目標越來越遠。
2.團隊工作的成本是要比單人的成本要高的問題
當把一項複雜的任務分配給乙個團隊進行工作的時候,整個任務的總時間要比分配給個人的時間要長。原因是任務分解需要花費時間,然後將每一項任務分配出去的時候需要講解和核實任務接收人是否明白任務內容,接下來是任務的驗收和整合測試。這些時間是團隊工作中存在的,需要管理上進行控制。用技術觀點來描述這種情況是,單人任務是單程序;團隊任務是多執行緒,團隊任務雖然可以提高資源利用率,縮短計算時間,但是需要面臨執行緒上同步、互斥等問題。為了解決團隊工作問題,也需要像多執行緒的機制一樣,每一次對競爭資源的申請和占有必須遵循明確的執行緒競爭規則。
3.如何保證團隊工作的完整性
在設計方面需要有一名主設計師,主設計師負責維護整個工程的一致性和完整性,他手下的設計師團隊需要幫助他在各種分支上完成設計工作。例如一些非常經典的產品,賈伯斯的蘋果手機。然後整個軟體工程的核心才會一直擴充套件到外圍功能的設計,然後打包分解,最終實施。想一想開發人員、管理人員的角色,放置到真個軟體工程的體系中,你會明白現在做的工作處於什麼位置,離整個工程的核心有多遠。
4.協作在什麼時候更有效
通常說人多力量大,但是很少有人去思考可以保證力量更大的環境和條件是什麼樣的。當對於乙個模糊的目標進行設計或者是開闢出新的可行性方案的時候,協作要比個人有效地多。因為每個人切入設計問題的方面是不一樣的,最終產生的方案也可能是不一樣的。越多的問題和方案會不斷對模糊目標描述,逐步清晰。在軟體工程中,對軟體工程的目標、設計方案一般採取協作方式,這種方式要比單人更加的有效。因為這種目標的不確定性,有可能會導致事實上兩個完全不同的工程最終走向同質化競爭的道路,直到某種強力的終止條件出現。在審計評審上,引入協作,引入更多的專業人士,可以幫助解決設計中一些問題。這些問題一般是因為社會化大分工導致各個專業領域逐漸隔閡,很少有機會可以了解另乙個領域出現的問題。這些跨領域的問題有助於推動設計方案在可行性道路上走的更遠。
5.不可以採用協助這種方式的場景有哪些
整個工程在維持其一致性和完整性的時候是不可以採用協作的。例如賈伯斯在明確智慧型手機這個工程的完整性的時候。
6.兩人結隊是種非常奇特的組合
前提是兩個人可以相互配合,達到默契。在崗位人員流動速度非常快的時候,這個通常都是問題。
7.請多多注意細節,遠離學院派
因為學院派接觸到的理論是足夠的多,但是在面對具體問題的時候,卻容易忽視真實環境的約束條件。大學的教程裡面給出的情況通常是理想狀態,化簡掉了外部的約束條件。真實的是教程裡的東西很少有不需要改動就可以使用的情況,例如瀑布模型,我肯定不會告訴你,公司裡的某些文件是後來做完**之後補上去的。
xiaopiu產品原型設計與團隊實時協作平台
prd文件創作 全新的文件創作模式,讓互動原型與產品文件完美結合 四大專業模板,滿足多場景使用,快速輸出專業規範的文件 prd文件搜尋 更專業 更精準的prd文件垂直搜尋服務,包含功能流程 協議條款 互動規範等常用內容 海量雲端資源,即拿即用 1.數百套精品原型 數千個典型頁面 數百個常用元件,一鍵...
如何看待個體性與團隊協作
在團隊精神日益重要的今天,竟然還有不少人主張強調個體能力,這一點讓我感到難以理解。尤其是當持有這種觀點者在乙個公司內部居於比較重要的位置時,很難想像他 她 可以將軟體的研發做好。個體性或者個人英雄主義的極端可能就是團隊一盤散沙 產品不能保質保量交付。在專案管理過程中,如何充分發揮每個個體的積極性,如...
git團隊協作流程
開發者 開始工作前 git checkout master git pull git checkout b branchname 工作中 git add git commit m message 工作完畢 git push 管理者 自己寫 開始工作前 git checkout b branchnam...