We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byDwight Hext
Modified about 1 year ago
© AgiliX Agile Development Consulting Agile Software Architecture Cesario Ramos
© 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
© AgiliX Agile Development Consulting Why agile software architecture?
© AgiliX Agile Development Consulting Deliver Fast Increase ROI. Early validation of your business case. Give customers what they want when they want it.
© AgiliX Agile Development Consulting Defer Commitment Reduce risk. Decide based on most possible knowledge. Keep yours and the customers options open.
© AgiliX Agile Development Consulting Eliminate Waste Support something that does not add value now. Have the architecture slow you down
© 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...
© AgiliX Agile Development Consulting Comparing with engineering
© 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
© AgiliX Agile Development Consulting Requirements Design Coding Testing Release Analysis Design Construction Inspection Release Software Development Civil Engineering Coding is NOT Construction
© 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
© AgiliX Agile Development Consulting How to create agile software architecture?
© 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.
© 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.
© AgiliX Agile Development Consulting Open Closed Principle A module should be open for extension and closed for modification
© 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
© AgiliX Agile Development Consulting Separation Of Concerns Low Coupling Minimal dependencies Minimal side effects High Cohesion Single responsibility One reason to change
© 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.
© AgiliX Agile Development Consulting Test Driven Development Documents your intent Investigates the nature of the code you are developing Report on progress
© 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.
© AgiliX Agile Development Consulting Agile Software Architecture Cesario Ramos
© AgiliX Agile Development Consulting Agile Demystified Cesario Ramos.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
The Software Product Life Cycle. Views of the Software Product Life Cycle Management Software engineering Engineering design Architectural design.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Lecture-3 Software Development Life Cycle (SDLC) Thepul Ginige.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Team Think For You. Outline Introduction Process Requirements Engineering Architecture Detailed Design Testing Demo Extensibility Conclusions.
1 Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
1 Requirements Engineering for Agile Methods Lecture # 41.
CS3100 Software Project Management Agile Approaches.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles Find the right boundaries for your.
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
Software Design 1.1 CPS 108, Spring 2006 l Object oriented programming and design, we'll use Java and C++ Language independent concepts including design.
CS3500 Software Engineering Agile Software Development (1) Agile software development, proposed in 2001 by the non-profit Agile Alliance, has four basic.
NAUG NAUG Knowledge Evening – th February 2007.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP Processes / Disciplines Management Artefacts Risk management.
Dr. Syed Noman Hasany. Review of known methodologies Analysis of software requirements Real-time software Software cost, quality, testing and.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
The Design Discipline.
Rules of the Game Loosely based upon the TV show, “Who wants to be a millionaire.®” Once the question is read, you will have 30 seconds to discuss.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Refactoring Agile Development Project. Lecture roadmap Refactoring Some issues to address when coding.
What Is Agile? Agile is a group of software development methodologies Scrum Extreme Programming (XP) Lean Etc. Key Characteristics: Small increments Adaptive.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1 5.1 Software Engineering Practice Provide value to the user KIS—keep it simple! Maintain the product and project “vision” What you produce,
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions.
Software SYSTEMS DEVELOPMENT
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
1. USER & CUSTOMER 2.BASING DEVELOPMENT ON SOLID PRINCIPALS AND REUSABLE TECH.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Presented By : Prima Business Solutions. Agile Software Development Process.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
SYSC System Analysis and Design
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Sharif University of Technology Session # 3. Contents Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
CompSci 230 Software Design and Construction
Framework is l Reusable Code, often domain specific (GUI, Net, Web, etc) l expressed as l a set of classes and l the way objects in those classes collaborate.
© 2017 SlidePlayer.com Inc. All rights reserved.