軟件開發重要性_在軟件開發中考慮時間的重要性

軟件開發重要性

by Crunch Tech

通過Crunch Tech

在軟件開發中考慮時間的重要性 (The importance of time to think in Software Development)

Modern Technology teams operate in a fast-paced environment. With a Technology team of only 35 people, we average over 50 releases per week. We are rightly proud of our software when compared to our competitors that are 3–4 times our size.

現代技術團隊在快節奏的環境中運作。 我們的技術團隊只有35人,因此每周平均發布50多個版本。 與我們的競爭對手相比,我們的軟件感到自豪,而我們的競爭對手的軟件規模是我們的3-4倍。

To achieve this, our roadmaps are jam-packed with Client feature requests and enhancements. These enable our front-of-house staff to continue providing a personal service, at scale.

為此,我們的路線圖擠滿了客戶功能要求和增強功能。 這些使我們的前臺員工能夠繼續提供大規模的個性化服務。

When faced with this expectation many technology teams choose to pause technical innovation. Continuing trialed-and-tested ways of working can be perceived as faster and lower risk. We found ourselves on this path. The irony of not having the time to keep up with advances in industry that almost always enable cheaper and quicker delivery wasn’t lost on us.

面對這種期望時,許多技術團隊選擇暫停技術創新。 不斷嘗試和測試的工作方式可以被認為是更快,更低的風險。 我們發現自己走這條路。 具有諷刺意味的是,沒有時間跟上行業發展的步伐(幾乎總能實現更便宜,更快捷的交付)對我們來說并沒有丟失。

我們對此的回答 (Our answer to this)

We introduced an ‘Innovation Day’. Every team member is encouraged to take one day of the (typically) two-week Sprint to focus on innovation and learning. On ‘Innovation Day’ they are not contributing to the sprint goal.

我們推出了“創新日”。 鼓勵每個團隊成員參加(通常)為期兩周的Sprint中的一天,以專注于創新和學習。 在“創新日”,他們沒有為沖刺目標做出貢獻。

This may involve investigating a new approach or tool that could benefit our development process, or building a proof-of-concept for a feature the business may not appreciate the latest technology has made possible.

這可能涉及研究可能有益于我們開發過程的新方法或工具,或者為企業可能不欣賞最新技術所帶來的功能建立概念驗證。

To date, some example output from Innovation Days includes a mobile app, a Client facing ChatBot, significantly improved development efficiency, and an internal ChatOps tool.

迄今為止,Innovation Days的一些示例輸出包括一個移動應用程序,一個面向ChatBot的客戶端,顯著提高的開發效率以及一個內部ChatOps工具。

It’s worth noting that this time isn’t used to tackle Tech Debt. Our PO’s understanding, and being able to qualify the value in clearing Tech Debt allows it to be ranked in the backlog alongside all other work items, and brought into a sprint.

值得注意的是,這次并沒有用來解決技術債務。 我們的采購訂單的理解,以及有資格結算技術債務的價值,使它可以與所有其他工作項目一起排入待辦事項列表,并進入沖刺階段。

是否需要額外的治理? (Is extra governance required?)

Responsibility for governing ‘how’ and ‘when’ a team member takes their Innovation day is left to the Product Teams themselves. Considerations include: incident response, Scrum events, campaign launches, and delivery cadence. We don’t ‘police’ how the day is spent from outside the team but do encourage sharing the output in our fortnightly ‘Tech-Talks’ or by writing a ‘Tech-Blog’.

產品團隊自己負責管理團隊成員“如何”以及“何時”參加創新日的責任。 考慮因素包括:事件響應,Scrum事件,活動啟動和交付節奏。 我們不會“警告”團隊外部如何度過一天,而是鼓勵在每兩周的“技術對話”中或通過編寫“技術博客”來分享成果。

Some developers are happy to take their Innovation day in isolation. Others appreciate guidance from their peers or mentor.

一些開發人員很樂意將創新日孤立起來。 其他人則感謝同齡人或導師的指導。

