SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
1




   Scrum on steroids - Building the "perfect" Scrum app
   with Eclipse technology

                   Christian Campo
                   EclipseCon Europe 2011




                     Confidential | Date | Other Information, if necessary
November 7, 2011                                                                                        © 2002 IBM Corporation
                                             Copyright © 2011 compeople AG, Made available under the Eclipse Public License v 1.0
Scrum	
  on	
  steroids	
  -­‐	
  Overview	
  

•  What	
  is	
  Scrumbox	
  ?	
  
•  MoIvaIon	
  
•  Architecture	
  
•  ImplementaIon	
  
•  Demo	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     2	
  
Scrumbox	
  

•  Scrum	
  planning	
  tool	
  
•  created	
  by	
  compeople	
  for	
  our	
  own	
  planning	
  
•  based	
  on	
  Eclipse	
  frameworks	
  (as	
  you	
  will	
  see)	
  
•  currently	
  internal	
  code	
  but	
  we	
  are	
  planning	
  on	
  open	
  sourcing	
  it	
  
•  more	
  later.....	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     3	
  
MoIvaIon	
  (Riena	
  perspecIve)	
  

•  We	
  had	
  mulIple	
  sample	
  apps	
  for	
  Riena	
  before	
  
•  Not	
  maintained	
  aRer	
  iniIal	
  creaIon	
  
•  Just	
  playgrounds	
  
•  miss-­‐used	
  to	
  reproduce	
  bug	
  reports	
  (became	
  preTy	
  unusable	
  as	
  
   showcase)	
  
•  an	
  alternaIve	
  demo	
  we	
  created	
  was	
  ok	
  but	
  preTy	
  trivial	
  
•  demo	
  didnt	
  progress	
  much	
  aRer	
  iniIal	
  creaIon	
  
•  customer	
  and	
  community	
  problems	
  used	
  more	
  complex	
  usecases	
  than	
  
   we	
  did	
  in	
  our	
  demos	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     4	
  
MoIvaIon	
  (Scrum	
  perspecIve)	
  

•  We	
  tested	
  and	
  used	
  a	
  number	
  of	
  alternaIves	
  
•  Excel	
  
•  some	
  tools	
  with	
  PHP	
  apps	
  
            •  PHP	
  ....	
  seriously	
  ?	
  
            •  with	
  bugs	
  
            •  0.3	
  commiTer	
  working	
  on	
  it	
  (some	
  with	
  no	
  update	
  in	
  the	
  last	
  6	
  month	
  or	
  
               more)	
  
•  the	
  way	
  they	
  used	
  Scrum,	
  Userstories,	
  Tasks	
  did	
  not	
  really	
  fit	
  
•  no	
  integraIon	
  with	
  any	
  bugtracker	
  
•  we	
  finally	
  wanted	
  a	
  tool	
  that	
  WORKED	
  (or	
  if	
  not	
  we	
  could	
  fix	
  it	
  
   ourselves)	
  


Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
         5	
  
MoIvaIon	
  (compeople	
  perspecIve)	
  

•  Have	
  an	
  interesIng	
  project	
  that	
  supplies	
  ideas	
  for	
  students,	
  bachelors	
  
   etc.	
  
•  A	
  project	
  to	
  train	
  new	
  employees	
  with	
  OSGi	
  and	
  Riena	
  etc.	
  
•  Get	
  a	
  beTer	
  understanding	
  how	
  we	
  could	
  use	
  other	
  Eclipse	
  
   frameworks	
  in	
  our	
  projects	
  
•  Test	
  and	
  beTer	
  understand	
  how	
  people	
  use	
  Riena	
  
•  A	
  project	
  that	
  interesIng	
  to	
  many	
  people,	
  and	
  find	
  interest	
  if	
  we	
  open	
  
   source	
  it	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     6	
  
Scrum	
  is...	
  

•  Teams	
                                                                                                    •  imports	
  Bugs	
  into	
  Userstories	
  
•  Users	
  (Developers)	
                                                                                    •  Burndown	
  charts	
  
•  Sprints	
                                                                                                  •  Workload	
  charts	
  
•  Userstories	
                                                                                              •  metrics	
  per	
  developer	
  
•  Tasks	
                                                                                                    •  availability	
  per	
  developer	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
                                 7	
  
Analyse	
  the	
  Domain	
  

•  Why	
  did	
  the	
  last	
  scrum	
  planning	
  tool	
  not	
  work	
  for	
  you	
  ?	
  
•  Are	
  their	
  other	
  (beTer	
  tools)	
  out	
  there	
  ?	
  
•  Excel,	
  MicrosoR	
  Project	
  ?	
  
•  A	
  reoccuring	
  design	
  problem	
  was	
  detected	
  in	
  most	
  tools	
  

            most scrum planning tools                                                                            scrumbox
          Products                                           Sprints                                             Products         Sprints
                                                              Userstories                                         Userstories      Tasks
                                                               Tasks




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
               8	
  
