Docstoc

EOSP - Spring 2008

Document Sample
EOSP - Spring 2008 Powered By Docstoc
					Spring 2008 Reflections
          &
Are we ready for Summer?

       Bosch Buzzers
   Liang-Yun Wang (Mac)
  Yun-Yin Huang (Melody)
        Darpan Saini
       Vytesh Ramesh
       Yongjoon Choi
Outline
   Project Overview
   Gathering the architecture drivers
   Creating the architecture
   Getting ready for summer
   Summary
   Q&A




9/18/2012                  2             Bosch Buzzers - EOSP Spring 2008
The team

        Role                           Team member
        Managing Engineer              Melody
        Support Engineer               Darpan
        Quality Manager
        Requirement Engineer, Client   Choi
        liaison                        Darpan
        Chief Scientist                Vytesh
        Chief Architect                Mac
        Software Engineer              All




9/18/2012                          3            Bosch Buzzers - EOSP Spring 2008
                                                Summer    Summer
Overview      Requirements   Architecture                              Infrastructure        Q&A
                                                Process     Plan

Clients, mentors & technical advisors
   Client
       Robert Bosch LLC Research &Technology Center, North America
       Representatives:
           Dr. Chris Martin
           Dr. Charles Shelton
           Dr. Marcelo Cataldo

   Mentors
       Mel Rosso-Llopart
       Felix Bachmann

   Technical advisor
       Dr. Jim Herbsleb
       Tony Lattanze

9/18/2012                                   4             Bosch Buzzers - EOSP Spring 2008
                                                  Summer    Summer
    Overview    Requirements   Architecture                              Infrastructure        Q&A
                                                  Process     Plan

    Project goal




   Short research report in GSD best practice
   Produce a prototype for software to assist in collaboration
    and conformance checking during the design phase
   This prototype could later be extended by the client

    9/18/2012                                 5             Bosch Buzzers - EOSP Spring 2008
Context diagram




9/18/2012         6   Bosch Buzzers - EOSP Spring 2008
Architecture centered process
                         Stage 1: Discover architecture drivers

                         Stage 2: Establish project scope

                         Stage 3: Create notional architecture

                         Stage 4: architecture review

                                        5. Production
                                        Go? No-Go?

    Stage 6: Experiment planning                            Stage 6: Production planning


    Stage 7: Experiment executing                           Stage 7: Production
    and refine architecture


2008/3/7                            7                   Bosch Buzzers - MOSP Spring2008
Functional requirements stability
            Collaboration
            experiment



                                       Re-scope




                            Paper prototypes,
                            Talking to experts




9/18/2012                   8              Bosch Buzzers - EOSP Spring 2008
Constraints
   Technical
       Must plug into Eclipse
       Windows 2000 or XP should be used as the operating
        system for development
   Business
       Schedule – Initial delivery by August 15th
       Resources – 5 member MSE team




2012/9/18                      9            Bosch Buzzers, MSE, CMU 2007-2008
            Mac: Looks good                                                                             Mac
            Mac: class1 blah blah
            Mac: class 2 blah blah                                                                      Darpan
            Darpan: sure does
            Darpan: No class 3, I am not even looking at what you are saying man!!




9/18/2012                       10                                   Bosch Buzzers - EOSP Spring 2008
            Mac: Looks good                                                                             Mac
            Mac: class1 blah blah
            Mac: class 2 blah blah                                                                      Darpan
            Darpan: sure does
            Darpan: No class 3, I am not even looking at what you are saying man!!




9/18/2012                       11                                   Bosch Buzzers - EOSP Spring 2008
            Mac: Looks good                                                                             Mac
            Mac: class1 blah blah
            Mac: class 2 blah blah                                                                      Darpan
            Darpan: sure does
            Darpan: No class 3, I am not even looking at what you are saying man!!
            Darpan: Move this to the Whiteboard




9/18/2012                       12                                   Bosch Buzzers - EOSP Spring 2008
            Mac: Looks good                                                                             Mac
            Mac: class1 blah blah
            Mac: class 2 blah blah                                                                      Darpan
            Darpan: sure does
            Darpan: No class 3, I am not even looking at what you are saying man!!
            Darpan: Move this to the Whiteboard




