Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson Next Generation Process In the future, an ever present but invisible process Process is.
Download ReportTranscript Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson Next Generation Process In the future, an ever present but invisible process Process is.
Enough Process Let’s Do Practices: An Introduction to EssWork and EssUP Ivar Jacobson Next Generation Process In the future, an ever present but invisible process Process is just a composition of Practices Process becomes second nature We need a new paradigm From the successes in modern software development Examples: Practice is a First Class Citizen the unit of adoption, planning and execution of process The Software Engineering Camp Process Maturity Camp Agile Methods Camp Unified Process CMMI, Spice XP, Scrum Next Generation Process In the future, an ever present but invisible process Process is just a composition of Practices Process becomes second nature We need a new paradigm From the successes in modern software development Examples: NEW Practice is a First Class Citizen the unit of adoption, planning and execution of process The Software Engineering Camp Process Maturity Camp Agile Methods Camp Unified Process CMMI, Spice XP, Scrum Problems with the Current Generation of Processes • • • • Denied Commonality Process Completeness Having to Adopt Whole Processes The Process Being Out of Sync with What the Team Does • Acquiring the Knowledge • The Process Adds Little Value People don’t like processes. There is no one-correct process. They all have something to offer, but they’re hard to use together. Current company processes • Every large company has one or several processes manuals • Each process ”borrows” material from published processes • Each published process includes a soup of integrated ideas Company Processes A B C D N A soup of ideas; it is a soup because you can not identify reusable elements Published Processes Software Engineering Process Maturity Agile Current company processes • Each process has very few unique, new ideas – say 5% • ”Borrowed” ideas comes from soups of ideas New ideas say 5 % A soup of soups of ideas “borrowed” and re-written by process engineers within the company Company Process A A soup of ideas Published Processes Software Engineering Process Maturity Agile Next Generation Process is Practice-Centric • Imagine that we can identify the unique ideas and keep them separate – A practices is a reusable method element that can be adopted separately from other practices, and each practice give measurable result of value to the development organization • Instead of creating published processes as a soup of ideas methodologists will focus on developing separate practices • Company processes will be just collections of practices From potentially many different methodologists around the world – essentially written by them A set of practices New ideas say 5 % Company Process A = + Agenda • What is a Practice? • What is Essential Unified Process? • Making Practices useful – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up What is a Practice? Pragmatics • A Practice has a clear beginning and an end allowing it to be independently applied • Examples of practices are – – – – Iterative development Use case driven development Project management à la Scrum Team practice incl workshops, war room, pair programming, etc. More precisely • A use-case module in our AOSD book – It has a beginning and an end – It may be a peer practice or extend an existing practice Agenda • What is a Practice? • What is Essential Unified Process? • Making Practices useful – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up What is the Essential Unified Process? More than just a Unified Process…. • This is where we started based on our heritage • A pre-built assembly of 8 core practices …the first of a new generation of software development processes. Building on our heritage Late ’60s Ericsson Approach Objectory Process ‘87 –’96 ‘97 –’98 ‘99 –’05 The Unified Process IBM Rational Unified Process Good Software The Practices in the Essential Unified Process EssUP Practices Software Engineering Practices Architecture Iteration Component Social Engineering Practices Process Practices Organizational Practices Use Case Product Ti tl e Process Team Modeling Agenda • What is a Practice? • What is Essential Unified Process? • Making Practices useful – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up Some new innovations are required…. Practice Separation Practice User Experience Practice Smartness Defining and using Practices in a new way. …to bring the practices to life and make them useful. Agenda • What is a Practice? • What is Essential Unified Process? • Making Practices useful – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up Building a process eco-system around 8 Essential Practices • There will be 100s of practices extending the essentials EssUP Practices Systems Engineering Enterprise Product Architecture Line Eng. Business UseCase Architecture Iteration Domain Modeling Aspect Orientation Use Case Robustness Analysis Component Software Engineering Practices Social Engineering Practices SOA REUSE Model Driven Architecture 6 Sigma Prince2 Portfolio Management Program Management Product T i t l e Process Team Modeling Process Practices Organizational Practices PSP / TSP Pair Programming Extended CMMI Add as many or few practices as you need EssUP Practices Architecture My Own Process Iteration Component Use Case Product Ti tl e Process Team Modeling Process Kernel Agenda • What is a Practice? • What is Essential Unified Process? • How do you describe Practices? – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up Te st Ca se est DD n ficatio • A practice is a set of cards • A team/individual works on a set of instance cards © ac o ar J Iv bs on Individ ua differen l Flows ma y ha t degre es of ela ve boration In te s Es In pec ure s ternat if e d e ag r ta nd a ly st • • iona ob pr ific g ati on . re vs io n 24 • en ie ve nd le e dl, m sp ry Ve tia co • 20 sy06 s o ec l an m ste ne Ag rba Sk ific m d il m un un ati Re ree l an ls: sh de ic on Us qu me d w ate ou rs s e-C irem nt fa ritte ld tan an do ds redvi rn as en cil n ati sion w e ita co ts on 24 ha M m al, od cap tio t th 20 n mu e tu e nic 06 lin g re ati on bson An a est cut eT Exe s gres k Pro Trac Use-C ase Spe ci fy T eci Sp d an ts pu . in f io st e o ar f te os tem en d t o rp ys sc an se pu a s ific g DD a e t c UC nin es r th r no spe ig n s fi fo o a e de lts er ts rd m se su eth en fo ste ca re h m re on sy fo ti f st ted g w ple te c n be da ts n o A pe ati y im tem d un tes tio re ie sys ex alu ectl es: fo ts a cif ble a ting ple: ev rr tes s ue ta as e m the sult co t c vid en tecsot to exeescp erts d ofst re s n e o lem UCDD fy athe atiot th to b ecisfita omesr tee test ftware Te Pr epci n tc tha p s sp wfy ic u: inefoth the so • Sim tioe ots ori if rmssats tath s 24 f st Vlle eco a n o rm t n n Te A te t e n • te d w g io en sme em psperf owe hmoe tondtee ditio e an • st v:is o n lopm musultt n nin grat an to g Sy re s Aellfi pleatedl C eove Inte cklo efi the pl Ba fied lu a d-c • • D vim ts it e (dith eci Specle :) e a nsti thPere e tet s d R resssew n utab ified Syst Sp e ec d u m u em te og wwh d areas th Ex ste s osc m tifie Sy dFlo leste ..ns Inp ptu ecal pr ci : lete enty • FE wa1rd lo ob ac ed Id pr ve n e x io ifi ct p to re y te d to• ec mProje .. pa E cen Sp ste osmtif as bess anases n ar n er Com1 ..n lyisid Sy Ste ce epr -C ogreest Cpletio • ui1ck en se to T m ity en find s ents • aQ ta Ued c• tiv ferrs Sc Inhteo io n: e co ci s de og artistoon 06 achievem eSpe ..n ficile C grat stberle e The• Un Backl eTe en dr est:R edpic1etcim 20 e iaandcutTetem n: eablstpe sc ilestl, on S • • T• Pr es:whe ar ExeSys ndm ona fin velo ss est se ched nd d fied V De plaet Speci tem ro • T• rAs ati com beyo sdt De ect Letaada ine Sys h as UCDD o A usetern app alm is uatete oj f d itydse Pr (suc en a e e : Evte tiv In -ca sed spe nmen su e ac lts cificat 24 t sys tD sD oact Than ve be dres or s ion on s ha m Re ad en use t Briefl lt s)describ and visi d cbo st end itesm asssys Spec d re te fectto es how tem Te ysuDejec p at RJ•aecoTedwh nsys de sct Lea esse eck the log Systeified rib dtem io ach Pro t e ed ach s an r adadr In iev s d s ios te iedoe m ieveretha Ba se a R Exec goal Iv • • s flow n rif st goa egenar ttio d the uta aly l. Rsc © ulefor rif ieact as Ve Syste An ble ra od d • or to g M Ve te ke en Use-case se mar Bulleted m Developer e-Ca arked as t has be known • In espe Us cifi 06 m OutlineBacklog en cat • Ca•ptu Th en ions: em locity is l, 20 re ioreq nabe s tion Tesst hiev Tester uirem haatve •E Definern e ac Ap am ve ent ce ifica xecuInte sce ston an d stein con roec : pli PSp texes on te• Milenar ed t ch Esse ••coVbsEn d rdios enti ing ie stem te s al proa er ablea effe reco Outlin nifle Sy traUck Cst d ap ar Ja • thProify th st ctiv to e sco CD rly Te TeTe Uab depe e ut o ress © Iv ec e evvideatthe m:men ma al ognag on 24 chstermpEx gulaD • Id dev pr emreent al Reth co edet nti revisi tous exail atio enti eloupm uo driverethe Deve niqse le sults ec inu ent nt m the act lopEs n fy to te other crit ivitta er u defive ies Fully ensuy del ceess bra • r Co st Pero s nta ue systensure ia o leand meron Te Ad Desc drib re th ectsval De tha ed fie Ess log an f em ry t th ch apl Uni TheBack ential Coat •th d p 2006 lace e test mee ntents Test niqtia ts eyati onal, • ac1tivi en ts : lts ar og • ss Na in su ern E e ad TesBackl tyme Re ue ase th F e on Int is co dre e bac • t:1E cutabl s le cobs Use-C Dis acil Exe tem • A ssed va r Jaef klo De m le nySkilIvaBri Modu Sys g cu ita D1efle luatedscrpipti teon fied Bac•an© Essenti dw ec d sic Flo Speci th d Ba al Unifiedss tes hen tem Test w s • T •eklosgta ats Sys ioces Pro : m0..nkAltt :e Iden Bu oces Aes ns s d Pr li ativ nat Res tifi in eh ern ild Te Unifie © Ivar • Flo Exec ly utolts: oldcitin eed st ws an Jacobs ntial Res uta Esse Recon Inte d ad an A e g Id sts sults ble Esse Es nalr Syste M ntiaC rnationa e o o d h se a m o o ed n l le re pp m elpl, 200g6r yz Uni • • A ppmen de ti nti to th ee qed al Cu r d ue ortu W afie or fyded ls e th a Defe d m • Pr ato Un ha ly DProces tu ap s n p at ct • ero ifie nit d u perote sy ts, nit revision q g tur ed t’s es s te ste a ie Back • C d a 24 iestinnd ac M e uirraemem log , Pro Ne crib s g e mhes: m nd s, n m ran • ual m uat ndic rs to: © Iv ce sp tu ee o ate ed e te ta ar Ja ss En de a teestnin ec rnin ds ed s ts gers sting n ls n co s d UC Apply card game metaphor for practice descriptions • A card contains concise description of things to produce and things to do, etc. * Ward Cunningham invented CRC cards, published in 1989 The “Essentials” are in the cards Analyst Applies Complementary Techniques Skilled at eliciting opportunities, needs and stakeholder requests, and turning them into an agreed system specification. Analysts help the team to: • Identify and understand problems and opportunities Adapts Techniques Facilitates Discussions • Capture, understand and communicate requirements • Create and agree specifications and models Ensure everyone understands what the specified system should do • Builds Models Essential Skills: Clearly Describes What’s Needed Essential Unified Process • • Verbal and written communication Agreement facilitation • • Requirements capture Use-Case Modeling © Ivar Jacobson International, 2006 revsion 24 Supported by simple guidelines and references Reference books RUP Knowledge Base I help with test cases Intelligent Agents Agenda • What is a Practice? • What is Essential Unified Process? • How do you describe Practices? – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up Bill Gates: The Road Ahead Newsweek December 19, 2005: ”How ’intelligent agents’ and mind-mappers are taking our information democracy to the next stage.” Smart Practices have Smart Tools: intelligent agents I help with use cases I help with architecture I help with Iterative planning I help with Embedded Systems I help with Business Systems Virtual Pair Programmers Analysts Designer Tester Project Managers Active Guidance gives you expert advice just when you want it (if you want) Active Review monitors status, progress and quality for you (if you want) Active Automation performs mundane tasks for you (if you want) Smart Practices have Smart Tools: intelligent agents I help with use cases I help with architecture I help with Iterative planning I help with Embedded Systems I help with Business Systems Virtual Pair Programmers Analysts Designer Tester Project Managers Active Guidance gives you expert advice just when you want it (if you want) Active Review monitors status, progress and quality for you (if you want) Active Automation performs mundane tasks for you (if you want) Smart Practices have Smart Tools: intelligent agents I help with use cases I help with architecture I help with Iterative planning I help with Embedded Systems I help with Business Systems Virtual Pair Programmers Analysts Designer Tester Project Managers Active Guidance gives you expert advice just when you want it (if you want) Active Review monitors status, progress and quality for you (if you want) Active Automation performs mundane tasks for you (if you want) Agenda • What is a Practice? • What is Essential Unified Process? • How do you describe Practices? – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up Start here Finish here How it all fits together – summary this far Process Kernel Practices Cards References Guidelines Knowledge Base Agents and tools I do test cases Agenda • What is a Practice? • What is Essential Unified Process? • Making Practices useful – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up Remember the team goal… Current Situation and Opportunity Good Software To produce good software, quickly! Three collaborating games Use the Process in a Project [Development Game] Use the Process to Plan the Project Current Situation and Opportunity [Planning Game] Good Software Select Practices and Assemble a Process [Process Improvement Game] All implemented within Eclipse/EPF. Finish here Start here Playing the games In more detail ... The Game Board is initially a practice independent Process Kernel @ Key Generic Artifacts @ Key Generic Activities Play your cards to assemble your process and your schema Your Team Align Finish here People, Processes, Current Practices Start here • Where is the project in its lifecycle? • What have you produced already? • What do you do already? Play your cards to assemble your process and your schema Add Finish here Practice Practice Practice Practice Start here • What are you going to produce (artifacts) • What skills do you need (competencies)? • What are you going to do (activities)? All within Visual Studio Practice Practice Practice Practice Add Instantiate only the practices you need within Eclipse. Browse the Practices within Visual Studio Practice Explorer For Browsing Authoring, and Composing Practices See Cards within Visual Studio Agenda • What is a Practice? • What is Essential Unified Process? • Making Practices useful – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up Next Generation Process Challenge • How do you get the practices into your organization? • How do you adapt the practices into your organization? • How do you make the practices stay relevant in your organization? Multiply the challenges by the number of people and projects in your organization We need an Infrastructure!!! Next Generation Process Infrastructure Advantage Imagine You Can: Collect • • Discover, collect and describe the knowledge of thousands of experienced practitioners Dramatically reduce the work to access this knowledge Distill • • Deliver the knowledge you need, and only that knowledge, when you need it and not before Make practices smart, so that they actively help you to do your job better Empower • • Empower teams to create innovative and new waysof-working Exploit and build on existing practices rather than recycle and replace them EssWork – Bringing practices to life Practice Development Practice Delivery Practice Separation Practice Authoring Team Facilitation Run-Time Composition Practice Assembly Practice & Process Browsing Dynamic User Experience Practice Application Community Ecosystem Team Environment Practice Definition Practice Manipulation and Execution (EssWork Core) Practice Persistence Practice Tooling Practice User Interface EssWork: A Practice Centric Infrastructure EssWork: The Next Generation Process Infrastructure EssWork Web 2.0 User Experience EssWork Eclipse User Experience EssWork Visual Studio User Experience EssWork Microsoft Office User Experience …. … EssWork Core (Java/Microsoft) EssWork Native XML Datastore Microsoft Team Foundation Server IBM Rational Server JIRA Server …. … EssWork: For the Microsoft Environment EssWork Web 2.0 User Experience EssWork Eclipse User Experience EssWork Visual Studio User Experience EssWork Microsoft Office User Experience …. … EssWork Core (Java/Microsoft) EssWork Native XML Datastore Microsoft Team Foundation Server IBM Rational Server JIRA Server …. … Visual Studio Team System (without EssWork) Visual Studio Team Foundation Server Client Side Server Side WIQL Visual Studio Team System (with EssWork) EssWork Visual Studio Team Foundation Server P3QL WIQL EssWork Injects Practice Support into VSTS (on the client side and server side) Visual Studio Team System (with EssWork) • Client Side • • Practice development Practice facilitation • Server Side • • Adding EssWork Nature into existing workitems for practice guidance Adding practice based work items for greater control Adding an EssWork Nature to TFS Work Items Guidance Existing Process (e.g. MSF Agile, MSF CMMI) EssWork Nature Bug Scenario Task EssWork Nature EssWork Nature Component Use Case EssWork Nature EssWork Nature Selected Practices (from EssUP) Practice Development and Facilitation Practice Facilitation Practice Browsing and Authoring Agenda • What is a Practice? • What is Essential Unified Process? • Making Practices useful – – – – Practice separation Practice user experience Practice smartness How it all fits together – summary this far • How do you use Practices? • Bringing Practices to Life with EssWork • Wrap up The current situation – methods and processes 1st Generation 2nd Generation tacit explicit Ad Hoc Knowledge in textbooks USDP, SA&SD, OOSE, Scrum, XP Structured Knowledge in an engineered PD RUP, MSF, Select Perspective st Te Ca se Ad Hoc Knowledge ecif est yT UC DD ification 1st Generation 2nd Generation 3rd Generation tacit explicit smart Structured Knowledge Interactive Knowledge in an engineered PD RUP, MSF, Select Perspective in an active environment EssWork - Beyond Process Definitions An interactive knowledge base - bringing projects, teams, and tools together © Ivar Ja co on bs Individua different l Flows may have degrees of elab oration in textbooks USDP, SA&SD, OOSE, Scrum, XP In te • on ly st est ute T An a Exe c s gres k Pro Trac Use-C ase Sp ec io re vs n 24 nd ag EssInte ec e ob tio re an ifi ev le en rnation • n. e ed er d m sp co Ver tial al, 200 s sy yo • ec an m st6 ne ifi Ag ba Ski m d em un ca l un Req reem an lls: tio sh de ic d ns at ou rsta Use ui en wri e re an ld nd -C m t fa tt d do s rev as en ci en co isio w n 24 e ts litat ha m M t th ode capt ion m 20 un e 06 lin ur ic e g at io n • io na l, rn at Sp d an ts pu . in f io st o ar f te ose em en d t o rp st sc an se pu sy g DD a e t a ific UC nin es th no ec ig in for or a sp es def lts er ts rd em se su eth en fo st ca d re wh m n le sy io ore st te g p of te dat s bef m A pec uatin y im d un st on e ie syste ex al ectl s: fo g te leti if ts ar ble a n p se e ev rr ec ti mto: tes s uta t ec co t ca vid en tes sp ts ult the e ard m a e co nthe ex e D s ofst t res arUCD st Tes Pro ec t to becifie io me r te tes pleify th tha sp n at softw w y ic as s tio outco im rif • Sp fothe : t s of the llo ifrmsst tathe ts minne 24 Tes nter a • AVe ec m w de rfo w tehoen nt s et on g te and ste sp • pe nte ditiome stltme in gra Sy n to:visi finpelem d Ctoo ve lop mu u d in Inte klog Allo ateal de on Bac ifie ef the pla re • • De im -c ts it Res ec (d h ble wit Specifie evalu stithere tes Sp cuta d System en Pthe ut ted gresswsen:are ) as Exe tem d cu p wh pro Sys ss .n Fo m lo ed ty fie ec : edFble ual d • E ar ocinti 1.ds In act o letpro cifie velIde ect e test to y .n tow are Exp sntif Spe tem • mp r Proj ari n ess andses comp asgre Sys Stee Co 1. .nlyiside ce tion -C b st Ca en s e • ick 1. pro ple c d ity to Qu en ndse S ho : Tecom • ac ents U io • tivder erstaifie one CIntegra bterles ievem log ef ec.n ati ar on est The• Un Back 06 ach RSp e ific 1.t mil teTes en aandutabl one 20 ec dic emder Test: riExec est en: : l, sc Pre • Sp n Tes • a • st Syste eswh fi elop t ndmil iona nd d ified V ted ess Dev da Spec m oach e • Te t De ject Lea beyo rnat com • orAss prple Syste as UCDD ta fin ted A use-c te y isd ap lua Pro a m tes (such ivit In ase de spec D De ste :syEva sed e been anact ificat actor res on en ults The st lts ion desc n 24 uses add t Res Brie t dent assyste s) hav ribes and isio cobsmm Te flysuDes Spe tes defect item Lead revsed Re •JacoTeswhat m to achie how ct cifie nsyste epengthe cribe res Sys d and tm d d Indveklo add tem Re Proje ar achie sve a goal essio iosgoal. Iv •• Bac Exe grthat n tes ifiedoesefor yst flow the actor © cuta Anal d scenarradtio as Ver Sys ble • Re Modul Verifie tem rke n to Use-case maeg Bulleted Developer -Case rked as has bee wn • Int spec Useificat kno 06ma OutlineBacklog t • Capt ement ty is l, 20n ions: • The r ure requ enabee Tes ss tion Teste hav achiev m veloci ireme atio •Ex Definern ce fica Ap one ntstea roeci in e scen ec Sp est Int conte P pli xts: d tem ed and sonute• a Mil arios •• ob Enab Esse ential Ve roache king tes rect ord sTest Outl UniblefieSys rify le effec r Jac tive scopd app UC • the to Provide line tha ss trac DD Te TesCtero Exetiacuta :mende e mana © Iva rly gre 24 t the ev ula m the • Idedevealu detail ch pen om reg s pro geme nt exec uou revision to drive Rec ati Dev n ss le ntifylopm ent on activ theults E res elop iq they uta m s to en other crintin ities deliv de er er u ble e trat Fully • Co en terons es ces sure fec sy ensure ia of and d Pro tsvalue cribe Te Ad Desifie an Esse klogntial tha • Dem d tary the stem methat TheBac ch atial p Un 2006 tes the d plal,ce Contt ents: Test ets ac1tiv y iona n ts t ults in • Te• Back log rnatare Esseniq Nam ity e Res addre the ue -Case e is coon Inte F utabl • st: Brief Use s ule Exec m • An S 1Ev ssedbacklog Jacobs Dis acil mp Desc Mod kiIvaralu Syste leted y© ate riptio De lle •an cu ita ified Back n wh d fec Essential Spec m d1 Basic d ts: Flow te th log en Unifiedss • s st at Syste Tes s em : ces Te Proce io ss t B Anst• 0..nakAlter elIdenti ns ied Pro in eh ic nativfied uil al Resu al Unif© Ivar Jacob • ol iti e Flow Exe ys to ands dsTest ltsan cuta Res : Ande ng Reson Ess Essenti Id ts adde ble Intern ults comm M Es ent C r re op en ationa Sys ag aly he l, 2006 ial le d to tem o zed po se • • Au op tif Un de poen nt the y lp th reed qu de C tom ia rl d W aifie ls es rtun d ap e rt an Def lU • re ap ha y DProces ect • Pr tu ateun ni d ittesd unproteac syst ts, an ities og revisio qu ram fie t’s es s n 24 Bac • Ma C hes: em d , iremrema d klog , un iestingde am Pr Ne cri m renu • rs to: oc sp turnneed © Iva od ateal tesen tic de tes ed be ta es E ec in s r Jac el an tin tsg rs ting nd s ed s ifi g ta d obs sp nsur s pr ca The New Era – Interactive Practices EssUP in EssWork EssWork – What is it all about? Imagine You Can: Collect • • Thousands of experienced practitioners to describe their practices Dramatically reduce the work to access this knowledge Distill • • Deliver the practices you need, and only that knowledge, when you need it and not before Make practices smart, so that they actively help you to do your job better Empower • • Empower teams to create innovative and new waysof-working Exploit and build on existing practices rather than recycle and replace them EssUP and EssWork Product Releases Sign up for updates on EssUP, EssWork and free product releases at www.ivarjacobson.com [email protected]