® IBM Software Group © 2006 IBM Corporation Agility in the Database: Data Doesnt Have to be a Four-Letter Word Any More Scott W. Ambler Practice Leader.

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Agile Software Development: What’s Really Going On Scott W
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
© 2012 Scott W. Ambler Agile Testing Survey 2012 November 2012 Scott W. Ambler
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
BTS530: Major Project Planning and Design Iterative Development References: Agile & Iterative Development, by Craig Larman, 2004, Addison Wesley. Agile.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Copyright 2012 Ethicsoft Technologies.1 Introduction to Agile Model Driven Development (AMDD)
Copyright Scott W. Ambler1 Introduction to Agile Model Driven Development (AMDD) Scott W. Ambler Senior Consultant, Ambysoft Inc.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Gathering Information and Use Case Scenarios
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
® IBM Software Group © IBM Corporation Agile Software Development: The Full Story Scott W. Ambler Practice Leader Agile Development
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Agile Methods, Aspects and Virtual Model Driven Engineering David Parsons Massey University Auckland, New Zealand.
Copyright 2006 Scott W. Ambler Agile Survey Results Summary Scott W. Ambler
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Copyright 2007 Scott W. Ambler Agile Adoption Survey 2007 Scott W. Ambler
Chapter 1 The Systems Development Environment
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
Describing Methodologies PART II Rapid Application Development* Systems Analysis and Design II.
ISLLC Standard #2 Implementation
Organizing Data and Information AD660 – Databases, Security, and Web Technologies Marcus Goncalves Spring 2013.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Introduction To System Analysis and Design
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Comments on doing a CIM Project
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
 Computer freezes  Internet won’t connect  won’t work  Sound isn’t working  Program won’t run  Document won’t print And What Is the First.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
On Demand Business © 2004 IBM Corporation Certification and Accreditation Sandra Jolla, Program Manager June 14, /10/04 IBM Certified for e-business.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Designing databases using agile methodology for web applications By Belkacem Mezhoud ITK 478 Student.
Edit session number in Master View Agile Modeling: No, It’s Not An Oxymoron.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Grade Book Database Presentation Jeanne Winstead CINS 137.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design.
Introduction to Disciplined Agile Delivery (DAD) Scott W
Using Communities of Practices to Sustain an Agile Transformation Kevin Burke An Agile Coach at Fidelity Investments.
Doing a CIM Project. 22 CIM Design Center  A rule I learned about applying technology:  Understand the design center of the technology.  Use extreme.
(1) Test Driven Development Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
FAZAL WAHAB Agile Software Development. What is Agile? An iterative and incremental (evolutionary) approach performed in a highly collaborative manner.
Chapter – 1. The UML Approach USECASE DRIVEN ARCHITECTURE CENTRIC ITERATIVE & INCREMENTAL.
Developing an IDM Information Delivery Manual Part 1. Industry Workgroup Training, Creating IDMs Alliance NA 2010 Dianne Davis, NA-IDM Coordinator Jan.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
A service Oriented Architecture & Web Service Technology.
Curriculum Vitae Builder by Egomnia is a Powerful Office 365 Application Designed for Word That Enables Guided Creation of Professional Resumes OFFICE.
© Disciplined Agile Consortium
Data Collection with Forms For Special Education
Deploying ArcGIS for Water
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Unified Process Source & Courtesy: Jing Zou.
Information Technology Project Management – Fifth Edition
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
Agile Database Development and Zero Downtime Deployments
Agile Software Development: What’s Really Going On Scott W
BluVault Provides Secure and Cost-Effective Cloud Endpoint Backup and Recovery Using Power of Microsoft OneDrive Business and Microsoft Azure OFFICE 365.
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Agile Database Development and Zero Downtime Deployments
Software Development Project Success Survey 2008
Chapter 22 Object-Oriented Systems Analysis and Design and UML
The Current State of Data Management
System Development Methods
Presentation transcript:

