Is Your Data Modeling Workflow Agile or Fragile?
Embed Size (px)
Transcript of Is Your Data Modeling Workflow Agile or Fragile?
1. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 1 Karen Lopez @datachick #TEAMDATA Agile or Fragile? How Successful is your Data Modeling Workflow? Yes, Please do Tweet/Share todays event @datachick @ERStudio 2. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 2 Karen Lpez Karen has 20+ years of data and information architecture experience on large, multi-project programs. She is a frequent speaker on data modeling, data-driven methodologies and pattern data models. She blogs at community.embarcadero.com, datamodel.com and Dataversity.net She wants you to love your data. Rob Loranger Rob Loranger is an Embarcadero Product Manager for the ER/Studio product family. Prior to his current role, Rob was a Sr. Software Consultant, and for more than 9 years he has been one of Embarcadero's leading experts for its database development, management, and architecture software. He blogs at community.embarcadero.com 3. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 3 Logistics Use Q&A for formal questions ask at any time Slides will be distributed after event Continue the conversation on Twitter Theres more to come Plan for Today What is Agile, SCRUM, others? Where does data modeling fit in Agile? Ensuring your data modeling workflow works DEMO! 10 Tips for making Agile not Fragile Data Modeling 4. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 4 Your take-aways today How to position data models (hint: they are not documentation) How to prepare your data modeling technical environment to support fast iterations How to collaborate with agile teammates in a way that they can benefit from existing data model resources How to demonstrate the value of data models to your agile teams Agile Methods What are they? What else are they? Plus at little bit of SCRUM 5. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 5 I love working on Agile projects Its FRAGILE projects I hate. 6. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 6 Agile Manifesto http://www.agilemanifesto.org/ Agile Principles readable copy coming next 7. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 7 Principles Behind the Agile Manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Emphasis Karen Principles Behind the Agile Manifesto Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self- organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Emphasis Karen 8. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 8 Manifesto for Agile Software Development Agile Extensions Everyone is a generalist Agile Blocking Excluded titles Administrators Architects Managers Test Driven Development No BMUF/BDUF Paired programming Did I say Blocking? 9. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 9 Agile Blocking The blockers effectively implement a process faade around your team that makes it appear to the rest of the organization that your team is following their existing procedures. This satisfies the bureaucrats, yet prevents them from meddling with the people that are doing the real work. Although it sounds like a wasted overhead, and it is because it would be far more effective to divert both the blockers and bureaucrats to efforts that produce something of value, the advantage is that it enables the rest of the team to get the job done. The role of blocker is often taken on by your teams project manager or coach, although in the past I have let this be a revolving role on the project so as to spread out the pain of dealing with the paper pushers. - http://www.agiledata.org/essays/adopting.html Scrum Values Focus Because we focus on only a few things at a time, we work well together and produce excellent work. We deliver valuable items sooner. Courage Because we work as a team, we feel supported and have more resources at our disposal. This gives us the courage to undertake greater challenges. Commitment Because we have great control over our own destiny, we are more committed to success. Respect As we work together, sharing successes and failures, we come to respect each other and to help each other become worthy of respect. Openness As we work together, we express how we're doing, what's in our way, and our concerns so they can be addressed.- https://www.scrumalliance.org/why-scrum/core-scrum-values-roles All work performed in Scrum needs a set of values as the foundation for the team's processes and interactions. And by embracing these five values, the team makes them even more instrumental to its health and success. 10. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 10 https://www.scrumalliance.org/why-scrum Agile/Scrum development project 11. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 11 Typical Fragile Sprint Sprint Planning Backlog Stories START READING DEVELOPMENT DELIVER END Where the heck is our database? WTH! Zone $#*! 2-3 weeks $#*! Agile Data Modeling Workflow - Fix Sprint Planning Backlog Stories START READING DEVELOPMENT DELIVER END 12. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 12 Agile DM Workflow Fix it Better Sprint Planning Backlog Stories SART READING DEVELOPMENT START READING DEVELOPMENT DELIVE R END Sprint Planning Backlog Stories START READING Agile DM Workflow Fix it Better Sprint Planning Backlog Stories SART READING DEVELOPMENT START READING DEVELOPMENT DELIVE R END Sprint Planning Backlog Stories START READING 13. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 13 Agile Data Workflow Data modelers must be part of Spring planning Access to users Story creation Data models should be part of stories Existing data models are key inputs Data models are not just documentation Iterative Data Modeling 14. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 14 Why fragile data modeling? Most people have never seen productive, iterative, responsive, flexible data model driven database development Agile Data Model Iterations Iterations are awesome Except for those that are iterated upon. Dont make gratuitous changes Collaborate on changes that do need to be made Plan for delivering the change. Data Modeling Perfection is your Enemy here 15. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 15 Characteristics of Iterative Data Modeling Full DDL Alter DDLDM Changes Compare Full DDL Compare & Merge Alter DDL Extended Alter DDL Rapid DDL generation Working Closely with DBA Working Closely with Devs Physical Data Modeling Test Data Reference Data Data Generation AntiPattern Iterative Data Modeling Full DDL Full DDL Developers Manage Database for Rest of Project One Time DDL generation Done by Developers Secured and Tuned by DBA, if possible Physical Data Modeling Individual Devs Generate Own Test Data Reference Data an Afterthought Data Generation ALTER TABLE cust ADD custage Decimal(3,1) NOT NULL; 16. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 16 Characteristics of Agile Data Modeling Full DDL Alter DDLDM Changes Compare DDL & Scripts Compare & Merge Versioning Change Management Use the same System Integrate with Data Model Issue Management Traceability to Issue Management Use what your team uses Tools Processes, adapted for data models Linkages between data model and issues Log data model issues, too 17. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 17 Preparing for Iterative Data Modeling Test / Dev Database environment Database Client tools/drivers Skills and knowledge to quickly RE, Compare, and FE databases Access to Dev, QA and other environments Set up for dev tools and processes Demo Time! Agile not Fragile Data Modeling 18. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 18 The D word Documentation can be generated out of the model Dont focus on documentation preparation Automation is your friend Always use Model Never call it Documentation Enterprise Projects are Integration Projects 19. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 19 Generalists arent strong on Enterprise Data Data models are just enough documentation, if done by professionals. Use data professionals who know where it is, how to use it. Build better databases with existing data models Build faster with existing data models 10 Tips for Agile not Fragile Data Modelers 1.Stop using the word Documentation when talking about data models 2.Get Scrum training. Get certified even. 3.Prepare your Agile Data Modeling environment 4.Learn, practice and test your Data Model iterations processes and standards. 5.Learn to automate as much as possible. 20. Karen Lopez @DATACHICK Jun 2015 www.datamodel.com 20 10 Tips for Data Modelers 6. Get data models and DDL tasks moved sprints ahead. At least 2 sprints ahead. 7. Dont get pushed into sprinting a marathon 8. Dont back off from Agile teams, even if they are hostile to data modelingor modelers. 9. Dont be a roadblock. Get ahead of the sprints. 10.Use the same processes for