9/18/2012                       13                                   Bosch Buzzers - EOSP Spring 2008
The architecture
   Used Attribute Driven Design (ADD) to create the
    architecture
   Architecture review
   Did experiments to answer questions in the architecture
       Eclipse
       Graphical Editing Framework (GEF)
       Eclipse Modeling Framework (EMF)
       Java EE




9/18/2012                   14              Bosch Buzzers - EOSP Spring 2008
9/18/2012   15   Bosch Buzzers - EOSP Spring 2008
QAW - High
ID       Quality       Attribute    QA scenario
         attribute     concern
QA03     Flexibility   New design   A new view containing two different elements with
                       views        properties and two different type of relations with
                                    properties and topology constraints and hooks to
                                    other views has to be created using the tool. The
                                    specification is executed by the tool with no errors.
                                    And the spec is added by someone familiar with
                                    the tool within 80 hours.
QA04     Flexibility   Concepts     Charles comes up with a new metric or analysis to
                                    evaluate the design, e.g. a new type of constraint
                                    between two views needs to be checked, should
                                    be added to the tool after the analysis has been
                                    implemented, within 8 hours.




Bosch Buzzers - EOSP                16                          2007/12/13
Fall2007
QAW - High
ID       Quality       Attribute       QA scenario
         attribute     concern
QA07     Interoper     Usage of        A UML state chart U is edited and saved using
         ability       artifact        Charles's tool. This chart U is readable by any other
                       between         standard UML editor. The artifact produced is
                       different       compliant to OMG (object management group)
                       tools           UML serialization standard.
QA08     Usability     interactivity   Consider a user in Germany makes a change to an
                                       artifact. If it violates a preselected constraint, tool
                                       give feedback in the form of a warning box. E.g. a
                                       box within triangle containing an exclamation mark
                                       (Triangle is in yellow color). Feedback appears to all
                                       users online within 2 seconds.




Bosch Buzzers - EOSP                   17                           2007/12/13
Fall2007
Deployment View




2012/9/18         18   Bosch Buzzers, MSE, CMU 2007-2008
High-level client C&C View
                              Pattern used:
                              Call-return
                              Implicit invocation




2012/9/18         19         Bosch Buzzers, MSE, CMU 2007-2008
Important quality attribute scenarios
Flexibility
 Source             End user, developer

 Stimulus           A new view containing two different elements with properties
                    and two different types of relations with properties and
                    topology constraints and hooks to other views has to be
                    created using the tool
 Artifact           The PosterBoard


 Environment        Compile time

 Response           The new view is added to the tool without any errors

 Response Measure   The view is added to the tool within 80 hours




9/18/2012                      20                 Bosch Buzzers - EOSP Spring 2008
Architecture alternatives
   For UML modeling, the underlying tool we are going to
    use is Papyrus (open source)
   Since it is off-the-shelf, we could
       Either look into the code of Papyrus and modify it so that it
        presents a PosterBoard instead of standalone diagrams
       Or write adapters, so that a generic PosterBoard
        understands it




9/18/2012                      21            Bosch Buzzers - EOSP Spring 2008
Posterboard module view




9/18/2012        22       Bosch Buzzers - EOSP Spring 2008
        UML Model            notify              Rules



                update                                              Client side


                   <<EJB Client>>                                                 <<EJB Client>>
                                               report                              Camel Client
                Conformance Manager




                     post     query                                           post         query




                                             Session Event Bus



             query
                                                                 Legend
                                                                                              Call-return

              <<EJB Client>>
             Snapshot Manager         Snapshot Retriver                                       Event Bus



            update
                                                                          component          Component


                                                                                             Data provider
            Session data models             load
                                                                                          Data consumer


                                                                    Client side           Client boundary




9/18/2012                                   23                     Bosch Buzzers - EOSP Spring 2008
Technical risks
Condition                  Consequence                 Mitigation
We don’t have enough       We may not know how to      Conducted experiments to
knowledge of the UML       design the integrated       understand the underlying
editing tool               solution                    tool

We are unsure how to       Might not be able to        Negotiated with client on
manage locks on UML        satisfy a must have         the requirement
diagrams                   requirement
Experiment for free hand   May not be possible to      Before implementing the
drawing using GEF not      fulfill that requirement    WhiteBoard module, this
completed                  conventionally using GEF    must be experimented
                                                       and designed for