Our most notable output has derived from team members investing their efforts in joint ventures. This has allowed team members to broaden their personal networks, and experience other team cultures and ways of working. It also allows team members to experience a role other than their own in a safe environment i.e. Developer as Scrum Master, Javascript Developer as Java Developer.

我們最引人注目的產出來自團隊成員在合資企業中的投入。 這使團隊成員可以擴大他們的個人網絡,并體驗其他團隊文化和工作方式。 它還允許團隊成員在安全的環境中體驗除自己以外的其他角色,例如,開發人員為Scrum Master,Javascript開發人員為Java開發人員。

對團隊的影響 (Impact on the team)

When initially discussing the concept with Stakeholders, it was clear there was some nervousness around diverting 10% of available effort away from the planned roadmap. However, we were confident that giving team members the freedom to innovate and find better ways of working would quickly restore any drop in velocity resulting from reducing the number of work-days in a sprint.

最初與利益相關者討論此概念時,很明顯有些緊張,無法將10%的可用精力從計劃的路線圖上挪開。 但是,我們有信心,使團隊成員能夠自由創新和找到更好的工作方式,可以Swift減少因沖刺減少工作日而導致的速度下降。

1 year on and this hypothesis seems to be correct. The impact this freedom has had on the team culture and motivation has been significant, and was something we hadn’t fully anticipated. Simply by offering the team more autonomy and the opportunity to work with the latest technology has been one of the most positive outcomes of this process.

1年后,這個假設似乎是正確的。 這種自由對團隊文化和動力的影響是巨大的,這是我們沒有完全預料到的。 僅通過為團隊提供更大的自治權和使用最新技術的機會,就一直是此過程中最積極的成果之一。

結論 (In conclusion)

The Innovation Day has allowed us to ‘look up’ on a more frequent basis and ensure we work smarter, not harder.

創新日使我們能夠更頻繁地“查找”并確保我們更聰明而不是更努力地工作。

To stakeholders, we’ve found ‘1 day in every 10’ is very palatable when compared to the alternative of having large but infrequent ‘Technical Innovation Projects’ on the roadmap halting delivery for months.

對利益相關者而言,與路線圖上有大型但不頻繁的“技術創新項目”而將交付中斷數月之久的備選方案相比,我們發現“十分之一日”非常可口。

If your situation is similar to ours, then do consider adopting this initiative. We’d love to hear about your experience or alternative approach. Other areas of our business such as Client Services are becoming increasingly savvy towards the benefits that Agile principles bring. We’re excited to see what innovation can be brought to their area too.

如果您的情況與我們的情況相似,那么請考慮采用此計劃。 我們希望知道您的經歷或替代方法。 客戶服務等我們業務的其他領域對敏捷原則帶來的好處越來越精明。 我們很高興看到也可以在他們的領域帶來什么創新。

Team feedback

團隊反饋

“Having regular periods where I can focus on new technology & strengthen specific areas has been invaluable. I find it better than going on the odd course as I can go at my own pace and focus exactly on what I feel is most needed.”?—?Mark, Front-end developer.

“定期安排我可以專注于新技術并加強特定領域的工作非常寶貴。 我發現這比選擇單調的方式更好,因為我可以按照自己的步調,完全專注于我認為最需要的東西。” Mark,前端開發人員。

“I love what our technical team has achieved and this is yet another advancement on top of ‘continuous deployment’ with a staggering level of releases. Crunch has always been an entrepreneurial environment where the team contributes their ideas, and the Innovation Day is that perfect freedom to deliver the ultimate ideas — whether they be big or small. The team always knows best”. — Darren, Founder CEO.

“我喜歡我們的技術團隊所取得的成就,這是在'持續部署'之上的又一個進步,發布的版本令人震驚。 緊縮始終是一個企業環境,團隊可以在其中貢獻自己的想法,而創新日則是提供終極想法(無論大小)的完美自由。 團隊總是最了解”。 達倫(Darren),創始人兼首席執行官。

Written by Jamie Hollis — Developer, turned Scrum Master, turned Development Manager.

杰米·霍利斯(Jamie Hollis)撰寫-開發人員,后來成為Scrum Master,后來變成了開發經理。

