Building Evolutionary Architectures
ΠΠ½ΠΈΠ³Π° ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠΎΠ΄ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΡΠΈΡΠ½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ. ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° Π²Π΅ΡΠ½ΡΡ ΡΠΈΡΠ½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ -ΠΎΡΡΠ΅ΠΉ/-ilites ΡΠ΅ΡΠ²ΠΈΡΠ°.
Π€ΠΈΡΠ½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, Π½ΠΎ Π΅ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡΡΡΠΈ ΡΠ»Π°Π±ΡΡ ΡΠ²ΡΠ·Π½ΠΎΡΡΡ, ΡΠΎ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ Π»ΠΈΠ½ΡΠ΅ΡΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈΠ»ΠΈ Π²ΡΠ΄Π°ΡΠΌ api-ΠΊΠ»ΡΡΠΈ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΏΡΠΎΠ³ΠΎΠ½ΡΡΡ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ ΠΈΠ»ΠΈ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡ. Π’ΠΎ Π΅ΡΡΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π°, Π° Π΄Π°Π»ΡΡΠ΅ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ.
Π ΠΊΠ½ΠΈΠ³Π΅ Π²ΡΡΡΠ΅ΡΠΊΠΈ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΡΡΠ»ΠΈ, ΡΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π½Π°ΡΠ΅ Π²ΡΡ, Π° Π²ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΡΠ°Π·Π²Π°Π»ΠΈΡΡΡΡ. ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠ΅ΡΠ²ΠΈΡΡ Π²ΠΎΠ·ΡΠ°ΡΡΡΡ, Π° Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ. ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π±ΡΠ΄ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π½ΠΎ Π²ΠΎΠΏΡΠΎΡ Π² ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅.
ΠΠ»Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΎΠΎΡΠ½Π΅ΡΡΠΈ Π΄Π»Ρ ΠΊΠ°ΠΊΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΌΡ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΠΌ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠ΅. ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅, ΡΡΠΎΠΈΡ ΡΠ»ΡΡΡΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²Π½ΡΡΡΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°.
ΠΠ»Π°Π²Π½ΡΠ΅ ΡΠ΅ΠΊΠ»ΠΈΡΡΡ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ:
- A fitness function review, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠΈΡ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠΊΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°ΠΆΠ΅ Π² Π²ΠΈΠ΄Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΈΡΠ½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΌΡ Π½Π°ΡΠ½ΡΠΌ ΠΈΡ ΠΏΠΈΡΠ°ΡΡ.
- Culture questions from architect
- Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, The list of -ilities
Π¦ΠΈΡΠ°ΡΡ
- 202209022221: Architects must determine the most important -ilities.
- 202209022226: Place changeability into the architecture
- 202209022228: Capability of evolutionary architecture
- 202209022229: Incremental change divide in build and deploy
- 202209022232: Boundaries depends on the purpose of the discussion.
- 202209022234: Common dimensions that affect evolvability
- 202209022238: Conway law on architectural goals
- 202209031505: An architectural fitness function
- 202209031506: System is the product of the interactions
- 202209031514: Fitness function categories
- 202209031515: A fitness function review
- 202209032145: Version Services Internally
- 202209032147: 2D diagram need to be specific
- 202209032149: Unit test for architecture violations
- 202209032153: QA in Production with feature toggles
- 202209032200: Discover conflicts early for better decisions
- 202209052221: Before restructuring, try to improve modularization
- 202209052223: The microkernel architecture
- 202209071935: The list of -ilities
- 202209161031: Old data schema couples to the past
- 202209181540: Adding evolvability to existing architectures depends on three factors
- 202209181542: Architectural verification as fitness functions
- 202209181625: Finding the correct service granularity is key for decomposing.
- 202209181637: Remove feature flags aggressively
- 202212041703: Architecture tends toward always adding, never removing, or decommissioning.
- 202212050948: Always fully understand at least one abstraction layer below
- 202212061755: When coupling points impede evolution, break by forking or duplication
- 202212061800: Different stacks to avoid coupling
- 202212270911: Need less layer between running code and developer
- 202301021531: Culture questions from architect
- 202301021535: Spike and stabilize
- 202301021552: Ecosystems changes companies in established industries
ΠΠ°Π΄Π°ΡΠΈ
- #task ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅ Π²ΡΠ΄Π΅ΡΠΆΠΊΠΈ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ Zettels β 2023-01-03
- #task ΠΠ°ΠΏΠΈΡΠ°ΡΡ Π²ΡΠ΄Π΅ΡΠΆΠΊΡ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ π 2023-05-14 β 2023-05-14
- #task ΠΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ²ΠΎΠΈ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ΄Π΅ΠΉ ΠΈΠ· ΠΊΠ½ΠΈΠ³