Talk	
  to	
  the	
  People	
  

•  Talk	
  to	
  the	
  various	
  user	
  groups	
  and	
  have	
  them	
  describe	
  their	
  top	
  
   usecases	
  
            •  developers	
  
            •  project	
  leads	
  
            •  scrum	
  master	
  
            •  head	
  of	
  department	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     9	
  
Talk	
  to	
  the	
  People	
  II	
  
•  developer                                                                                                                         •  project leads
     •  see open tasks                                                                                                                     •  look at bugtracker
     •  track times                                                                                                                        •  create userstories
                                                                                                                                           •  plan tasks
                                                                                                                                           •  look at burndown and workload
                                                                                                                                           •  check progress in sprint


•  scrummaster                                                                                                                •  head of department
      •  overview of planned tasks in a sprint                                                                                     •  hours worked per developer
      •  compare actual against planned burndown                                                                                   •  time spent on user stories
      •  sprint result presentation                                                                                                •  time spent on products




•  wishes
      •  calculate availability (hours available per developer/project)
      •  print timesheet per month (per project) for everyone




   Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
                                              10	
  
Eclipse	
  Frameworks	
  to	
  use	
  

•  Equinox,	
  RCP	
  
•  Riena	
  
•  EclipseLink	
  (MySQL)	
  
•  Nebula	
  (CompositeTable,	
  Grid,	
  NatTable)	
  
•  p2	
  (sIll	
  to	
  come)	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     11	
  
Client	
  /	
  Server	
  approach	
  I	
  

•  Riena	
  has	
  the	
  client	
  /	
  server	
  approach	
  built-­‐in	
  
•  most	
  other	
  Eclipse	
  frameworks	
  assume	
  everything	
  is	
  in	
  one	
  JVM	
  (in	
  
   one	
  Ier)	
  
•  EclipseLink	
  and	
  persistence	
  layer	
  only	
  on	
  server	
  
            •  no	
  dependency	
  on	
  persistence	
  packages	
  on	
  client	
  
•  server	
  stateless	
  
•  client	
  pulls	
  current	
  state	
  from	
  server	
  whenever	
  a	
  view	
  is	
  acEvated	
  
            •  no	
  local	
  storage	
  of	
  data,	
  refresh	
  every	
  Ime	
  a	
  view	
  becomes	
  acIve	
  
•  always	
  use	
  Jobs/UIProcess	
  to	
  refresh/load	
  data	
  from	
  server	
  
•  Security	
  is	
  no	
  issue,	
  same	
  access	
  rights	
  for	
  everybody	
  (has	
  a	
  login	
  
   process)	
  


Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     12	
  
Architecture	
  I	
  


             Scrumbox Client                                                                                                       Scrumbox Server
                                                                                    Remote Calls
    Views/Controllers/Logic                                                                                                               Services
                                                                                    over HTTPS
local Services                                   DTOs                                                                             DTOs               Entities

                          Riena                                                                                                   Riena         EclipseLink

 RCP                     Nebula                           ...                                                                             Equinox

                       Equinox

                                                                                                                                                                MySQL




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
                                           13	
  
Persistence	
  -­‐	
  EclipseLink	
  

•  use	
  DTOs	
  between	
  client	
  and	
  server	
  
•  load	
  defined	
  set	
  of	
  data	
  before	
  it	
  is	
  serialized	
  to	
  client	
  
•  copy	
  data	
  between	
  DTOs	
  and	
  EnIty	
  models	
  with	
  generic	
  uIlity	
  
•  remove	
  internal	
  EclipseLink	
  objects	
  from	
  EnIIes	
  before	
  you	
  copy	
  them	
  to	
  
   DTOs	
  (i.e.	
  IndirectLists)	
  
•  opEmisEc	
  locking	
  
•  guaranteed	
  integrity	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     14	
  
Persistence	
  –	
  EclipseLink	
  II	
  

•  PersistenceUnit	
  -­‐>	
  EnEtyManagerFactory	
  -­‐>	
  EnEtyManager	
  (EM)	
  which	
  
   is	
  a	
  context	
  for	
  enIIes.	
  
•  Client	
  -­‐>	
  EclipseLink	
  -­‐>	
  DB	
  (1	
  EM*	
  per	
  Client)	
  (standard	
  scenario)	
  
•  Client	
  -­‐>	
  Server	
  -­‐>	
  EclipseLink	
  -­‐>	
  DB	
  (??	
  EMs)	
  (Scrumbox/Riena)	
  
            •  started	
  with	
  1	
  permanent	
  EM	
  per	
  Server	
  
            •  login	
  to	
  DB	
  with	
  generic	
  userid	
  (not	
  user	
  specific)	
  
            •  created	
  random	
  errors	
  (racecondiIons)	
  
                         •  -­‐>	
  EM	
  instances	
  are	
  NOT	
  threadsafe 	
                                                	
     	
  	
  
            •  EclipseLink	
  Team	
  helped	
  and	
  now	
  we	
  pool	
  EMs	
  
