Presentation is loading. Please wait.

Presentation is loading. Please wait.

© AgiliX Agile Development Consulting Agile Software Architecture Cesario Ramos.

Similar presentations


Presentation on theme: "© AgiliX Agile Development Consulting Agile Software Architecture Cesario Ramos."— Presentation transcript:

1 © AgiliX Agile Development Consulting Agile Software Architecture Cesario Ramos

2 © AgiliX Agile Development Consulting Code focussed Do what is important now Evolves during the project Defers Implementation Documentation focussed Do what is important in the long term Defined upfront Includes Implementation Agile Architecture Classic Architecture

3 © AgiliX Agile Development Consulting Why agile software architecture?

4 © AgiliX Agile Development Consulting Deliver Fast Increase ROI. Early validation of your business case. Give customers what they want when they want it.

5 © AgiliX Agile Development Consulting Defer Commitment Reduce risk. Decide based on most possible knowledge. Keep yours and the customers options open.

6 © AgiliX Agile Development Consulting Eliminate Waste Support something that does not add value now. Have the architecture slow you down

7 © AgiliX Agile Development Consulting Be the simplest solution to support the current functionality. Change without increasing risk or waste. Change economically. Change without making the software worse. Evolve in early and refine later iterations. so we need architecture to...

8 © AgiliX Agile Development Consulting Comparing with engineering

9 © AgiliX Agile Development Consulting Based on concrete analysis using physics and mathematics. Based on things you know and change slowly. Plan, Do, Review. Plan the work, work the plan

10 © AgiliX Agile Development Consulting Requirements Design Coding Testing Release Analysis Design Construction Inspection Release Software Development Civil Engineering Coding is NOT Construction

11 © AgiliX Agile Development Consulting When do we test our requirements? When do we test our design? What if we overdevelop it? How do you handle changes? and then.... Requirements Architecture and Design CodingTestingRelease

12 © AgiliX Agile Development Consulting How to create agile software architecture?

13 © AgiliX Agile Development Consulting High level steps. Establish vision and high level requirements. Perform Lightweight domain analysis. Work on architectural components only when actually needed. Consider ROI in the decision making process Evolve the architecture during the project Do not let quality decay. Refactor to the Open Closed. Validate and adapt.

14 © AgiliX Agile Development Consulting Lean architecture using DCI What the system IS Captures what is stable The domain classes What the system DOES User stories. Business objects.

15 © AgiliX Agile Development Consulting Open Closed Principle A module should be open for extension and closed for modification

16 © AgiliX Agile Development Consulting Refactoring as Fowler proposed Improving the design of existing code. Refactoring to be Open Closed. For handling future requirements. Refactoring Provides Value by Reducing Risk Reducing Waste

17 © AgiliX Agile Development Consulting Separation Of Concerns Low Coupling Minimal dependencies Minimal side effects High Cohesion Single responsibility One reason to change

18 © AgiliX Agile Development Consulting Tests Drive Design Forces you to look at your public API. Forces you to think about cohesion. Forces you to think about coupling. Forces you to not produce redundancies.

19 © AgiliX Agile Development Consulting Test Driven Development Documents your intent Investigates the nature of the code you are developing Report on progress

20 © AgiliX Agile Development Consulting Summary Agile Architecture helps you reduce risk and waste. OO/XP principles and practices make evolving architecture possible. Particular approach depends upon knowledge of domain, technology and project size.

21 © AgiliX Agile Development Consulting Agile Software Architecture Cesario Ramos


Download ppt "© AgiliX Agile Development Consulting Agile Software Architecture Cesario Ramos."

Similar presentations


Ads by Google