Melbourne agile and scrum sig   slides v01-00
Upcoming SlideShare
Loading in...5
×
 

Melbourne agile and scrum sig slides v01-00

on

  • 2,140 views

Presentation by John Giles to Melbourne Scrum User group. From 26 Sept 2012

Presentation by John Giles to Melbourne Scrum User group. From 26 Sept 2012

Statistics

Views

Total Views
2,140
Views on SlideShare
1,494
Embed Views
646

Actions

Likes
2
Downloads
23
Comments
1

4 Embeds 646

http://www.betterprojects.net 642
http://oursolving.blogspot.com 2
http://translate.googleusercontent.com 1
https://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • At last, a sensible compromise.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Melbourne agile and scrum sig   slides v01-00 Melbourne agile and scrum sig slides v01-00 Presentation Transcript

    • © 2012 Country Endeavours “Creative Solutions for Difficult Problems” The civil (uncivil?) war - Agilist vs. Data Architect 1. Understand the “enemy” 2. The mechanics of data pattern agility 3. Tips & techniques 4. Take-aways for you (John Giles) 1
    • © 2012 Country Endeavours “Creative Solutions for Difficult Problems” What’s the war really about? 2
    • Competing views  Agilists • Can’t wait for perfect design – miss the opportunity • Don’t need perfection – achieve better via iterations • Standards may reflect “old” – we can do better • Hence opinion “We don’t need no … architects” (Or at least the old-style ones)  Architects • “Integration” technical debt - Speedy delivery of solutions = speedy delivery of integration problems • Concern over “architecture breakers” Country Endeavours“Creative Solutions for Difficult Problems” © 2012 3
    • Conflict resolution(“fighting over the remote”) Country Endeavours“Creative Solutions for Difficult Problems” © 2012 4
    • The vision for a creative win-win  A start-up data architecture/model • Based on proven patterns • Assembled in days. Or even hours!  Flexibility over successive iterations • Start-up was minimal, but patterns extensible  Simpler post-project integration (if required) • If all enterprise data artifacts are built on common patterns, integration-made-easy (almost) Country Endeavours“Creative Solutions for Difficult Problems” © 2012 5
    • “Patterns” - elegancetoday, flexibility tomorrow.  Gamma et al: “Strict modeling of the real world leads to a system that reflects today’s realities but not necessarily tomorrow’s. The abstractions that emerge during design are key to making a design flexible”  Ambler: “Many agile developers underestimate the value of data modeling and other data skills at their peril … and have foregone opportunities for even greater productivity and quality.” Country Endeavours“Creative Solutions for Difficult Problems” © 2012 6
    • Modelling controversies Country Endeavours“Creative Solutions for Difficult Problems” © 2012 7
    • I’ve been challenged!!!  Three projects about to kick off  All needed to be subsequently integrated, via an enterprise data model (EDM)  Competitor’s EDM took 5 years of effort  My allowance – 10 days effort  Solution: Len Silverston • Len Silverston’s 50% to 75% theory • Time-boxed interviews • YAGNI (75% fit OK) Country Endeavours“Creative Solutions for Difficult Problems” © 2012 8
    • © 2012 Country Endeavours “Creative Solutions for Difficult Problems” Mechanics of patterns 9
    • Fine-grained “Elementary patterns” Person skill acquisition SkillType name skillTypeCode dateOfBirth 0..* 0..* skillTypeDescription Person personal skill record skill inventory 1 SkillType name skillTypeCode dateOfBirth 1 0..* 0..* skillTypeDescription PersonalSkill dateAcquired Country Endeavours levelOfProficiency“Creative Solutions for Difficult Problems” © 2012 10
    • Resources & their attributes 0..1 FourWheelDriveCabChasis emergency communications current fitting registrationNumber fuelType WaterBomber 0..1 communications 0..1 numberSeats registrationNumber waterCapacity 0..1 1..2 2..2 airSpeed SlipOnTank RadiowaterCapacity radioTypepumpDeliveryRate makefuelType model Country Endeavours “Creative Solutions for Difficult Problems” © 2012 11
    • Using the EAV Elementary pattern subclassification 0..* 0..1 Note that components of this Assembly Pattern are based on the Entity/Attribute/Value (EAV) classification Elementary pattern (also known by several ResourceType other titles e.g. the "Name/Value pair" pattern). resourceTypeCode resourceTypeDescription 1 inheritance 0..* 0..* participant type1 1 ResourceSpecification participant type2 1 resourceSpecificationName Utitilty-EAV::AttributeSpecification 0..1 0..* isAbstract attributeName 0..* 1 datatype 1 containment ResourceToResourceRelationshipType template containment 1 1resourceToResourceRelationshipTypeCoderesourceToResourceRelationshipTypeDescription specificationparticipant1Role Utitilty-EAV::AllowableAttributeparticipant2Role 0..* 0..* 0..* localName classification 1 minOccurs 1 participant1 0..1 Resource 0..* maxOccurs Utitilty-EAV::EnumerationItem participant2 1 derivationExpression unitOfMeasure effectivePeriod 0..* 0..* 0..* resourceName 1 constraint 1 identification 1 enumeratedValue Utitilty-EAV::DiscreteEnumerationItem ResourceToResourceRelationship enumerationValue effectivePeriod 0..* 0..* containment 0..* Utitilty-EAV::RangeEnumerationItem ResourceIdentifier Utitilty-EAV::AttributeValue effectivePeriod minimumValue specifiedValue resourceIdentifierType 0..* maximumValue resourceIdentifierValue minimumBreakRule maximumBreakRule Country Endeavours “Creative Solutions for Difficult Problems” © 2012 12
    • One medium-grained pattern - the face of “Party” Party effectivePeriod Person name gender Organization registrationNumber registeredName Country Endeavours“Creative Solutions for Difficult Problems” © 2012 13
    • Drill-down for “Party” RoleType roleTypeCode roleTypeDescription identification 1 Party fulfilment classification effectivePeriod 0..* 0..* 1 0..* (link) 1 nameDisplayString 1 Address Role PartyIdentifier effectivePeriod 1 effectivePeriodpartyIdentifierType (link) addressDisplayStringpartyIdentifierValueeffectivePeriod 0..* 0..* Person Organization PostalAddress gender AddressService postalDeliveryDescription containment containment town effectivePeriod state 1 1 addressUsageType 1..* postcode 1..* PhysicalAddress country flatIdentifier PersonName floorIdentifier effectivePeriod OrganizationName Emailddress containment propertyName personNameType effectivePeriod locationDescription emailAddressString salutation 0..* orgNameType streetNumber familyName 1 orgName streetName postNominal town PhoneNumber PersonGivenName state countryPrefix givenName postcode areaPrefix sequenceNumber country localNumber Country Endeavours “Creative Solutions for Difficult Problems” © 2012 14
    • A palette of “Assembly patterns” Account Task Agreement Resource / Asset Document Product Event Party & Role Location Country Endeavours “Creative Solutions for Difficult Problems” © 2012 15
    • Coarse-grained “Integration patterns” Account copy filed Task constrained as by Agreement Document Resource / Asset participates in, sited signatory to, ... at Product Event Party & Role Location 2 Country Endeavours “Creative Solutions for Difficult Problems” © 2012 16
    • Or mineral exploration/extraction Account copy filed as Task constrained by Agreement archived at used as basis Storable Resource for analysis in object / / Asset participates in, generates analysis document sited signatory to, ... results held as at associated with Product Event Party & Role Location Country Endeavours “Creative Solutions for Difficult Problems” © 2012 17
    • … what about emergency response?(or your problem?) Account Task Agreement Resource / Asset Document Product Event Party & Role Country Endeavours Location “Creative Solutions for Difficult Problems” © 2012 18
    • (a possible solution framework) Account assigned to Task Agreement triggers Document Resource occurs / Asset at sited at manages, owns, ... (or "is") associated with Product Event occurs at based at, Party & Country Endeavours now at, ... Role Location “Creative Solutions for Difficult Problems” © 2012 19
    • © 2012 Country Endeavours “Creative Solutions for Difficult Problems” Tips-&-techniques for using patterns 20
    • “In general, generalise” AgreementType PartyType agreementTypeCode agreementTypeDesc partyTypeCode partyTypeDesc RoleType 1 classification roleTypeCode classification 0..1 roleTypeDesc cross-reference 0..* 0..* 0..* 1 classification Agreement Party agreementReference 0..* 1 fulfilment 0..* 0..* involvement Role effectivePeriod 2..* Person 0..* name Mortgage dateOfBirth loanToValueRatio Solicitor licenseNumber Organization registrationNumber registeredName RealEstateAgent registrationNumber Country Endeavours“Creative Solutions for Difficult Problems” © 2012 21
    • Use patterns beyondtheir intended purpose 1 GoodsItem itemIdentifier usage ruleaggregation rule itemDescription 1 0..* AssemblySpecificationItem quantityRequired 0..* 1 Party partyIdentifier aggregation rule partyName 1 shareholding recording 0..* Shareholding shareholdingPercent 0..* Country Endeavours“Creative Solutions for Difficult Problems” © 2012 22
    • Tailored extensions become apattern fulfilment Party effectivePeriod 1 nameDisplayString 0..* ContactReason contactReasonCode Role contactReasonDescription 1 0..1 effectivePeriod status 0..1 0..1 constraint specific constraint 0..* 0..* (link) generic constraint ContactRuleSet 0..* effectivePeriod 0..* ContactRuleFilter 0..1 effectivePeriod includeOrExcludeIndicator Address initial step restriction on use effectivePeriod addressDisplayString (link) TimeOfDay 1 timePeriod 0..* 0..* subsequent step DayOfWeek AddressService 1 0..1 dayRange effectivePeriod rule target contact point addressUsageType 1 ContactRuleStep CalendarPeriod 0..1 0..* dateRange 1 Country Endeavours“Creative Solutions for Difficult Problems” © 2012 23
    • YAGNI Model Variable Acronym Operand Operator Operand(You ain’t Num. Number 20 5 BR 1 WB minus 2 "7"gonna need it) 20 6 SJ H minus “35” Head rail Model modelNumber Fixed panel top modelName Door top containment Fixed panel (glass) Sliding door 1 panel (glass) Fixed panel side Door side 0..* Side jamb Towell bar Variable variableNumber variableAcronym Door bottom variableName Fixed panel bottom Bottom rail Measurement Computation operand1 operator Country Endeavours operand2 “Creative Solutions for Difficult Problems” © 2012 24
    • Take the enterprise view(& challenge the concepts) Party - Simplified name address phone Employee Customer 1 fulfilment effectivePeriod effectivePeriod name name address address 0..* phone phone salary creditLimit Role superannuationFund industryCode effectivePeriod EmployeeRole CustomerRole salary creditLimit superannuationFund industryCode Country Endeavours“Creative Solutions for Difficult Problems” © 2012 25
    • The “T-model” approach  Mile-wide, inch-deep (touch points at least)  Drill-down only where required  Iterate within project, & across projects Account Agreement Document Party/Role (etc.) High-level logical subject areas      Standard logical assembly patterns   Refined logical assembly patterns  Country Endeavours“Creative Solutions for Difficult Problems” © 2012 26
    • © 2012 Country Endeavours “Creative Solutions for Difficult Problems” Take-away notes for you 27
    • Does it really work?  Some real-life stories • Weeks, not months, for a usable framework  But • It’s more of a framework than an implementation design • The 80/20 rule doesn’t work  Even with “patterns”, there is a place for (agile) modellers!!! Country Endeavours“Creative Solutions for Difficult Problems” © 2012 28
    • Messages for modellers?  The Agile world is different: • Modelling “ain’t enough” • Deliver early, stay to refine, integrate at end  There’s a need to learn about: • “Agile” (Scrum, Kanban, Lean, stand-ups, UX, …) • Patterns, and their integration • OO – More than reading UML  It can be fun working with agilists Country Endeavours“Creative Solutions for Difficult Problems” © 2012 29
    • Messages for agilists?  Welcome (agile) modellers, & be patient  Jointly identify/mitigate “architecture breakers”  Help “data” types with solutions beyond patterns  Tell “data” types your expectations: • Want a framework in your first iteration (not perfect, but it should be robust, extensible) • They need to keep an eye on integration – it’s their job Country Endeavours“Creative Solutions for Difficult Problems” © 2012 30
    • Conclusion?  Start-up models?  Flexibility over successive iterations?  Simpler post-project integration ? … and any questions? Country Endeavours“Creative Solutions for Difficult Problems” © 2012 31