•  if	
  you	
  think	
  of	
  EnItyManager	
  as	
  “connecIon”	
  then	
  it	
  becomes	
  more	
  
   obvious...	
  



Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
                       15	
  
Architecture	
  II	
  


                                                                                                                                   Scrumbox Server
                                                                                                                                          Services

                                                                                                                                  DTOs               Entities

                                                                                                                                  Riena         EclipseLink

                                                                                                                                          Equinox



                                                                                                                                                                MySQL




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
                                       16	
  
Map	
  Domain	
  to	
  Riena	
  NavigaIon	
  
Model	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     17	
  
Statusmeter	
  SWT	
  Widget	
  

•  Did	
  you	
  see	
  the	
  statusmeter	
  ?	
  
•  We	
  needed	
  a	
  bar	
  to	
  visualize	
  the	
  progress	
  of	
  a	
  task	
  
            •  support	
  different	
  colors	
  
            •  that	
  can	
  be	
  displayed	
  as	
  widget	
  or	
  in	
  a	
  table	
  
•  Didnt	
  exist	
  in	
  SWT	
  or	
  Nebula	
  
•  So	
  we	
  created	
  a	
  new	
  widget	
  and	
  contributed	
  the	
  code	
  to	
  Riena.	
  
•  SIll	
  a	
  limitaIon	
  in	
  SWT	
  Table	
  only	
  allows	
  it	
  to	
  be	
  displayed	
  in	
  the	
  first	
  
   column	
  *grrrrr*	
  




       Note: You can put an image into another column but then SWT Table inserts a blank ident


Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     18	
  
Tables	
  I	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     19	
  
SWT	
  table	
  implementaIons	
  

•  We	
  were	
  also	
  looking	
  for	
  the	
  "perfect"	
  SWT	
  Table	
  implementaIons	
  :-­‐)	
  
•  Requirements	
  for	
  table	
  implementaIon	
  
            •  Tables	
  where	
  the	
  number	
  of	
  columns	
  could	
  dynamically	
  change	
  
            •  Tables	
  that	
  could	
  display	
  the	
  statusmeter	
  (in	
  any	
  column)	
  
            •  Table	
  that	
  supports	
  checkboxes	
  or	
  text	
  fields	
  in	
  cells	
  
            •  Varying	
  height	
  of	
  row	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     20	
  
Tables	
  II	
  
•  SWT Table
     •  default + platform look and feel
     •  problem if image is not in the first column
     •  you cannot add widgets into cells or multiple widgets (maybe CellEditors)
     •  same height for all rows

•  CompositeTable                                                                                          •  Grid
     •  header in platform look                                                                                  •  no platform look
     •  repaint issues                                                                                           •  shows selections
     •  does not show selection in row                                                                           •  varying row height
     •  can have widgets in cells                                                                                •  widgets in cells
                                                                                                                 •  can configure Renderers
•  NatTable
     •  complex API (different concept)
     •  no support for JFace




 Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
                21	
  
Mylyn	
  

•  used	
  as	
  universal	
  API	
  for	
  retrieving	
  bug	
  informaIon	
  
•  rather	
  than	
  wriIng	
  accessors	
  for	
  Bugzilla,	
  ManIs	
  etc.	
  Scrumbox	
  
•  we	
  programmed	
  against	
  Mylyn	
  code	
  which	
  in	
  turn	
  than	
  access	
  the	
  
   bugreporIng	
  content	
  
•  uses	
  some	
  internal	
  API	
  of	
  Mylyn	
  but	
  works	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     22	
  
New	
  Technologies	
  	
  -­‐	
  Testbed	
  

•  We	
  made	
  our	
  first	
  steps	
  using	
  Git	
  with	
  the	
  Scrumbox	
  codebase.	
  
•  Started	
  using	
  Tycho	
  and	
  Maven	
  with	
  Scrumbox	
  
            •  for	
  all	
  three	
  plalorms	
  (Windows,	
  Mac,	
  Linux)	
  
            •  building	
  client	
  and	
  server	
  
•  We	
  did	
  extensive	
  Performance,	
  Memoryleak	
  analysis	
  based	
  on	
  the	
  
   Scrumbox	
  client	
  for	
  code	
  in	
  Riena.	
  
            •  found	
  a	
  few	
  problems	
  when	
  redeploying	
  .WAR	
  archives	
  in	
  running	
  JVMs	
  
            •  found	
  problems	
  that	
  only	
  occurred	
  when	
  client	
  is	
  running	
  for	
  a	
  longer	
  
               Ime	
  




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     23	
  
Demo




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     24	
  
Conclusion	
  
•  Scrumbox	
  achieved	
  our	
  main	
  goals	
  
            •  making	
  Riena	
  a	
  beTer	
  framework	
  
            •  idenIfy	
  pain	
  points	
  in	
  Riena	
  
            •  have	
  a	
  scrum	
  planing	
  tool	
  
            •  create	
  an	
  environment	
  for	
  people	
  to	
  learn	
  about	
  Riena	
  and	
  Eclipse	
  
               technology	
  