® IBM Software Group © 2006 IBM Corporation Agility in the Database: Data Doesnt Have to be a Four-Letter Word Any More Scott W. Ambler Practice Leader Agile Development

IBM Software Group | Rational software Scott Ambler - Background Practice Leader Agile Development Fellow – International Association of Software Architects www-306.ibm.com/software/rational/bios/ambler.html

IBM Software Group | Rational software Presentation Overview Warning! Critical Observations Adoption Rate Evolutionary/Agile Data Modeling Database Refactoring Database Testing Other Important Techniques Conclusion

IBM Software Group | Rational software Warning! Im spectacularly blunt at times Many new ideas will be presented Some may not fit well into your existing environment Some will challenge your existing notions about software development Some will confirm your unvoiced suspicions Dont make any career-ending moves Be skeptical but open minded

IBM Software Group | Rational software Critical Observations Modern Development Leading development lifecycles are iterative and incremental New applications typically use a combination of object and data technologies – the world isnt pure There is growing proof that serial/traditional approaches are ineffective Data in only one of many important aspects, and it is rarely the primary one There is growing evidence that craftspeople, or generalizing specialists, are significantly more effective than specialists Traditional IT organizations appear to be vulnerable to offshore outsourcers Cultural There is a serious rift between the data and development communities Each community is relatively ignorant of what the other one is doing There are few books within either community that do the other justice The agile movement is coming from the development community Many developers are prepared to ignore data professionals, and do so quite often

IBM Software Group | Rational software 66% of Development Teams Go Around Data Groups: Why? Source:

IBM Software Group | Rational software Adoption Rate of Agile Database Techniques

® IBM Software Group © 2006 IBM Corporation Evolutionary/Agile Data Modeling What is Evolutionary/Agile Data Modeling An Example Why This Works

IBM Software Group | Rational software Agile Data Modeling Data modeling is the act of exploring data-oriented structures. Evolutionary data modeling is data modeling performed in an iterative and incremental manner. Agile data modeling is evolutionary data modeling done in a collaborative manner. Data modeling is only one of many aspects of modeling, see See Agile Model Driven Development (AMDD)

IBM Software Group | Rational software Karate School Management System Example Based on an actual organization Did the same problem two ways: Without an initial conceptual model – A three-issue series With an initial conceptual model

IBM Software Group | Rational software The Initial Requirements (A Karate School Management System) IterationUser Stories 1 Maintain student contact information Enroll student Drop student Record payment 2 Promote student to higher belt Invite student to grading membership to student Print membership for student 3 Schedule gradings Print certificate Put membership on hold 4 Maintain product information Sell product 5 Print catalog of products Order product for inventory Order product for student 6 Organize tournament Enroll participant in tournament Send out tournament announcement to past participants Print tournament announcement letters to past participants

IBM Software Group | Rational software Initial Domain Model

IBM Software Group | Rational software Iteration 1 PDM

IBM Software Group | Rational software Iteration 2 PDM

IBM Software Group | Rational software Iteration 3 PDM

IBM Software Group | Rational software Updated Requirements Iter.User Stories 4Enroll child student Offer family membership plan Support child belt system 5Enroll student in Tai Chi Support Tai Chi belt system Enroll student in cardio kick boxing Support Tai Chi belt system Support the belt order for each style 6Maintain product information Sell products 7Print catalog of products Order product for inventory Order product for student 8Organize internal special event (special classes, internal tournaments, …) Enroll student in special event Print special event certificate for student

IBM Software Group | Rational software Updated Domain Model

IBM Software Group | Rational software Iteration 4 PDM

IBM Software Group | Rational software Iteration 5 PDM

IBM Software Group | Rational software Iteration 6 PDM

IBM Software Group | Rational software Why This Works Up front, high-level modeling defines the landscape JIT model storming enables: You to ask more intelligent questions because you know more about the domain the longer you work in it Stakeholders to answer more intelligently because they understand the solution space better Focus on functionality that is actually needed, not what might be needed

® IBM Software Group © 2006 IBM Corporation Refactoring Databases Database Refactoring Why its Hard The Process Examples Why This Works

