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