??作者 | Thomas Stringer
譯者 | 彎月
出品 | CSDN(ID:CSDNnews)
不同的軟件開發(fā)團(tuán)隊做事的風(fēng)格也完全不同。即使在同一家公司內(nèi),許多可變因素也會導(dǎo)致團(tuán)隊之間出現(xiàn)分歧。作為一名軟件工程師,每當(dāng)與新同事合作或開發(fā)新軟件時,通常都會覺得非常興奮。但在加入新的開發(fā)團(tuán)隊時,我們需要思考一系列的問題。
技術(shù)層面
1. 如何在本地構(gòu)建軟件?
這是你應(yīng)該了解的第一件事。畢竟,你的工作是開發(fā)和運(yùn)行軟件,構(gòu)建是第一步!
2. 如何在本地測試軟件?
雖然我們可以通過 CI 流水線發(fā)現(xiàn)測試錯誤,但是為了縮短內(nèi)部開發(fā)循環(huán)周期,你必須能夠在開發(fā)的機(jī)器上運(yùn)行測試,確保你能夠正確地運(yùn)行測試,同時還需要執(zhí)行回歸測試。CI 流水線不應(yīng)該成為檢驗(yàn)代碼錯誤的第一道關(guān)卡。
3. 如何設(shè)置開發(fā)環(huán)境?
也許團(tuán)隊文檔中有明確的要求,但你應(yīng)該了解需要在開發(fā)機(jī)器上安裝哪些不同的工具,才能讓你成為一名高效的團(tuán)隊成員。一次性解決95%的要求,總好過在開發(fā)的過程中不斷遇到錯誤和依賴項。
4. 源代碼在哪里?
除了還沒有編寫任何代碼的新產(chǎn)品以外,通常項目都有代碼庫。你需要知道代碼保存在何處,以及如何在本地機(jī)器上獲取代碼。
5. CI/CD 流水線在哪里,工作方式是什么?
對于一個可確保交付高質(zhì)量產(chǎn)品的團(tuán)隊來說,CI/CD 流水線是最常用的工具之一。你需要找出CI/CD流水線在哪里,并大致了解它的工作方式(可能只需要到處點(diǎn)一點(diǎn)試試看)。查看一下最近的運(yùn)行狀況,了解都有哪些步驟。
6. 產(chǎn)品的待開發(fā)項在哪里?
你不僅需要知道軟件當(dāng)前的狀況,而且還需要了解軟件未來的樣子。快速瀏覽待開發(fā)項,看看產(chǎn)品需要優(yōu)先推出的功能。
7. 如何在預(yù)生產(chǎn)以及生產(chǎn)環(huán)境中運(yùn)行測試?
有集成環(huán)境嗎?團(tuán)隊是否采用了金絲雀構(gòu)建與部署?團(tuán)隊是否采用了混亂測試?了解團(tuán)隊如何確保生產(chǎn)軟件符合并保持特定的標(biāo)準(zhǔn)。
8. 是否需要隨時待命?
這個軟件是否需要隨時待命?如果需要的話,輪班機(jī)制是什么?正常辦公時間以外是否也需要隨時待命?在待命期間,如何獲取通知?通常如果不是遇到新組建的隊伍,并被直接安排上值班任務(wù)的話,在熟悉這方面的流程之前,你不會接到緊急電話。
9. 內(nèi)部文檔在哪里?
團(tuán)隊維護(hù)的內(nèi)部文檔在哪里?這些文檔都是如何劃分的?是最新的嗎?
合作
10. 團(tuán)隊中都有誰?負(fù)責(zé)哪方面的工作?
通常軟件團(tuán)隊都有幾位工程師。有的時候,每個工程師負(fù)責(zé)的工作都不一樣,但這種情況并不常見。一般都由一個或幾個工程師共同完成一個子項目。因此,你需要了解團(tuán)隊中每位程序員負(fù)責(zé)的工作。通常,你可以通過早晨的例會了解他們的工作內(nèi)容。
11. 團(tuán)隊每周都有哪些例行會議?
每天早上都有例會嗎?還是每周一次例行會議?你應(yīng)該了解一下團(tuán)隊每周的例行會議。
12. 遇到“新手”問題,我應(yīng)該找誰?
通常在剛加入一個團(tuán)隊的時候,都會給你分配一個“指導(dǎo)伙伴”,這個人已經(jīng)在團(tuán)隊待了一段時間,了解團(tuán)隊的運(yùn)作狀況。這是一件非常重要的事情,尤其是你對新軟件一無所知(或幾乎一無所知)的時候,你的問題可以非常低級。即使你是高級工程師,在遇到“新手”問題時,也不要覺得不好意思。
13. 新功能的決定權(quán)在誰手里?
產(chǎn)品有產(chǎn)品經(jīng)理嗎?工程團(tuán)隊有架構(gòu)師嗎?我們應(yīng)該了解功能請求的上游想法。如果能夠跟這個人(產(chǎn)品經(jīng)理)約個時間,了解一下產(chǎn)品近期與長期的發(fā)展計劃就更好了。
14. 團(tuán)隊的主要溝通方式是什么?
他們使用 Slack ?還是Teams?或者通過電子郵件溝通?工程師通常會花費(fèi)大量時間探討問題和進(jìn)行其他類型的討論。當(dāng)然,作為團(tuán)隊的新成員,你也希望加入這些溝通渠道。
外部因素
15. 如何獲得客戶的反饋?
我們的軟件是 GitHub 上的開源軟件嗎?我們獲取反饋的方式通過GitHub的議題嗎?還是說由銷售團(tuán)隊為產(chǎn)品團(tuán)隊獲取客戶的反饋?是否還有支持團(tuán)隊可以收集客戶經(jīng)常遇到的問題?換句話說,我們必須了解獲取客戶反饋的方式:無論是通過其他平臺、個人還是團(tuán)隊。畢竟,我們是在為客戶編寫軟件。
16. 客戶的支持協(xié)議有哪些?
是否有我們必須遵守的 SLA?我們必須支持哪些協(xié)議?
17. 公開/客戶文檔在哪里?
這一點(diǎn)很重要。如今無論軟件本身有多么好,我們都需要確保客戶文檔的準(zhǔn)確性與及時性。這些文檔在哪里?如何保持文件及時更新?是誰的責(zé)任?(希望答案是“每個人”)。
產(chǎn)品
18. 軟件有哪些高層面的痛點(diǎn)?
我們必須知道軟件和團(tuán)隊是否面臨一些重大問題。是否有一些因架構(gòu)引發(fā)的問題?是否存在安全漏洞?是否有一些常見的客戶問題反復(fù)出現(xiàn)并需要解決?
19. 利益相關(guān)者關(guān)注的焦點(diǎn)是什么?
是否存在某個核心人物或其他團(tuán)隊希望看到的功能?這些利益相關(guān)者往往會對軟件的短期和長期路線圖產(chǎn)生重大影響。了解他們關(guān)注的焦點(diǎn)就可以讓你看清接下來的發(fā)展方向。
20. 軟件的發(fā)布周期是什么?
我們必須了解軟件的發(fā)布頻率以及時間。團(tuán)隊是否實(shí)施連續(xù)部署,每天都部署多次?還是說一年只有兩次發(fā)布?了解軟件的發(fā)布日程可以讓你更好地掌握軟件的開發(fā)節(jié)奏。
總結(jié)
對于大多數(shù)軟件工程師來說,加入一個新團(tuán)隊與接觸一項新技術(shù)是一個激動人心的時刻!我們需要利用這段時間抓緊學(xué)習(xí)。希望本文的這些問題能夠幫助你快速地融入新團(tuán)隊!
原文鏈接:https://trstringer.com/20-questions-for-new-software-team/
責(zé)任編輯:haq
-
開發(fā)
+關(guān)注
關(guān)注
0文章
366瀏覽量
40811 -
代碼
+關(guān)注
關(guān)注
30文章
4751瀏覽量
68359
原文標(biāo)題:程序員加入新團(tuán)隊必問的 20 道問題
文章出處:【微信號:sztonyu,微信公眾號:深圳東裕光大】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論