9/18/2012                       24                Bosch Buzzers - EOSP Spring 2008
Reflection on creating the architecture
   The diagrams help the understanding of the system
    among team members better
   But, it takes too long to write the text
   Some of us still think a connector and component is the
    same thing
   The time needed to experiment is hard to estimate
   Architecture helped us identify technical risks




9/18/2012                 25           Bosch Buzzers - EOSP Spring 2008
Are we ready for Summer ?




9/18/2012        26         Bosch Buzzers - EOSP Spring 2008
Preparation for Summer




9/18/2012        27      Bosch Buzzers - EOSP Spring 2008
                         Overview                                                                               Spring postmortem          Process          People          Product           Q&A


           Estimation technique used
                                                                                                                       Category     Size Estimation
                                                                                                                       Small        20
                                                                                                                       Medium       50
                                        «interface»                           «uses»
                                           Sync
                +post(in ticket : Session Ticket, in events : event parcel)
                +query(in ticket : Session Ticket) : event parcel
                                                                                           Camel client
                                                                                                                       Large        100
Camel Server
                                            «Stateless Session Bean»
                                                 Sync Manager
                 «uses»
                             +post(in ticket : Session Ticket, in events : event parcel)




                                                                                                                                                           Baseline estimation: 100 hours
                             +query(in ticket : Session Ticket) : event parcel

                                                               «uses»

     Session Ticket

                                                                       «Entity»
                                                                Collaboration Session



                                                                                            1      *
                                        Event ID
                                                                                                   «Entity»
          «Entity»                                                                              Session Event
                                   1                                                 1
    Participant Cursor
 -lastSeenEventID




                          Legend

                               UML, and default legend depicted in 5.1




                                                                                                                                         Baseline estimation: 20 hours


                                                                                                                                                Module 1         Module 2             Sum
                                                                                                                         Effort (hours)         100              20
                                                                                                                         REQ 1                  √                √                    110
                                                                                                                         REQ 2                                   √                    10

           9/18/2012                                                                                                                       28                  Bosch Buzzers - EOSP Spring 2008
 Overview       Spring postmortem           Process      People          Product             Q&A


Earned value
800

700

600
                         MOSP
500
                                                                                   Planned
400
                                                                                   Re-Planned
300                                                                                Earned(Replan)

200

100

  0
       1    2   3    4    5    6    7   8     9 10 11 12 13 14 15 16

9/18/2012                                   29              Bosch Buzzers - EOSP Spring 2008
    Overview   Spring postmortem   Process   People          Product           Q&A


Reflection on Earned Value
    To improve our earned value :
        Re-planning helped
        We planned for higher granularity of tasks
        We decided to prioritize our planned tasks over unplanned
         tasks
        Increased time sheet tracking
    Our earned value slipped at times during heavy load of
     core courses and electives.
    Common time of studio members in cave helped



9/18/2012                          30           Bosch Buzzers - EOSP Spring 2008
 Overview     Spring postmortem        Process        People          Product           Q&A


Risk Status (Top 3)
Condition                         Consequence                  Mitigation
The estimation is not             Might cause milestones to    We will use PSP
conducted using formal            slip                         Dashboard to measure
methodology                                                    time spent on each
                                                               module in the first sprint,
                                                               and calibrate the plan
We are not used to                Everyone might not put in    We are going to start
stringent schedule in the         the 48 hours                 working a week before
cave                                                           summer officially begins
                                                               and gradually apply more
                                                               rigor
The QA and planning               Might cause chaos in the     We are going to run a
processes have not been           first release.               micro project which can
tested yet, might cause                                        test these processes.
chaos in the first release.


9/18/2012                              31                Bosch Buzzers - EOSP Spring 2008
    Overview    Spring postmortem   Process       People          Product           Q&A


Process for summer
    Iterative development
        3 iterations of 4 weeks each
    Scrum approach to project management
        Six sprints of two weeks each
        Daily standup meetings
        Product backlog using customer prioritization
        Burn down chart for progress tracking
        Sprint retrospective at the end of each sprint
        Three releases of four weeks each
    Why Scrum ?
        Team has some experience
        Tracking using Scrum worked in Fall


9/18/2012                           32               Bosch Buzzers - EOSP Spring 2008
 Overview      Spring postmortem   Process            People          Product           Q&A


Team roles for Summer
Roles                                        Team member
Team Lead                                    Darpan
Configuration manager & support              Choi
manager
Quality assurance manager & Chief            Vytesh
architect