Find out more about the Technology team at Crunch and our current opportunities here.

此處了解有關Crunch技術團隊的更多信息以及我們當前的機會。

翻譯自: https://www.freecodecamp.org/news/the-importance-of-time-to-think-f2ae19667937/

軟件開發重要性

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393824.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393824.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393824.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自動登錄360,百度

方便登錄,寫的小工具 1 import win.ui;2 import web.ui;3 /*DSG{{*/4 var winform ..win.form(text"AAuto Form";right599;bottom399)5 winform.add(6 button{cls"button";text"百度";left41;top25;right163;bottom59;z1};7 button2…

arm linux 開機電路_【技術角度看問題之一】ARM到底是個啥?

【小宅按】近期公司推出來基于ARM芯片的服務器,本文就一些基本概念,比如ARM, ARM64, ARMv8, ARM7,ARMv7, 64位等讓人費解的概念進行了粗淺地分析,涉及的關鍵字已用粗體標出。文中觀點僅僅是一家之言,拙劣之…

leetcode77. 組合(回溯)

給定兩個整數 n 和 k&#xff0c;返回 1 … n 中所有可能的 k 個數的組合。 示例: 輸入: n 4, k 2 輸出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 代碼 class Solution {List<List<Integer>> cListnew ArrayList<>();public List<List<I…

linux系統配置腳本,Linux系統配置腳本開機自啟

在日常使用過程中&#xff0c;當有時候需要運行開機自啟腳本&#xff0c;同時想看到輸出結果的時候&#xff0c;不免就需要將系統配置為免密登錄模式&#xff0c;本文主要介紹再init3模式(多用戶命令行界面)&#xff0c;運行開機自啟腳本及輸出腳本指令運行數據結果。本文使用的…

WPF多線程UI更新

前言 在WPF中&#xff0c;在使用多線程在后臺進行計算限制的異步操作的時候&#xff0c;如果在后臺線程中對UI進行了修改&#xff0c;則會出現一個錯誤&#xff1a;&#xff08;調用線程無法訪問此對象&#xff0c;因為另一個線程擁有該對象。&#xff09;這是很常見的一個錯誤…

iOS------App之間傳遞數據的幾種方式

UIDocumentInteractionController UIActivityViewController Shared Keychain Access Custom URL Scheme Web Service iCloud API UIPasteboard 參考 http://enharmonichq.com/sharing-data-locally-between-ios-apps/http://stackoverflow.com/questions/9425706/share-data-b…

了解如何使用Vue.js CLI

Interested in learning Vue.js? Get my ebook at vuehandbook.com有興趣學習Vue.js嗎&#xff1f; 在vuehandbook.com上獲取我的電子書 One of them is the Vue Command Line Interface (CLI).其中之一是Vue命令行界面(CLI)。 Note: There is a huge rework of the CLI goin…

rabbitmq學習——隊列

public class Send { public static final String routingKey "wuqidi_task_durable"; /*工作隊列 也叫任務隊列 目的是將任務發送到隊列中 由工作者進行處理 在后臺的多個工作者中 任務是共享的*/ public static void main(String[] args) throws Exception{ Conne…

python 戰艦_簡單Python戰艦

我最近開始學習python&#xff0c;并決定嘗試制作我的第一個項目。我正在嘗試做一個戰艦游戲&#xff0c;隨機放置兩個3塊長的船在一塊板上。但效果不太好。我為2號飛船做了一個臨時的循環&#xff0c;它應該檢查一下旁邊的兩個空間是否空閑&#xff0c;然后在那里建立自己的空…

leetcode面試題 08.12. 八皇后(回溯)

設計一種算法&#xff0c;打印 N 皇后在 N N 棋盤上的各種擺法&#xff0c;其中每個皇后都不同行、不同列&#xff0c;也不在對角線上。這里的“對角線”指的是所有的對角線&#xff0c;不只是平分整個棋盤的那兩條對角線。 注意&#xff1a;本題相對原題做了擴展 示例: 輸…

linux 進入redis 數據庫,Linux下Redis數據庫的安裝方法與自動啟動腳本分享

安裝Redis(1) 下載Rediswget http://redis.googlecode.com/files/redis-2.2.11.tar.gztar xzvf redis-2.2.11.tar.gz(2) 編譯并安裝Redismake && make install(3) 復制并修改配置文件cp redis.conf /etc/redis.confvi /etc/redis.conf注意修改以下幾項&#xff1a;daem…

Flutter 36: 圖解自定義 View 之 Canvas (三)

小菜繼續學習 Canvas 的相關方法&#xff1a; drawVertices 繪制頂點 小菜上次沒有整理 drawVertices 的繪制方法&#xff0c;這次補上&#xff1b;Vertice 即頂點&#xff0c;通過繪制多個頂點&#xff0c;在進行連線&#xff0c;多用于 3D 模型中&#xff1b; drawVertices 包…

sphinx 項目根目錄_如何使用Sphinx工具記錄Django項目

sphinx 項目根目錄I recently visited a company where I had a nice talk with one of its employees. We talked about technology and programming. Then we touched the subject of project documentation. Specifically how React does it automatically but Django doesn…

程序員必知之浮點數運算原理詳解

導讀&#xff1a;浮點數運算是一個非常有技術含量的話題&#xff0c;不太容易掌握。許多程序員都不清楚使用操作符比較float/double類型的話到底出現什么問題。 許多人使用float/double進行貨幣計算時經常會犯錯。這篇文章是這一系列中的精華&#xff0c;所有的軟件開發人員都應…

axure選中后橫線切換_3、開關狀態切換 —— Axure實用交互

寫在開頭:開關的制作在幾乎所有原型設計中都會用到&#xff0c;所以美觀自然的交互開關可以給你的原型設計加分不少。本次開關設計主要用到的是邏輯為&#xff1a;選中狀態的切換首先&#xff0c;來看一下演示動畫開始原型設計一、創建元件首先需要打開Axure軟件&#xff0c;并…

Django框架——模型(數據庫操作)

-- models.py-- ORM(object-relation mapping) 實現數據模型與數據庫的解耦&#xff1b;# 對象&#xff0c;關系&#xff0c;映射&#xff1b;1.根 據對象的類型生成表結構&#xff1b;2.將對象、列表的操作&#xff0c;轉換為sql語句&#xff1b;3.將sql查詢到的結果轉換為對象…

leetcode140. 單詞拆分 II(回溯+記憶化)

給定一個非空字符串 s 和一個包含非空單詞列表的字典 wordDict&#xff0c;在字符串中增加空格來構建一個句子&#xff0c;使得句子中所有的單詞都在詞典中。返回所有這些可能的句子。 說明&#xff1a; 分隔時可以重復使用字典中的單詞。 你可以假設字典中沒有重復的單詞。 …

#loj 3058 [HNOI2019] 白兔之舞

單位根反演思博題 模數是亂給的記得整個任意模數ntt k為p-1的約數意味著一定存在k次單位根&#xff0c;設g是p的原根則\(w_{k}^{1}g^{\frac{k-1}{p}}\) 既然k次單位根存在自然考慮單位根反演了 設\(f(i)\)表示跳了i步并且停在了第二維為y的頂點的方案數 設\(st\)表示初始向量而…

標桿徐2018 Linux自動化運維實戰,標桿徐2018 Linux自動化運維系列⑦: SaltStack自動化配置管理實戰...

結合企業自動化集群場景講解&#xff0c;輕松玩轉SaltStack自動化配置管理工具第1章 SaltStack基礎應用SaltStack安裝SaltStack認證Saltstack遠程執行SaltStack配置管理第2章 SaltStack數據系統SaltStack數據系統-Grains 客戶端向服務端發送狀態SaltStack數據系統-paiil 服務…

JS 對象引用問題

var a {n:1}; var b a; a {n:2}; a.x a ;console.log(a.x);console.log(b.x); var a {n:1}; var b a; a.x a {n:2}; console.log(a.x);console.log(b.x); 這兩個問題主要理解兩點就很簡單了。 對象是引用類型&#xff0c;改變賦值只是改變指針的引用。運算符相當于改變…