原创 論編程哲學的重要性

一談哲學,好像和編程沒什麼關係。而且這種虛無縹緲的高大上抽象思維領域,怎麼和寫代碼這種更接近於邏輯和數學的操作關聯起來? 其實不盡然。 我們說,任何的編程語言和設計思想,都是作者對於現實世界的理解在軟件領域的投射。首先舉一個大家編程中最常

原创 用戶故事地圖學習筆記(三)開局,中局和終局

對產品故事進行首次討論,應聚焦於如何具象化產品的機會。需求其實很可能是一個假想,那麼唯一可行的做法是驗證想法是否具備可行性。驗證的方法很多,比如和客戶、用戶深入交談,觀察他們目前做事的行動,不斷和他們反饋,用手繪線框圖(Axure)和高保

原创 用戶故事地圖讀書筆記(一)兩個最重要的認識

兩個最重要的認識: 使用用戶故事的目的不是爲了寫出更好的用戶故事 產品開發的目的不是開發出產品。   使用用戶故事的目的是最終達成共識,而達成共識最高效的方式就是面對面,藉助於可視化手段來討論,並用卡片、照片或者視頻等做好備忘,以便於後續

原创 用戶故事地圖學習筆記(二):一組好問題

計劃,爲了更少的開發 故事地圖幫助大型組織建立共識。貫穿各個團隊的產品發佈地圖,可以幫助團隊以可視化的方式展示依賴關係。 大型用戶故事地圖解析:1、故事地圖的主幹在頂部;2、地圖要涵蓋整個發佈計劃;地圖要涵蓋貫穿多個用戶和系統的敘事主線。

原创 用戶故事地圖學習筆記(四):如何創建用戶故事地圖

如何創建用戶故事地圖 用戶任務是構建故事地圖的基本模塊 使用目標層級的概念,可以幫助彙總小任務或分解大任務。隱喻:石頭,砸成小石頭後仍是石頭 故事地圖通過從左到右的敘事流來組織。補充細節 探索替代故事。細節、替代、變化和異常都成故事地圖的

原创 演進式架構學習筆記(三):演進式數據及構建可演進的架構

第五章演進式數據 數據庫腳本管理策略:目前項目採用的策略是合適的,即保留每個產品版本的基礎全量腳本,同時添加從上一版本到目前最新版本的升級腳本。最新的全量版本包含了最新的升級腳本。這樣的好處是,如果是升級場景,在不遷移數據情況下,僅通過升

原创 演進式架構學習筆記(五):實踐演進式架構

第8章實踐演進式架構 一、組織 全功能團隊。敏捷軟件開發中的最佳實踐之一。這裏主要需要關注運維角色。 圍繞業務能力來組織團隊。 產品高於項目。產品生命週期長於項目。增加團隊成員責任感的最佳方式,就是負責到底。 應對外部變化。一個有效的方法

原创 演進式架構讀書筆記(四):陷阱與反模式

演進式架構的陷阱和反模式 反模式:供應商爲王。即以供應商提供的架構爲核心來組織自身業務,被供應商掌控全局。類似於20200517的HW事件,美國通過掐斷半導體晶圓片的供給(非禁止,要許可)。也就是說,如果你的商業帝國強烈依賴於第三方供應商

原创 演進式架構學習筆記(一):架構評估及適應度函數

適應度函數,本質上就是一組評估函數,用以評估架構在不同維度上的表現,並從全局角度進行平衡,從而實現增量和引導式演進。簡言之,其實就是能夠構建出一套架構監控機制。 適應度函數,並不一定全部採用自動化手段,甚至某些維度不可能採用自動化手段。評

原创 演進式架構學習筆記(二):架構量子及架構模式

架構中的耦合。首先需要看到,耦合是複雜系統必然的屬性之一,就像生物的細胞一樣,必須相互交換信息才能體現出正常的功能。但不合理的耦合卻是要極力避免的。我們常說高內聚低耦合。內聚是通過業務語義的關聯來組織的,那麼內聚帶來的,往往是模塊化(物理

原创 演進式架構學習筆記(六):未來已來

演進式架構的未來 基於AI的適應度函數。這個方向後續指的關注。如何能夠把AI和研發過程聯繫起來?是崇尚簡單粗暴管理,還是崇尚智能自動管理?目前有無可用開源工具或者平臺支撐? 生成式測試。需要繼續什麼瞭解。目前的基本理解,生成式測試不同於單

原创 UML中的類關係概述

UML中有以下類關係:依賴、泛化和關聯。按照關聯的不同含義,關聯可以分爲多種類型,這裏我們重點介紹普通關聯、聚合和組合。 一、依賴關係(Dependency) 依賴關係是一種使用關係,特定事物的改變有可能會影響到使用該事物的事

原创 電信行業軟件的十大特點

Bjarne Däcker. Concurrent functional programming for  telecommunications: A  case study of technology introduction. Nov

原创 Martin Fowler先生關於持續集成的一篇文章

本文原文鏈接:http://martinfowler.com/articles/continuousIntegration.html 原作者:Martin Fowler & Matthew Foemmel 諸 者:透明

原创 測試相關概念

各種類型的測試 1. 單元測試 是對軟件或硬件基本組成單元進行的測試。其測試對象是每個模塊下的實現具體功能的單元,一般對應詳細設計中描述的設計單位。在具體實現時,對應的是一個或一組函數,可能需要開發 測試驅動模塊或者測