在Very,我們從一開始就是一個遠(yuǎn)程優(yōu)先的組織。隨著時間推移,我們已經(jīng)形成了一種遠(yuǎn)程文化,使我們能夠一起構(gòu)建軟件和硬件,而不會陷入消磨時間的陷阱。通過授權(quán)工程師、實施敏捷策略和定義明確的職責(zé),我們?yōu)檫h(yuǎn)程物聯(lián)網(wǎng)工程團隊的蓬勃發(fā)展掃清了道路。
領(lǐng)先于遠(yuǎn)程工作挑戰(zhàn)
隨著公司希望在競爭激烈的招聘市場中招聘到最優(yōu)秀的人才,對遠(yuǎn)程工作的需求繼續(xù)上升。并且,隨著混合工作模式的增加,遠(yuǎn)程工作已從奢侈品轉(zhuǎn)變?yōu)橐蕾図敿饧夹g(shù)人才的公司的必需品。
雖然遠(yuǎn)程工作人員是一個明顯的競爭優(yōu)勢,但也存在一些風(fēng)險,如失去可見性、責(zé)任感和清晰溝通等風(fēng)險。對于一個軟件團隊來說,克服這些挑戰(zhàn)本來已經(jīng)足夠困難,何況在一個號稱“硬件很難”的行業(yè)里。那么,如何與構(gòu)建連網(wǎng)設(shè)備的硬件團隊合作呢?在 Very,我們創(chuàng)建了一種遠(yuǎn)程文化來解決圍繞分布式工作的主要問題,這使我們在構(gòu)建分布式硬件團隊方面處于領(lǐng)先地位。
優(yōu)化分布式、敏捷物聯(lián)網(wǎng)硬件工程的三個關(guān)鍵流程策略
作為咨詢公司,時間是我們最寶貴的資源,而且對我們和我們的客戶來說,時間就是金錢。如果硬件工程師被耽誤,或者軟件團隊被硬件團隊耽誤,那么這對我們業(yè)務(wù)和客戶來說都是代價高昂的。這就是為什么我們的流程非常注重節(jié)省時間的原因所在。我們對這些流程的思考方式可以分為三類:授權(quán)工程師、敏捷流程和明確職責(zé)。
1. 授權(quán)工程師
賦予工程師權(quán)力使他們能夠在沒有第三方瓶頸或繁文縟節(jié)的情況下自行解決問題。
(1) 為所有工程師提供一個資源充足的家庭實驗室
如果工程師不得不從團隊成員那里借用工具,其中一些人可能遠(yuǎn)在 1000 公里之外,那么您將面臨不必要的延誤。為了避免這種情況出現(xiàn),我們讓工程團隊成員從置辦一個家庭實驗室開始,在其家里配備我們認(rèn)為能夠滿足物聯(lián)網(wǎng)工程開發(fā)的工具。
(2) 不要拖延小額支出
該領(lǐng)域另一個節(jié)省時間的方法是自動批準(zhǔn)購買工具、耗材和運輸?shù)男☆~費用。工程師花在等待一些新的專用硬件或補充常見用品上的時間可能會使團隊陷入癱瘓,因此每個硬件和固件工程師都有一張公司信用卡,如果他們需要的話,可以自由購買最高 200 美元的商品,以便為客戶進行交付。
(3) 簡化大宗采購
除了自動批準(zhǔn)小額費用外,硬件團隊還具有一份更昂貴設(shè)備的活動清單,他們可以根據(jù)需要在未經(jīng)批準(zhǔn)的情況下購買這些設(shè)備。對于確實需要臨時批準(zhǔn)的大型訂單,我們也有適當(dāng)?shù)牧鞒?,使我們能夠以最少的繁文縟節(jié)快速審查和批準(zhǔn)它們。
2. 敏捷流程
敏捷開發(fā)方法在軟件領(lǐng)域已經(jīng)存在了相當(dāng)長一段時間,但硬件工程領(lǐng)域并沒有很快采用它。盡管缺乏普遍性,但我們發(fā)現(xiàn)敏捷方法對于我們的物聯(lián)網(wǎng)工程團隊(包括硬件工程)來說是一個非常有用的開發(fā)流程。
(1) 更有效地利用時間
我們在 Very 使用敏捷開發(fā),因為它有效地優(yōu)先考慮了我們最寶貴的資源——時間。 對于 Very,敏捷開發(fā)最重要的原則是:
不斷為最終用戶提供價值。
在遷移到新功能之前,確保功能已準(zhǔn)備就緒。
盡早并經(jīng)常測試。
(2) 更快地構(gòu)建有用的組件
敏捷原則在我們硬件團隊構(gòu)建原型的方法中最為明顯。
如果遵循傳統(tǒng)的行業(yè)路徑,你將從一份完整的詳細(xì)產(chǎn)品需求清單開始,然后開始一個長期的“數(shù)字工程”,在那里,設(shè)計是在計算機輔助設(shè)計(CAD)工具中創(chuàng)建和完善的。這個階段可能要持續(xù)數(shù)月,并且通常會進行多次設(shè)計審查,在此期間,整個團隊和其他關(guān)鍵利益相關(guān)方坐在一個房間里審查設(shè)計文件。最后,在項目幾乎完成后,構(gòu)建并測試一個原型。這種方法(也稱為瀑布法)會導(dǎo)致較長的設(shè)計周期,并且在面對不斷變化的需求或原型中發(fā)現(xiàn)意外設(shè)計問題時很脆弱。
相反,我們將設(shè)計周期的重點放在構(gòu)建能夠提供用戶價值的原型上。這意味著我們不是從詳細(xì)的需求列表開始,而是從描述我們想要給用戶帶來的價值的列表開始。我們使用該列表來制定一個原型計劃,該原型將開始提供一些價值。我們快速完成周期中的“數(shù)字設(shè)計”部分,并構(gòu)建了一個初始原型,通常在項目開始后的一兩周內(nèi)完成。接下來,我們測試原型并開始計劃下一個。
這種快速、不斷的原型開發(fā)循環(huán)會一直持續(xù)下去,直到我們擁有一個能夠為用戶提供必要價值的設(shè)備,并且在現(xiàn)實世界中功能齊全并經(jīng)過測試。這是最小可行產(chǎn)品(MVP)。通過遵循這種方法,我們可以比傳統(tǒng)的瀑布開發(fā)更快地獲得MVP,并且風(fēng)險更小。
3. 明確職責(zé)
通過清晰地定義職責(zé),我們確保團隊成員知道他們的職責(zé)是什么,以及當(dāng)他們發(fā)現(xiàn)不屬于他們的工作時該去找誰。對于硬件團隊來說,這在集成工程師的角色中體現(xiàn)得最為明顯。Very的集成工程師有望跨越電氣工程和機械工程之間的界限,他們是將項目結(jié)合在一起的粘合劑。職責(zé)包括原型設(shè)計、提供設(shè)計反饋以及幫助指導(dǎo)項目走向生產(chǎn)。這使電氣和機械工程師能夠?qū)W⒂谠O(shè)計,并從原型制作過程中獲得有關(guān)其設(shè)計的高效、真實反饋。
為了讓團隊成員以最有效的方式工作,團隊在構(gòu)建測試計劃上進行協(xié)作,該計劃清楚地記錄了工程師在設(shè)置和測試原型時應(yīng)采取的步驟。這可以防止不必要地干擾他人的工作,以回答如何設(shè)置測試硬件的問題。此外,我們將敏捷計劃板上的所有工單分解為小塊工作,并將每項任務(wù)分配給責(zé)任方。明確的職責(zé)定義確保時間不會浪費在重復(fù)工作上。
持續(xù)改進
即使我們成功地采用了基于經(jīng)驗的方法,我們?nèi)匀粫l(fā)現(xiàn)需要改進的空間,并不斷完善我們的流程,為我們的團隊消除障礙。通過不斷改進遠(yuǎn)程工作方法,我們遠(yuǎn)程物聯(lián)網(wǎng)工程團隊提供的速度和價值震驚了客戶和同行。