Agile design

560 views
515 views

Published on

Agile Design presentation by Pawel Lipinski, as presented on XP Days Ukraine 2011

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
560
On SlideShare
0
From Embeds
0
Number of Embeds
204
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • How’s one related to another?\n
  • early - link4 software\ncontradiction: early and contin. deliv. quality-wise\ntechnical debt is nearly always a design debt\n\n
  • importance dependent on scale of the project\nmodularity\ntests!, Mach grid story\n\n
  • Elaboration / exploration phase (architectural prototype: do the most risky USs)\nfirst iterations should touch all main modules (coverage): organize first stories by risk, value, coverage\nanswer to: how are we going to implement and test it?\n
  • This is the LEAST we should be doing\nMach doesn’t need cont delivery on PROD, but to dev env\n
  • JEDI - Just Enough Design Initially not to overdesign or get simplistic design\ndomain modelling to visualise concepts, deepen requirements & understanding, keep design close to reqs\n\n\n
  • eliminating complexity by introducing abstractions\norganize essential complexity, minimize accidental\nrigidness (hard to change), fragility (changes result in bugs), immobility (no reuse)\n\n
  • \n
  • CRC - discuss objects and roles not classes, find contextual models, distribute functionality by responsibilities\nOne fact in one place achived by slicing + layering; slices take care of functions, layers of technology\n
  • net of collaborating objects\ncohesion (methods relate to elements of objects, naming, level of abstr)\ncoupling (number, type), heuristics (why I like some code)\n
  • Good side - discussion on improvements, expectations from the design\nBad - easy to make decisions about big refactorings\nHumility important when designing (and deciding about designing)\nNot all people in team are equal, this is not comunism. Have good people onboard!\n
  • 1. do design, deepens understanding, makes realistic planning possible, \n2. whatever you design, don’t think of it final\n
  • \n
  • ×