•  Lessons	
  learned:	
  Eat	
  your	
  own	
  dog	
  food	
  
            •  Find	
  out	
  how	
  easy	
  it	
  is	
  to	
  use	
  your	
  API	
  
            •  Find	
  problems,	
  bugs,	
  race	
  condiIons	
  
            •  Have	
  a	
  product	
  to	
  test	
  your	
  weekly	
  builds	
  against	
  (internally)	
  
•  We	
  spent	
  a	
  lot	
  of	
  Ime	
  figuring	
  out	
  how	
  some	
  Eclipse	
  frameworks	
  
   would	
  best	
  work	
  in	
  a	
  client	
  /	
  server	
  environment.	
  
•  Plan	
  to	
  open	
  source	
  in	
  the	
  near	
  future	
  

Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     25	
  
Q&A	
  




  •  http://www.eclipse.org/riena
  •  http://wiki.eclipse.org/Riena




Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     26	
  
Copyright	
  ©	
  2011	
  compeople	
  AG,	
  Made	
  available	
  under	
  the	
  Eclipse	
  Public	
  License	
  v	
  1.0	
     27	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Oslo Schibsted Performance Gathering
Oslo Schibsted Performance GatheringOslo Schibsted Performance Gathering
Oslo Schibsted Performance GatheringAlmudena Vivanco
 
Dev Tools State of the Union (Part II) - Atlassian Summit 2010
Dev Tools State of the Union (Part II) - Atlassian Summit 2010Dev Tools State of the Union (Part II) - Atlassian Summit 2010
Dev Tools State of the Union (Part II) - Atlassian Summit 2010Atlassian
 
03/2012 - Popping the gherkin stack
03/2012 - Popping the gherkin stack03/2012 - Popping the gherkin stack
03/2012 - Popping the gherkin stackdaveayan
 
Effective Spring on Kubernetes
Effective Spring on KubernetesEffective Spring on Kubernetes
Effective Spring on KubernetesNeven Cvetković
 
Engineering Culture and Infrastructure
Engineering Culture and InfrastructureEngineering Culture and Infrastructure
Engineering Culture and InfrastructureSchubert Zhang
 
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?Miles Sabin
 
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?Miles Sabin
 
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010Atlassian
 
Solo iterative process
Solo iterative processSolo iterative process
Solo iterative processdrewz lin
 
Eclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in EclipseEclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in EclipseMiles Sabin
 
Sakai Technical Future Musings
Sakai Technical Future MusingsSakai Technical Future Musings
Sakai Technical Future MusingsCharles Severance
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionProduct Marketing Services
 
Manage your project differently
Manage your project differentlyManage your project differently
Manage your project differentlyTechMaster Vietnam
 
Eclipse OMR: a modern toolkit for building language runtimes
Eclipse OMR: a modern toolkit for building language runtimesEclipse OMR: a modern toolkit for building language runtimes
Eclipse OMR: a modern toolkit for building language runtimesMark Stoodley
 

Was ist angesagt? (18)

Jenkins-meetup
Jenkins-meetupJenkins-meetup
Jenkins-meetup
 
Oslo Schibsted Performance Gathering
Oslo Schibsted Performance GatheringOslo Schibsted Performance Gathering
Oslo Schibsted Performance Gathering
 
Dev Tools State of the Union (Part II) - Atlassian Summit 2010
Dev Tools State of the Union (Part II) - Atlassian Summit 2010Dev Tools State of the Union (Part II) - Atlassian Summit 2010
Dev Tools State of the Union (Part II) - Atlassian Summit 2010
 
03/2012 - Popping the gherkin stack
03/2012 - Popping the gherkin stack03/2012 - Popping the gherkin stack
03/2012 - Popping the gherkin stack
 
Effective Spring on Kubernetes
Effective Spring on KubernetesEffective Spring on Kubernetes
Effective Spring on Kubernetes
 
Engineering Culture and Infrastructure
Engineering Culture and InfrastructureEngineering Culture and Infrastructure
Engineering Culture and Infrastructure
 
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
 
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
 
Advanced Effects Oscon 2007
Advanced Effects   Oscon 2007Advanced Effects   Oscon 2007
Advanced Effects Oscon 2007
 
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
 
Solo iterative process
Solo iterative processSolo iterative process
Solo iterative process
 
Eclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in EclipseEclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in Eclipse
 
Sakai Technical Future Musings
Sakai Technical Future MusingsSakai Technical Future Musings
Sakai Technical Future Musings
 
The BEST agile process
The BEST agile processThe BEST agile process
The BEST agile process
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
Java1 in mumbai
Java1 in mumbaiJava1 in mumbai
Java1 in mumbai
 
Manage your project differently
Manage your project differentlyManage your project differently
Manage your project differently
 
