2008-09-22 62 views
4

軟件開發社區總是樂於接受新想法來改進我們開發軟件的方式,在我看來,我們的創新比其他工程學科或專業更具創新性。您從軟件開發中應用了哪些其他專業的創意?

但是,如果我們這個相對年輕的行業不能從已建立的專業學習,這似乎是不幸的。除了軟件開發之外,我們可以從中受益的人們必須有一些偉大的想法。

您能否描述其他行業所使用的任何想法,技術或流程,您是否已成功(或不是)應用於您的軟件開發?

回答

2

Eliyahu Goldratt有一本名爲「目標」的書,它是關於優化工廠的一本小說化的商業書籍。關於如何確定現實(或者至少質疑自己的概念)以及在總體可伸縮性問題時非常有用的瓶頸問題上有很多很好的討論。

2

心理學​​是其中之一。它不僅僅是激勵自己和你的隊友,而是通過技術來了解顧客真正想要的是什麼,而不是他所要求的。可用性對於面向人的因素的軟件開發至關重要。

軟件可能是一個技術專業,但開發應用程序是一個人。

0

任何類型的建築活動 - 我總是驚歎於巨大的建築(橋樑和建築物)而不是偉大的軟件。因爲你在測試中總是有更多的機會(單元,壓力,用戶接受度和地獄質量檢查),但想象一下,你可以做多少關於一個偉大的結構 物理和數學的良好背景肯定會提高你的編程技巧

4

精益發展是一個明顯的選擇,取自Toyota的製造業主,以打擊美國可能行業的規模經濟。它很適合靈活的軟件工程框架

+0

之間繪製了很好的相似之處我認爲精益製造正是Scrum所基於的,只適用於軟件開發。 – Geoff 2008-09-23 05:22:25

4

這可能是一個延伸,但在玩乒乓球時,我瞭解到,在獲得一些基本技能之後,你的大部分錯誤都來自於嘗試比你更好的表現 - 去對於你真的沒有能力製造的抨擊。玩一款保守的遊戲比較安全,讓其他玩家過度遊戲。

在編碼時,我儘量不要比我更聰明。 (由人來運行架構設計有助於此)。實現複雜的數據結構來管理髒讀和緩存過期很快就被擊落了,因爲該功能是針對一部分用戶的,並且不值得內存或開發人員資源。

我相信弗雷德布魯克斯會稱這是二系綜合症。

2

就我個人而言,我發現數學和科學背景在進行故障排除和調試時非常方便。運用科學的方法,強化自己的智力嚴謹性,保持健康的懷疑態度,並始終回到問題上「這個理論是否真正解釋了最佳觀察證據?」有助於追查根本原因,而不是被虛假的線索追蹤。

0

在一種模糊的意義上,建築教會我思考效率。當你在工地上包裝你的工作包時,牽引木材,拖動電源線穿過雜亂的未完成的房間和走廊,並且一般會把一大堆木材和膠合板摔成一幢房子,你很快就會知道你的每一招make必須做一些有用的事情。當你身後有一位小企業老闆的老闆時,尤其如此,他大吼大叫,每次你從a點到b點走路時,他都會失去錢,而沒有帶上任何東西。

在編程中,它通常可以是相同的。儘管如此,不是爲了節省時間,而是爲了節省時間。這採用易於維護和可重用的代碼形式。每當你做一個新的功能去做一些類似於另一個功能的痛苦的東西,或者你創建一個新的類可以很容易地從一個更通用的東西繼承,但幾乎相同時,你會搶奪時間和金錢,就好像一個framer需要來回6次旅行來完成他或者(很少)她在一次旅行中可以完成的事情。在這兩種情況下,回報是一個愚蠢的工作的時間較少,而且一個更富有的更富有的老闆。

0

我花了14年時間進行工業工程類型效率研究。這教會了我如何訪問人們獲取信息,尤其是當他們不合作時,以及如何從訪談以外的渠道獲取信息(在收集需求時非常有用)以及如何進行分析性思考,尤其是如何真正理解商業數據透視和用戶視角。這在設計數據庫時特別有用。當你不得不從我設計的數據庫中提取數據時,我不得不使用這些數據庫,因爲你知道什麼是有效的,什麼不可行。與普通程序員不同,我使用了數千個不同數據庫中的數據。

0

設計模式最初是由建築師(即設計實際建築物的人,而不是軟件架構師)使用的。

1

老木工說「措施兩次,削減一次」一直適用於我所從事的開發項目。它支付股息,力爭第一次把事情做好。

0

有太多的數量和它們以各種方式相關,使問題有點修辭,因爲編程本質上是邏輯和數學的混合物,旨在與任何其他領域進行交互,以提供解決方案/自動化任務真實的生活情況。但是爲了提供這個,你必須實現這個領域邏輯的一個很好的部分才能做出有用的事情。

所以軟件開發不是目的,它可能是一個解決方案,或者每個問題的解決方案都意味着來自域本身的概念。

我不知道我的答案是否涵蓋了這個問題,因爲它有點過於籠統,因爲我看到它。

2

我幾乎最終在中學教授ICT。我學到了很多東西:

  • 即使老師仍然是學生 - 仍然在學習。
  • 最好的老師也都是最好的學生
  • 你可以從你身邊學到很多東西,無論他們的技能水平
  • 準備往往是成功的關鍵
  • 假設是所有的母親f ** k-ups
  • 技術變化太快,無法跟上所有最新發展 - 承認你不知道所有的事情。
1

作爲一名顧問,我已經學會了微笑,給有求必應......

我不能在好公司從事何種職業,我模仿這種行爲提起的用戶。

1

KISS(ķ EEP 小號 imple,小號 tupid)原則也適用於這裏就像它在我的機械工程研究一樣。至於編碼方面,很可能會花費更多的時間,開發者和其他人閱讀的代碼比寫的它。因此,對於給定的問題,儘可能簡單的設計會有很大的幫助。這個領域的過度工程甚至會讓原始的開發者在路上三六個月的時候撓撓頭,他說:「爲什麼我會這樣做?」

只要我0.02美元。

0

戴爾的製造工廠的視頻激發了隊列的分佈式內容聚合系統的體系結構。隊列中的消息表示工作項目,工作表,任務,零件等從工作站傳遞到工作站。

每個工作站代表了一個特定的工作刻板印象,每個工作站在將消息轉發迴路由進行後續調度之前更新了工作表。

系統在第一次發佈處理7年後仍處於生產狀態,每小時處理大約3萬個工作。

這是第一次看到系統「呼吸」的激動人心的時刻。

0

好奇心和堅韌。

1

雖然不完全是一種職業,但我認爲我們也需要從創意類型中吸取經驗。例如,作家通常會將自己鎖定在一段時間內不間斷寫入。 Paul Graham在Hackers and Painters

相關問題