IBM Software Group | Rational software Uncomfortable Question How long would it take you to safely rename a column in a production database table? Could you do it in a single day?

IBM Software Group | Rational software Survey: How Long to Rename a Column in a Production Database? Source:

IBM Software Group | Rational software Length of Time to Rename Production Column (% Respondents)

IBM Software Group | Rational software 61.9% of Respondents Have Production Data Problems: Their Strategy to Address Data Source Problems Source:

IBM Software Group | Rational software Database Refactoring A database refactoring is a simple change to a database schema that improves its design while retaining both its behavioral and informational semantics. A database schema includes both structural aspects such as table and view definitions as well as functional aspects such as stored procedures and triggers. Important: Database refactorings are a subset of schema transformations, but they do not add functionality.

IBM Software Group | Rational software Why DB Refactoring is Hard

IBM Software Group | Rational software The Process of Database Refactoring

IBM Software Group | Rational software Rename Column

IBM Software Group | Rational software Example: Replace Column

IBM Software Group | Rational software Example: Remove View

IBM Software Group | Rational software Example: Merge Columns

IBM Software Group | Rational software Why This Works The database schema is evolved in very small steps in a low-risk manner Each refactoring is simple to implement It enables an evolutionary approach while supporting the existing infrastructure

® IBM Software Group © 2006 IBM Corporation Database Regression Testing Possible Things to Test Current Database Testing

IBM Software Group | Rational software Current State of Database Regression Testing (July 2006) 95.7% of organizations considered data to be a corporate asset Of those, only 40.3% had a regression test suite in place Of those, Only 63.3% allowed developers to run this test suite when they needed to Of the organizations that didnt have a test suite, only 31.6% had discussed putting one in place 63.7% of organizations implemented mission-critical functionality in the database Of those, only 46% had a regression test suite in place Of those, Only 66.3% allowed developers to run this test suite when they needed to Of the organizations that didnt have a test suite, only 38.6% had discussed putting one in place

IBM Software Group | Rational software Database Regression Testing Agilists develop regression unit and acceptance test suites for their applications, why not for databases too? You must test: Within the database (clear box) At the interface to the database (black box) You must be able to put the database into a known state, therefore you need test data (generation)

IBM Software Group | Rational software Things to Test For

IBM Software Group | Rational software Do You Do Database Testing? (September 2006)

IBM Software Group | Rational software When Are You Testing the Database? (% Respondents)

IBM Software Group | Rational software Types of Database Testing (% Respondents)

IBM Software Group | Rational software Other Important Techniques Configuration management of all project artifacts Continuous integration Encapsulate database access Train developers in data-oriented skills Train data professionals in development skills Promote the concept of generalizing specialists

IBM Software Group | Rational software Conclusion Evolutionary development is the norm, not the exception Agile development techniques are quickly being adopted There is no reason why data professionals cannot work in an evolutionary, or even agile, manner The software world has changed. Have you? Visit

® IBM Software Group © 2006 IBM Corporation Keep In Touch! Scott W. Ambler www-306.ibm.com/software/rational/bios/ambler.html

IBM Software Group | Rational software References and Recommended Reading Ambler, S.W. (2002). Agile Modeling: Effective Practices for XP and the UP. New York: John Wiley & Sons. Ambler, S.W. (2003). Agile Database Techniques. New York: John Wiley & Sons. Ambler, S.W. (2004). The Object Primer 3 rd Edition: AMDD with UML 2. New York: Cambridge University Press. Ambler, S.W. and Sadalage, P.J. (2006). Refactoring Databases: Evolutionary Database Design. Reading, MA: Addison Wesley Longman, Inc. Larman, C. (2004). Agile and Iterative Development: A Managers Guide. Reading, MA: Addison Wesley McGovern, J., Ambler, S.W., Stevens, M., Linn, J., Sharan, V., & Jo, E. (2003). The Practical Guide to Enterprise Architecture. Prentice Hall PTR.