Eclipse OMR: a modern toolkit for building language runtimes
Eclipse OMR: a modern toolkit for building language runtimesEclipse OMR: a modern toolkit for building language runtimes
Eclipse OMR: a modern toolkit for building language runtimes
 

Andere mochten auch

Hábitos De Lectura Y Compra De Libros1
Hábitos De Lectura Y Compra De Libros1Hábitos De Lectura Y Compra De Libros1
Hábitos De Lectura Y Compra De Libros1bretemas
 
LA ECO-NUTRICIÓN
LA ECO-NUTRICIÓNLA ECO-NUTRICIÓN
LA ECO-NUTRICIÓNJocelineP
 
Update 17; confessions part 1
Update 17; confessions part 1Update 17; confessions part 1
Update 17; confessions part 1Sims2SNFKGGH
 
Impacts de la conteneurisation
     Impacts de la conteneurisation     Impacts de la conteneurisation
Impacts de la conteneurisationRabah HELAL
 
Dispache memoire
Dispache   memoireDispache   memoire
Dispache memoireRabah HELAL
 
Leveraging smartphone cameras
Leveraging smartphone camerasLeveraging smartphone cameras
Leveraging smartphone camerasMuthu Samy
 
Contaminación de las aguas
Contaminación de las aguasContaminación de las aguas
Contaminación de las aguasJulio Sanchez
 
Dispache memoire
Dispache   memoireDispache   memoire
Dispache memoireRabah HELAL
 
Texto docente Ciencias Naturales 1°
Texto docente Ciencias Naturales 1°Texto docente Ciencias Naturales 1°
Texto docente Ciencias Naturales 1°León H. Valenzuela G
 
Prevent child sexual_abuse_2
Prevent child sexual_abuse_2Prevent child sexual_abuse_2
Prevent child sexual_abuse_2Yaw Khan
 
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012Antonny Clark
 
Sewing basics-from-sew-news
Sewing basics-from-sew-newsSewing basics-from-sew-news
Sewing basics-from-sew-newsswathinallakatla
 
Figuras geometricas
Figuras geometricasFiguras geometricas
Figuras geometricasZomblack
 
Avarie commune by r helal
  Avarie commune by r helal  Avarie commune by r helal
Avarie commune by r helalRabah HELAL
 

Andere mochten auch (20)

Hábitos De Lectura Y Compra De Libros1
Hábitos De Lectura Y Compra De Libros1Hábitos De Lectura Y Compra De Libros1
Hábitos De Lectura Y Compra De Libros1
 
Engl1102-- Evaluating Sources-- Nagel
Engl1102-- Evaluating Sources-- NagelEngl1102-- Evaluating Sources-- Nagel
Engl1102-- Evaluating Sources-- Nagel
 
LA ECO-NUTRICIÓN
LA ECO-NUTRICIÓNLA ECO-NUTRICIÓN
LA ECO-NUTRICIÓN
 
Update 17; confessions part 1
Update 17; confessions part 1Update 17; confessions part 1
Update 17; confessions part 1
 
Impacts de la conteneurisation
     Impacts de la conteneurisation     Impacts de la conteneurisation
Impacts de la conteneurisation
 
Iper pgdm syllabus
Iper pgdm  syllabusIper pgdm  syllabus
Iper pgdm syllabus
 
Dispache memoire
Dispache   memoireDispache   memoire
Dispache memoire
 
Leveraging smartphone cameras
Leveraging smartphone camerasLeveraging smartphone cameras
Leveraging smartphone cameras
 
Contaminación de las aguas
Contaminación de las aguasContaminación de las aguas
Contaminación de las aguas
 
Libertadparavolar
LibertadparavolarLibertadparavolar
Libertadparavolar
 
Dispache memoire
Dispache   memoireDispache   memoire
Dispache memoire
 
Yo Amo A Mi Marca
Yo Amo A Mi MarcaYo Amo A Mi Marca
Yo Amo A Mi Marca
 
Texto docente Ciencias Naturales 1°
Texto docente Ciencias Naturales 1°Texto docente Ciencias Naturales 1°
Texto docente Ciencias Naturales 1°
 
Prevent child sexual_abuse_2
Prevent child sexual_abuse_2Prevent child sexual_abuse_2
Prevent child sexual_abuse_2
 
Fmea basics
Fmea basicsFmea basics
Fmea basics
 
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
RESULTADO FINAL NAS PROVAS OBJETIVAS Ronda 2012
 
Sewing basics-from-sew-news
Sewing basics-from-sew-newsSewing basics-from-sew-news
Sewing basics-from-sew-news
 
Figuras geometricas
Figuras geometricasFiguras geometricas
Figuras geometricas
 
Area figuras volumen_cuerpos
Area figuras volumen_cuerposArea figuras volumen_cuerpos
Area figuras volumen_cuerpos
 
Avarie commune by r helal
  Avarie commune by r helal  Avarie commune by r helal
Avarie commune by r helal
 

