5.1 一點歷史
90年代的互聯網革命剛剛開始時,沒有人知道怎麼正確地開發網絡服務。所有功能一上線就直接給用戶看到,這跟傳統的軟體開發可不一樣。
當時最大的搜索引擎公司Yahoo,決定走一條新的路子,學好萊塢的方法——他們的經理被稱為製片人:) 不奇怪他們最後一事無成。
這很有趣。Yahoo算是在收購其他公司上最失敗的之一。當年他們有幾次機會買下Google和Facebook。最後,微軟嘗試用400億收購他們,但他們還是拒絕了。幾年後,他們只賣了30億。90年代正值高峰期時,Yahoo市值高達2000億美元,如果他們當年買下Google,今天市值可能達到數萬億。別像Yahoo一樣。
自從互聯網革命以來,各種軟體開發方法被測試了很多,現在情況穩定了下來。有標準的角色和責任,標準的流程和軟體。
在學習過程中 你將學到所有你需要知道的,以便在現代IT公司中工作,使用現代的開發工具。
5.2 產品團隊
典型的開發團隊由以下人士組成:
- 決定 產品應具備哪些功能和特色 的人
- Product Owner
- Business Analyst
- 決定 產品會是什麼樣子 的人
- UI Designer
- UX Designer
- 開發者, 將一切付諸實現
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- 負責 確保產品運行良好 的人
- QA Automation
- DevOps

Product Owner 在軟體開發中扮演關鍵角色,管理產品並確保開發團隊集中精力完成最重要的任務。他負責定義產品願景,編寫和優先排列任務清單(backlog),以保證每個開發階段最大限度地符合業務目標和用戶需求。
UX Designer 專注於創建便捷高效的產品界面,這包括研究用戶需求,開發原型並進行界面測試。這項工作旨在改善用戶與產品的互動,使其盡可能地易於理解和使用。
DevOps 專家致力於優化軟體開發及其運營管理流程,以加快和簡化產品更新的發布。他們的工作包括測試自動化、系統的部署和監控,以及基礎設施的配置,確保持續集成和交付(CI/CD)。
5.3 開發團隊
真正的開發是由程式員進行的。他們大致可以分為五個類別:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- DBA
角色和職責可能會根據團隊規模和產品特性而改變,但情況大致如下:
Software Architect: 負責設計複雜的軟體系統架構。Architect開發技術基礎設施,定義不同軟體組件的結構和交互方式,以確保其擴展性、性能和安全性。
Backend Developer: 專注於應用程序的伺服器端開發。Backend Developer的任務包括實現邏輯,整合數據庫和數據管理系統,處理用戶請求並維持與前端部分的交互。
Frontend Developer: 開發Web應用程序的用戶界面。這個角色需要掌握HTML, CSS和JavaScript,還有框架和庫來創建互動性強且響應迅速的界面,確保用戶與產品良好互動。
Mobile Developer: 專注於移動設備的應用開發。Mobile Developer為不同操作系統(如iOS和Android)創建應用程序,考慮到平台特性,設備性能和用戶體驗。
DBA (Database Administrator): 負責管理數據庫,確保其可用性、安全性和優化。DBA執行數據庫的配置、監控和維護,以及開發備份和數據恢復策略。
GO TO FULL VERSION