Client liaison & Requirements manager        Melody

Scrum master                                 Mac
Risk manager                                 Melody
Software developer                           Everyone




9/18/2012                           33                   Bosch Buzzers - EOSP Spring 2008
    Overview   Spring postmortem   Process   People          Product           Q&A


Load balancing
    Going from 12 to 48
        Start working a week in advance
        In the first month, there is no flexi time. Be in the cave at 10
         AM everyday. (Big Boss’s order )
    Weekly team activities to handle burnout




9/18/2012                          34           Bosch Buzzers - EOSP Spring 2008
    Overview   Spring postmortem   Process   People          Product           Q&A


Knowledge transfer sessions
    Experiments revealed that team needs more technological
     training in Eclipse and related technologies
    We conducted knowledge transition within the team
    Some of them include, Eclipse plug-in, Java EE




9/18/2012                          35           Bosch Buzzers - EOSP Spring 2008
   Overview     Spring postmortem          Process   People         Product          Q&A


 Design, development and QA Process
                                                              Critical modules only
                                                              (assigned by chief-
                                                              architect, based on
                                                              complexity)


                             •      Code
                                                          Create
                             •      Informal Code
                                                         Smoke/               Formal Code
              Design                Review
Design                                                    Stress/              inspection
              Review                                    Functional
                                     Create/run         Test Cases
                                      Unit Test




                                        MODULE

 2012/9/18                                 36         Bosch Buzzers, MSE, CMU 2007-2008
    Overview   Spring postmortem   Process   People          Product           Q&A


Proposals
   Updated existing proposals
       Planning proposal
       Operational proposal
       Problem definition proposal
       Statement of work
   Created
       Design proposal
       Implementation proposal
       Quality assurance plan


9/18/2012                          37           Bosch Buzzers - EOSP Spring 2008
    Overview     Spring postmortem         Process      People          Product           Q&A


  Release plan
Chat Server,                         Chat Client      Collaborative
Command                                               UML tool
manager



                 Release 0.1 – 15%                   15th June 2008


Administration                                        Collaborative
                                     Standalone
                                     WhiteBoard       Posterboard



                 Release 0.2 – 50%                   13th July 2008

Snapshot                             Collaborative    Playback                UML 2
Manager                              Whiteboard                               Whiteboard
                                                                              transform


                 Release 0.3 – 100%                   10th Aug 2008

  9/18/2012                                 38             Bosch Buzzers - EOSP Spring 2008
    Overview   Spring postmortem   Process   People          Product           Q&A


Quality assurance plan
    Determined quality goals
        Twenty or fewer defects per thousand lines of code after
         unit testing
        Broken builds are not left unfixed overnight
    Plan for unit testing, integration testing and regression
     testing in place
    Mantis to be used for defect tracking
    Atleast 80% code coverage to be achieved for junit
     testing
    Plan for system testing should be ready during detailed
     design

9/18/2012                          39           Bosch Buzzers - EOSP Spring 2008
Overview     Spring postmortem   Process            People       Product       Q&A


Time allocation
                                                   20% operating and
           16%                                      planning
                                                       Historical data from
                                  42%
                                                        previous team
                                                   16% buffered time
20%                                                    Nice to have functions &
                                                        estimation calibration

                                           Design & Implementation

                 22%                       QA

                                           Operating and Planning

                                           Others / unplanned
    Overview   Spring postmortem   Process   People          Product           Q&A


Infrastructure setup
    Set up Wiki at http://buzzers.webhop.net/
    Version control – Subversion
    Defect tracking – Mantis
    Development environment
    Ant for nightly builds
    Nightly backup (Don’t rely on SCS )




9/18/2012                          41           Bosch Buzzers - EOSP Spring 2008
Overview   Spring postmortem     Process    People      Product   Q&A




                               Summer checklist
                               Stabilize requirements
                               Risk assessment
                               Process and roles
                               Plan
                               . Implementation
                               . Quality assurance
                               . Release
    Overview   Spring postmortem   Process   People          Product           Q&A


Summary
    Accomplishments
        Conducted SRE early this semester
        Scope negotiation
        Detailed requirements
        SRS delivered
        Proposals
        Architecture defined


                              Get set go for summer



9/18/2012                          43           Bosch Buzzers - EOSP Spring 2008
 Overview   Spring postmortem   Process   People          Product           Q&A