Ähnlich wie Scrumbox ece2011.pptx

Path to agility, Ken Schwaber
Path to agility, Ken SchwaberPath to agility, Ken Schwaber
Path to agility, Ken SchwaberXavier Warzee
 
Papyrus for RealTime - Executable Modeling on Eclipse
Papyrus for RealTime - Executable Modeling on EclipsePapyrus for RealTime - Executable Modeling on Eclipse
Papyrus for RealTime - Executable Modeling on EclipseCharles Rivet
 
GWT Jug Stuttgart
GWT Jug StuttgartGWT Jug Stuttgart
GWT Jug Stuttgarthbraun
 
Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...techblog
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
DevOps environment with OpenStack and NetApp
DevOps environment with OpenStack and NetAppDevOps environment with OpenStack and NetApp
DevOps environment with OpenStack and NetAppB1 Systems GmbH
 
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared ContextSwitch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Contextalexandersahm
 
Lean & agile 101 for Astute Entrepreneurs
Lean & agile 101 for Astute EntrepreneursLean & agile 101 for Astute Entrepreneurs
Lean & agile 101 for Astute EntrepreneursClaudio Perrone
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive uiPaul van Zyl
 
How to explain what JRebel does to a developer
How to explain what JRebel does to a developerHow to explain what JRebel does to a developer
How to explain what JRebel does to a developerBogomil Shopov
 
Rationalize Android Development with StAnD - Clement Escoffier, akquinet
Rationalize Android Development with StAnD - Clement Escoffier, akquinetRationalize Android Development with StAnD - Clement Escoffier, akquinet
Rationalize Android Development with StAnD - Clement Escoffier, akquinetParis Open Source Summit
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremKris Buytaert
 
Jug Zurich Slides
Jug Zurich SlidesJug Zurich Slides
Jug Zurich Slideshbraun
 
My Efforts to Define DevOps
My Efforts to Define DevOpsMy Efforts to Define DevOps
My Efforts to Define DevOpsSopan Shewale
 
Soccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPagesSoccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPagesLetsConnect
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyondrsebbe
 

Ähnlich wie Scrumbox ece2011.pptx (20)

Agiletools
AgiletoolsAgiletools
Agiletools
 
Path to agility, Ken Schwaber
Path to agility, Ken SchwaberPath to agility, Ken Schwaber
Path to agility, Ken Schwaber
 
Papyrus for RealTime - Executable Modeling on Eclipse
Papyrus for RealTime - Executable Modeling on EclipsePapyrus for RealTime - Executable Modeling on Eclipse
Papyrus for RealTime - Executable Modeling on Eclipse
 
GWT Jug Stuttgart
GWT Jug StuttgartGWT Jug Stuttgart
GWT Jug Stuttgart
 
Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Agile intro module 1
Agile intro   module 1Agile intro   module 1
Agile intro module 1
 
DevOps environment with OpenStack and NetApp
DevOps environment with OpenStack and NetAppDevOps environment with OpenStack and NetApp
DevOps environment with OpenStack and NetApp
 
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared ContextSwitch! Recommending Artifacts Needed Next Based on Personal and Shared Context
Switch! Recommending Artifacts Needed Next Based on Personal and Shared Context
 
Lean & agile 101 for Astute Entrepreneurs
Lean & agile 101 for Astute EntrepreneursLean & agile 101 for Astute Entrepreneurs
Lean & agile 101 for Astute Entrepreneurs
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
 
How to explain what JRebel does to a developer
How to explain what JRebel does to a developerHow to explain what JRebel does to a developer
How to explain what JRebel does to a developer
 
Rationalize Android Development with StAnD - Clement Escoffier, akquinet
Rationalize Android Development with StAnD - Clement Escoffier, akquinetRationalize Android Development with StAnD - Clement Escoffier, akquinet
Rationalize Android Development with StAnD - Clement Escoffier, akquinet
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
88908872 scrum
88908872 scrum88908872 scrum
88908872 scrum
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Jug Zurich Slides
Jug Zurich SlidesJug Zurich Slides
Jug Zurich Slides
 
My Efforts to Define DevOps
My Efforts to Define DevOpsMy Efforts to Define DevOps
My Efforts to Define DevOps
 
Soccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPagesSoccnx III - Using Social Controls in XPages
Soccnx III - Using Social Controls in XPages
 
Xcode, Basics and Beyond
Xcode, Basics and BeyondXcode, Basics and Beyond
Xcode, Basics and Beyond
 

Kürzlich hochgeladen

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Kürzlich hochgeladen (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Scrumbox ece2011.pptx

  • 1. 1 Scrum on steroids - Building the "perfect" Scrum app with Eclipse technology Christian Campo EclipseCon Europe 2011 Confidential | Date | Other Information, if necessary November 7, 2011 © 2002 IBM Corporation Copyright © 2011 compeople AG, Made available under the Eclipse Public License v 1.0
  • 2. Scrum  on  steroids  -­‐  Overview   •  What  is  Scrumbox  ?   •  MoIvaIon   •  Architecture   •  ImplementaIon   •  Demo   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   2  
  • 3. Scrumbox   •  Scrum  planning  tool   •  created  by  compeople  for  our  own  planning   •  based  on  Eclipse  frameworks  (as  you  will  see)   •  currently  internal  code  but  we  are  planning  on  open  sourcing  it   •  more  later.....   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   3  
  • 4. MoIvaIon  (Riena  perspecIve)   •  We  had  mulIple  sample  apps  for  Riena  before   •  Not  maintained  aRer  iniIal  creaIon   •  Just  playgrounds   •  miss-­‐used  to  reproduce  bug  reports  (became  preTy  unusable  as   showcase)   •  an  alternaIve  demo  we  created  was  ok  but  preTy  trivial   •  demo  didnt  progress  much  aRer  iniIal  creaIon   •  customer  and  community  problems  used  more  complex  usecases  than   we  did  in  our  demos   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   4  
  • 5. MoIvaIon  (Scrum  perspecIve)   •  We  tested  and  used  a  number  of  alternaIves   •  Excel   •  some  tools  with  PHP  apps   •  PHP  ....  seriously  ?   •  with  bugs   •  0.3  commiTer  working  on  it  (some  with  no  update  in  the  last  6  month  or   more)   •  the  way  they  used  Scrum,  Userstories,  Tasks  did  not  really  fit   •  no  integraIon  with  any  bugtracker   •  we  finally  wanted  a  tool  that  WORKED  (or  if  not  we  could  fix  it   ourselves)   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   5  
  • 6. MoIvaIon  (compeople  perspecIve)   •  Have  an  interesIng  project  that  supplies  ideas  for  students,  bachelors   etc.   •  A  project  to  train  new  employees  with  OSGi  and  Riena  etc.   •  Get  a  beTer  understanding  how  we  could  use  other  Eclipse   frameworks  in  our  projects   •  Test  and  beTer  understand  how  people  use  Riena   •  A  project  that  interesIng  to  many  people,  and  find  interest  if  we  open   source  it   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   6  
  • 7. Scrum  is...   •  Teams   •  imports  Bugs  into  Userstories   •  Users  (Developers)   •  Burndown  charts   •  Sprints   •  Workload  charts   •  Userstories   •  metrics  per  developer   •  Tasks   •  availability  per  developer   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   7  
  • 8. Analyse  the  Domain   •  Why  did  the  last  scrum  planning  tool  not  work  for  you  ?   •  Are  their  other  (beTer  tools)  out  there  ?   •  Excel,  MicrosoR  Project  ?   •  A  reoccuring  design  problem  was  detected  in  most  tools   most scrum planning tools scrumbox Products Sprints Products Sprints Userstories Userstories Tasks Tasks Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   8  
  • 9. Talk  to  the  People   •  Talk  to  the  various  user  groups  and  have  them  describe  their  top   usecases   •  developers   •  project  leads   •  scrum  master   •  head  of  department   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   9  
  • 10. Talk  to  the  People  II   •  developer •  project leads •  see open tasks •  look at bugtracker •  track times •  create userstories •  plan tasks •  look at burndown and workload •  check progress in sprint •  scrummaster •  head of department •  overview of planned tasks in a sprint •  hours worked per developer •  compare actual against planned burndown •  time spent on user stories •  sprint result presentation •  time spent on products •  wishes •  calculate availability (hours available per developer/project) •  print timesheet per month (per project) for everyone Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   10  
  • 11. Eclipse  Frameworks  to  use   •  Equinox,  RCP   •  Riena   •  EclipseLink  (MySQL)   •  Nebula  (CompositeTable,  Grid,  NatTable)   •  p2  (sIll  to  come)   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   11  
  • 12. Client  /  Server  approach  I   •  Riena  has  the  client  /  server  approach  built-­‐in   •  most  other  Eclipse  frameworks  assume  everything  is  in  one  JVM  (in   one  Ier)   •  EclipseLink  and  persistence  layer  only  on  server   •  no  dependency  on  persistence  packages  on  client   •  server  stateless   •  client  pulls  current  state  from  server  whenever  a  view  is  acEvated   •  no  local  storage  of  data,  refresh  every  Ime  a  view  becomes  acIve   •  always  use  Jobs/UIProcess  to  refresh/load  data  from  server   •  Security  is  no  issue,  same  access  rights  for  everybody  (has  a  login   process)   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   12  
  • 13. Architecture  I   Scrumbox Client Scrumbox Server Remote Calls Views/Controllers/Logic Services over HTTPS local Services DTOs DTOs Entities Riena Riena EclipseLink RCP Nebula ... Equinox Equinox MySQL Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   13  
  • 14. Persistence  -­‐  EclipseLink   •  use  DTOs  between  client  and  server   •  load  defined  set  of  data  before  it  is  serialized  to  client   •  copy  data  between  DTOs  and  EnIty  models  with  generic  uIlity   •  remove  internal  EclipseLink  objects  from  EnIIes  before  you  copy  them  to   DTOs  (i.e.  IndirectLists)   •  opEmisEc  locking   •  guaranteed  integrity   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   14  
  • 15. Persistence  –  EclipseLink  II   •  PersistenceUnit  -­‐>  EnEtyManagerFactory  -­‐>  EnEtyManager  (EM)  which   is  a  context  for  enIIes.   •  Client  -­‐>  EclipseLink  -­‐>  DB  (1  EM*  per  Client)  (standard  scenario)   •  Client  -­‐>  Server  -­‐>  EclipseLink  -­‐>  DB  (??  EMs)  (Scrumbox/Riena)   •  started  with  1  permanent  EM  per  Server   •  login  to  DB  with  generic  userid  (not  user  specific)   •  created  random  errors  (racecondiIons)   •  -­‐>  EM  instances  are  NOT  threadsafe         •  EclipseLink  Team  helped  and  now  we  pool  EMs   •  if  you  think  of  EnItyManager  as  “connecIon”  then  it  becomes  more   obvious...   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   15  
  • 16. Architecture  II   Scrumbox Server Services DTOs Entities Riena EclipseLink Equinox MySQL Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   16  
  • 17. Map  Domain  to  Riena  NavigaIon   Model   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   17  
  • 18. Statusmeter  SWT  Widget   •  Did  you  see  the  statusmeter  ?   •  We  needed  a  bar  to  visualize  the  progress  of  a  task   •  support  different  colors   •  that  can  be  displayed  as  widget  or  in  a  table   •  Didnt  exist  in  SWT  or  Nebula   •  So  we  created  a  new  widget  and  contributed  the  code  to  Riena.   •  SIll  a  limitaIon  in  SWT  Table  only  allows  it  to  be  displayed  in  the  first   column  *grrrrr*   Note: You can put an image into another column but then SWT Table inserts a blank ident Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   18  
  • 19. Tables  I   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   19  
  • 20. SWT  table  implementaIons   •  We  were  also  looking  for  the  "perfect"  SWT  Table  implementaIons  :-­‐)   •  Requirements  for  table  implementaIon   •  Tables  where  the  number  of  columns  could  dynamically  change   •  Tables  that  could  display  the  statusmeter  (in  any  column)   •  Table  that  supports  checkboxes  or  text  fields  in  cells   •  Varying  height  of  row   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   20  
  • 21. Tables  II   •  SWT Table •  default + platform look and feel •  problem if image is not in the first column •  you cannot add widgets into cells or multiple widgets (maybe CellEditors) •  same height for all rows •  CompositeTable •  Grid •  header in platform look •  no platform look •  repaint issues •  shows selections •  does not show selection in row •  varying row height •  can have widgets in cells •  widgets in cells •  can configure Renderers •  NatTable •  complex API (different concept) •  no support for JFace Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   21  
  • 22. Mylyn   •  used  as  universal  API  for  retrieving  bug  informaIon   •  rather  than  wriIng  accessors  for  Bugzilla,  ManIs  etc.  Scrumbox   •  we  programmed  against  Mylyn  code  which  in  turn  than  access  the   bugreporIng  content   •  uses  some  internal  API  of  Mylyn  but  works   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   22  
  • 23. New  Technologies    -­‐  Testbed   •  We  made  our  first  steps  using  Git  with  the  Scrumbox  codebase.   •  Started  using  Tycho  and  Maven  with  Scrumbox   •  for  all  three  plalorms  (Windows,  Mac,  Linux)   •  building  client  and  server   •  We  did  extensive  Performance,  Memoryleak  analysis  based  on  the   Scrumbox  client  for  code  in  Riena.   •  found  a  few  problems  when  redeploying  .WAR  archives  in  running  JVMs   •  found  problems  that  only  occurred  when  client  is  running  for  a  longer   Ime   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   23  
  • 24. Demo Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   24  
  • 25. Conclusion   •  Scrumbox  achieved  our  main  goals   •  making  Riena  a  beTer  framework   •  idenIfy  pain  points  in  Riena   •  have  a  scrum  planing  tool   •  create  an  environment  for  people  to  learn  about  Riena  and  Eclipse   technology   •  Lessons  learned:  Eat  your  own  dog  food   •  Find  out  how  easy  it  is  to  use  your  API   •  Find  problems,  bugs,  race  condiIons   •  Have  a  product  to  test  your  weekly  builds  against  (internally)   •  We  spent  a  lot  of  Ime  figuring  out  how  some  Eclipse  frameworks   would  best  work  in  a  client  /  server  environment.   •  Plan  to  open  source  in  the  near  future   Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   25  
  • 26. Q&A   •  http://www.eclipse.org/riena •  http://wiki.eclipse.org/Riena Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   26  
  • 27. Copyright  ©  2011  compeople  AG,  Made  available  under  the  Eclipse  Public  License  v  1.0   27