Thanks !




9/18/2012                       44           Bosch Buzzers - EOSP Spring 2008
Backup Slides
Knowledge sharing process
      Prepare for knowledge sharing workshop
      • Assign responsibility to team members at start of each iteration
      • Exit criteria defined by quality manager
      • Assign scribe to maintain the notes

      Knowledge sharing workshop
      • The workshop lasts for 1 hour (can be extend if necessary)
      • Facilitator should give written exam/exercise at the end of
        workshop
      • To guarantee the quality of knowledge sharing, every participant
        has to pass the exam
      • Notes should be completed in one day after workshop
      • Facilitator has to review the notes for correctness


9/18/2012                        46              Bosch Buzzers - EOSP Spring 2008
Requirement change
     Change request
     • Raised by Buzzers or Bosch

     Evaluation
     • Evaluate the impact resources and development time by
       Buzzers
     • Prioritize the requirement change by client
     • Send out the results of evaluation in 3 days

     Decision
     • Put the updated requirement in the WBS for next sprint
     • Prioritize the WBS before each sprint
Time allocation from previous team




                         Development



    Detailed
    design



         QA Fixing
                     QA Appraisal




                        48

                                       Hermes EOSP (Summer 2007)
Time allocation from previous team
Earned value (Actual hour spent included)
900
800
700
600
                                                         Planned
500
                                                         Re-Planned
400
                                                         Earned(Replan)
300                                                      Actual
200
100
  0
        1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

9/18/2012                  50          Bosch Buzzers - EOSP Spring 2008
Review and inspection > Process
Phase         Author                          Moderator                      Reviewer        Scribe

              Preparing material
Before                             •Decide who should in the review
Meeting                            •Distribute material
                                                                       Preparing material

                  Walkthrough
                                                                      Ask question
                                                                                                 Logging
                                                                      Give suggestions
                  Response                                       No
Review                                          If rework
Meeting                                               Yes
                                             Make action items

                                                                      No
                                                 Done



                       Rework
 After                             No            Verify
Meeting
                                                      Yes
                                                  DONE

                                        51
                                                             Bosch Buzzers, MSE, CMU 2007-2008
  2012/9/18
    Intro        Risk   Team   Operation   Planning   Reqmnts     SOW   Spring


Reflection on SCRUM
   The subtasks were not defined with enough precision
       This made task tracking hard and inaccurate
   Defining the exit criteria for tasks was not easy since
    we were writing a report
   The earned value was 56% of planned value
   If we were to use SCRUM again
       Make sure every task and subtask is well defined before
        entering the sprint
       Make sure we are spending majority of our time on the
        project, e.g. the summer when we have 48 units


Bosch Buzzers - EOSP            52                         2007/12/13
Fall2007
                                                                                                 Conformance
                                                                             «uses»                Manager
                                                                                        «uses»


                                                  «uses»        «uses»                                            «uses»
                     Camel client
            «uses»
                                             «uses»
                      «uses»«uses»

                                                                          «interface»
                                        «interface»                          Sync
                                        Team View
       «interface»                                                                                         «interface»
        Playback                                                                                      Session Management
                           «interface»
                          Assign Role                      «interface»
                                                           Persistence
                                                                                             «uses»


                                                                                                                         «uses»
                                                                                   «uses»




                                                                                                              Snapshot
                                                                                                              Manager

                                                                 Camel
                                                                 Server


                                                                         Legend
                       «uses»       «interface»
                                      Admin                                    «interface»
                                                                               Interface1              Interface used by
                                                                                                        the editing client

                                                                              «interface»Int          Interface shared by
                                                                                 erface2               the editing client,
                                                                                                       conformance and
                                                                                                      snapshot managers
              Web Admin
                                                                               «interface»
                                                                                 Admin                  Administration
                                                                                                          interface




                                                                               Package1                    package
9/18/2012                                                  53                                  Bosch Buzzers - EOSP Spring 2008
  Development and Release QA Process
       1-month release cycle                     1-month release cycle


2-week sprint               3-day release preparation




Design Review
Unit Test
Smoke Test
Code review
Code inspection


           Stress Test
           Functional Test
           Rework

                  Fix for critical issues

  2012/9/18                                 54              Bosch Buzzers, MSE, CMU 2007-2008

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:9/18/2012
language:English
pages:54