end of semester presentation team trinity

35
End of Semester Presentation End of Semester Presentation Team Trinity May May 12, 12, 200 200 6 6 Minho Jeung Minho Jeung Eun-Young Cho Eun-Young Cho Kyu Hou Kyu Hou

Upload: ronny72

Post on 12-May-2015

320 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: End of Semester Presentation Team Trinity

End of Semester PresentationEnd of Semester PresentationTeam Trinity

May May 12,12, 200 20066

Minho JeungMinho JeungEun-Young ChoEun-Young Cho

Kyu HouKyu Hou

Page 2: End of Semester Presentation Team Trinity

2

AgendaAgenda

Project Overview Architecture Process Lessons Learned Future Plans

Page 3: End of Semester Presentation Team Trinity

3

Project Overview ProcessArchitecture Lessons Learned Future Plans

Project TeamProject Team

Team members & Roles

Mentors•Mel Rosso-Llopart (CMU)•Ho-jin Choi (ICU)•In-Young Ko (ICU)

Minho Jeung Team Leader, Risk Manager

Eun-Young Cho

Development Manager, Customer Interface Manager

Kyu HouProcess Manager, Quality Manager, Planning Manager

Page 4: End of Semester Presentation Team Trinity

4

Project Overview ProcessArchitecture Lessons Learned Future Plans

ClientClient

Company introduction• POSDATA: An IT service provider

established in 1989 by Korean steel giant POSCO * POSCO is one of the largest steel makers in the world.

• POSDATA’s business area• System Integration, Network Integration• Consulting, Outsourcing• Digital Video Recorder (DVR), Portable Internet

• Contact point: Seong-Yong Choi

Page 5: End of Semester Presentation Team Trinity

5

Project Overview ProcessArchitecture Lessons Learned Future Plans

Project IntroductionProject Introduction

Business driver• Solve the network congestion problem

that occurs when many clients attempt to view the video stream at the same time

Project goal• Apply Overlay Multicast Protocol (OMP) to

the N-DVR Server in order to provide efficient video streaming to clients

* N-DVR: Next Generation Digital Video Recorder

Page 6: End of Semester Presentation Team Trinity

6

Project Overview ProcessArchitecture Lessons Learned Future Plans

Context DiagramContext Diagram

Video Stream Viewer

N-DVRServer

OMPAdministrator

(Console)

N-DVR Administrator

(Console)

OMP Control

MulticastAPI

OMP Status

Multicast API

OMPOMP Control

Server Layer External Entity(stakeholders)

Client LayerExternal Entity(stakeholders)

OMP Interface

Legend:

OMP Boundary

OMP Status

Page 7: End of Semester Presentation Team Trinity

7

Project Overview ProcessArchitecture Lessons Learned Future Plans

Team GoalsTeam Goals

Team Goal in Spring 2006 semester• Self-confidence among team members in the our project• Cohesive work with client for meeting client satisfaction

How to measureDetail goalsDetail goals MeasurementMeasurement

Completion of SOW and SRS

- SOW and SRS signed by our client

Well designed architecture

- Review with team members and mentors- Having consensus with client about the architecture- ATAM for evaluation

Preparation for development

- Set up development plan and test plan

Balanced work load among team members

- Individual evaluation in every team meeting- Realistic and flexible week plan

Client satisfaction on project progress

- Client’s postmortem on our meetings with client Success criteria >= 4.0 (1: low - 5: high)

Page 8: End of Semester Presentation Team Trinity

8

Project Overview ProcessArchitecture Lessons Learned Future Plans

What has been doneWhat has been done Activities and artifacts in Spring 2006 semester

DateDate ActivitiesActivities

January 20

- Functional and Non-functional requirements gathering

March 6 - SOW, SRS completed

March 10 - MOSP

March 27 - SOW, SRS signoff

May 4 - Light weighted ATAM evaluation completed- Architecture Design Documentation

completed

May 7 - Agreement with client about the architecture

established

May 8 - Quality Assurance Plan completed

Page 9: End of Semester Presentation Team Trinity

9

Project Overview ProcessArchitecture Lessons Learned Future Plans

Architectural DriversArchitectural Drivers

Quality Attributes - Performance - Availability - Modifiability - Security - Portability

Functional Requirements - Group Configuration - Member Configuration - Multicast Routing - Data Replication

Technical Constraints - OMP Server’s OS: Linux - Client’s OS: Window 2000 or XP - Language: C++

OMPArchitecture

Page 10: End of Semester Presentation Team Trinity

10

Project Overview ProcessArchitecture Lessons Learned Future Plans

Quality AttributesQuality Attributes Three major quality attributes

• Performance• A client should be able to watch the video

stream within 5 seconds of the request for the stream

• Availability• The N-DVR server tries to reestablish the

transmission of video stream between the appropriate client nodes when it detects failure on communication

• Modifiability• When a developer wants to add security, the

modification is made with no side effects so that no irrelevant components are changed

Page 11: End of Semester Presentation Team Trinity

11

Project Overview ProcessArchitecture Lessons Learned Future Plans

Architecture – C&C ViewArchitecture – C&C View

Parent Node

Server

Node Information

StreamController

NodeHandler

StreamAcceptor

Storage

Memory Connector

(Stream Buffer)

DynamicMemory

ComponentPhysicalBoundary

0..N

StreamBuffer

ViewerConnector

Child Node

Parent NodeChecker Stream

Controller

Node Information

StreamBuffer

ViewerAdapter

Event Bus

ServerCommunicator

NodeConfiguration

Manager

Parent NodeChecker

StreamController

Node Information

StreamBuffer

ViewerAdapter

Event Bus

ServerCommunicator

NodeConfiguration

Manager

NodeFinder

ViewerConnector

Memory Connector(Node Info)

Event Bus

Event Bus

Viewer

Viewer

Digital Video Converter

Project Scope

0..N

0..N

Legend

Console

TCPConnector

UDPConnector

Publisher

Subscriber

OMPHandler

ConfiguratioFile

Call-returnConnector

ExternalConnector

Page 12: End of Semester Presentation Team Trinity

12

Project Overview ProcessArchitecture Lessons Learned Future Plans

Project ProcessProject Process

Tailored TSPi action• Role• Weekly-based work plan• Architecture evaluation

Configuration Management• Document review process

Risk Management• Weekly based risk meeting

Knowledge Acquisition Process• Internet Engineering Task Force (IETF) standard

study• Academic OMP product research

Page 13: End of Semester Presentation Team Trinity

13

Project Overview ProcessArchitecture Lessons Learned Future Plans

Top Three RisksTop Three Risks

Risk1. Our team goes back to South Korea and takes time to adapt ourselves in changing workplace setting.

Consequence

- The change in work place setting may affect the productivity of team members- Project schedule may be delayed

Mitigation▪ Plan for work includes time to adapt in changing workplace setting▪ Set up the exact launching time (May 29)▪ Share summer schedule with the client before going back to ICU

Risk2. New stakeholders (new members in client group) give additional requirements on the project which the team could not anticipate.

Consequence

- Project schedule may be delayed

Mitigation▪ Explain resource constraints and tradeoffs▪ Negotiate with the client on prioritizing the set of new requirements

Risk3. Integration with legacy applications (like Window Media Player) is difficult.

Consequence

- Implementation time may be longer than expected

Mitigation▪ Communicate with legacy system engineers frequently ▪ Customer interface manager keeps the conflict list clean

Page 14: End of Semester Presentation Team Trinity

14

Project Overview ProcessArchitecture Lessons Learned Future Plans

Semester PostmortemSemester Postmortem

Client’s postmortem of weekly client meeting

Satisfaction scale: 1 low, 5 high

Team members’ postmortem of weekly status meeting

0

1

2

3

4

5

2/2 2/6 2/13

2/20

2/26

3/6 3/13

3/20

3/27

4/10

4/17

4/24

5/8

0.00

0.50

1.00

1.50

2.00

2.50

3.00

3.50

4.00

4.50

5.00

1/27

1/31

2/82/13

2/20

2/27

3/6 3/22

3/27

4/4 4/10

4/24

5/24/17

Average : 4.8 Average : 4.2

Page 15: End of Semester Presentation Team Trinity

15

Project Overview ProcessArchitecture Lessons Learned Future Plans

Lessons LearnedLessons LearnedProject started late

• Active attitude toward studio project• Need intensive communication with client

Research intensive project• Put efforts for researching relative technology • Hard to choose best algorithm that are

appropriate for the project • Q&A with experts via email helps us

Studio work adjustment• 1st half semester: work on Saturday and

Sunday• 2nd half semester: work on weekday

Page 16: End of Semester Presentation Team Trinity

16

Project Overview ProcessArchitecture Lessons Learned Future Plans

Lessons Learned Lessons Learned (Cont.)(Cont.)

Handling burn-out in team members• Getting stressed due to work burden and

not focusing on the work is a symptom of burn-out

• Refresh and relax time is necessary when it happens

Efficient work• Lack of sleep does not help work

efficiency• Shifting work hours to daytime would be

better

Page 17: End of Semester Presentation Team Trinity

17

Project Overview ProcessArchitecture Lessons Learned Future Plans

Future ProcessFuture ProcessRoles change

Implementation•Tailored pair-programming•Biweekly iteration

Testing•Testing strategy based on Software Quality Assurance Plan•Testing under client environment

Delivery•Work with a software engineer from client for system management

Kyu Hou Team Leader, Risk Manager

Minho JeungDevelopment Manager, Customer Interface Manager

Eun-Young Cho

Process Manager, Quality Manager, Planning Manager

Page 18: End of Semester Presentation Team Trinity

18

Project Overview ProcessArchitecture Lessons Learned Future Plans

Future ScheduleFuture ScheduleImplementation

• Group Management Algorithm• Command Line Interface• Test Program

Testing• Unit Test• Integration Test• Acceptance Test

Deliverables• Guide documentation for users and administrators• Source code

DateDate ActivitiesActivities

May. 29

Setup Environment, Presentation for POSDATA

Jun. 12 Development with Unit Testing I

Jun. 26 Development with Unit Testing II

Jul. 10 Development with Unit Testing III

Jul. 24 Integration Test

Jul. 31 Acceptance Test

Aug. 7 Product documentation

Aug. 11

End of OMP Product Deliverables

Page 19: End of Semester Presentation Team Trinity

19

Project Overview ProcessArchitecture Lessons Learned Future Plans

Thank You !Thank You !

Page 20: End of Semester Presentation Team Trinity

20

Project Overview ProcessArchitecture Lessons Learned Future Plans

Architectural DecisionArchitectural Decision Division between stream data and node

configuration dataUsing Event Bus for notifying the node

configuration changesProviding a Text based UIUsing dynamic memory for storing

stream data and node informationApplying different communication

protocol for each data type Supporting dynamic nodes configuration

by heart beating parent nodes

Page 21: End of Semester Presentation Team Trinity

21

Project Overview ProcessArchitecture Lessons Learned Future Plans

ArchitectureArchitecture

Module view

Security Utilities

Node info communication Utilities

Stream Data Transmission Utilities

TCP UDP

OMP Interface

Legacy Applications

Node ManagementUser Interface

Network

Node Configuration Utilities

Node info communication Utilities

Stream Data Transmission Utilities

TCP UDP

OMP Interface

Network

Node Configuration Utilities

Viewer Applications Viewer Applications Join Request User Interface

Internet

Layer (Project Scope)

Legend

Layer (Out of Scope) Data Transmission

Server Client

Security Utilities

Page 22: End of Semester Presentation Team Trinity

22

Project Overview ProcessArchitecture Lessons Learned Future Plans

Architecture Architecture

Allocation view

Page 23: End of Semester Presentation Team Trinity

23

Project Overview ProcessArchitecture Lessons Learned Future Plans

QA ScenariosQA Scenarios

Socket Programming vs. RPC

Scenario

A video stream (internal) event is sent from the OMP server to the client during normal conditions. The client receives the video stream within 5 seconds of its dispatch from the OMP server

Attribute Performance

Attribute Concern

Response Time in communication between OMP server and client

Architectural Decision Sensitivity Tradeoff Risk

1.Using of RPC to Socket Programming 1 1 1

2.Using Explicit Invocation style for managing control information (and other node configuration information) in place of using the Implicit Invocation Style

2 2

3.Using the static non volatile storage like hard disk drives, tapes etc in place of the dynamic volatile storage memory

3 3

•Some information from this table like the six parts have not been shown•Due to space constraints

Page 24: End of Semester Presentation Team Trinity

24

Project Overview ProcessArchitecture Lessons Learned Future Plans

QA Scenarios (Cont.)QA Scenarios (Cont.)

Explicit Invocation vs. Implicit Invocation

Scenario

A video stream (internal) event is sent from the OMP server to a number of clients during normal conditions. The number of clients receiving the video stream are predefined number 100 from the OMP server using the maximum available bandwidth with 11 Mbps.

Attribute Performance

Attribute Concern

Ability of OMP server to cater to many clients

Architectural Decision Sensitivity Tradeoff Risk

1.Using of RPC to Socket Programming 1 1 1

2.Using Explicit Invocation style for managing control information (and other node configuration information) in place of using the Implicit Invocation Style

2

3.Using the static non volatile storage like hard disk drives, tapes etc in place of the dynamic volatile storage memory

3 2

Page 25: End of Semester Presentation Team Trinity

25

Project Overview ProcessArchitecture Lessons Learned Future Plans

QA Scenarios (Cont.)QA Scenarios (Cont.)

Dynamic memory vs. Static memory

Scenario

An unanticipated failure of transmission message is received at the OMP server (informing that link (s) may be broken or a video stream data could not be sent between client nodes) during normal operation. The OMP server tries to reestablish the transmission of video stream between the appropriate client nodes within 5 seconds and logs the failure of transmission message with performance information and continues in normal mode.

Attribute Availability

Attribute Concern

Ability of the system to address failure of data transmission between network nodes and between the OMP server and client nodes

Architectural Decision Sensitivity Tradeoff Risk

1.Using of RPC to Socket Programming 1 1, 2 1

2.Using Explicit Invocation style for managing control information (and other node configuration information) in place of using the Implicit Invocation Style

2

3.Using the static non volatile storage like hard disk drives, tapes etc in place of the dynamic volatile storage memory

3 3

Page 26: End of Semester Presentation Team Trinity

26

Project Overview ProcessArchitecture Lessons Learned Future Plans

Tradeoff SummaryTradeoff Summary

Quality Attributes

1. Using of RPC to Socket Programming

2. Using Explicit Invocation style for managing control information in place of using the Implicit Invocation Style

3. Using the static non volatile storage in place of the dynamic volatile storage memory

Performance (Time or Response)

++ ++ --

Performance (Number of clients)

++ ++ --

Availability (No failure anywhere)

++ ++ ++

Portability (Ability to work on different platforms)

-- -- ++

Page 27: End of Semester Presentation Team Trinity

27

Project Overview ProcessArchitecture Lessons Learned Future Plans

Configuration ManagementConfiguration Management

Page 28: End of Semester Presentation Team Trinity

28

Project Overview ProcessArchitecture Lessons Learned Future Plans

Risk ListsRisk Lists

January February March April May

Client's requirements are ambiguous

Team members lack domain knowledge

Our team needs to have the time to adapt ourselves in changing workplace

Inefficient communication because of the difference of time and distance with client

MitigatedMitigating

Team members are burned out

Page 29: End of Semester Presentation Team Trinity

29

Project Overview ProcessArchitecture Lessons Learned Future Plans

Improvement Improvement

Role balancing• process role vs. developer

Tech.Proc.

EOSP

Start

TaskActionDeveloper

Page 30: End of Semester Presentation Team Trinity

30

Project Overview ProcessArchitecture Lessons Learned Future Plans

Improvement (Cont.)Improvement (Cont.)

Distant Client Meeting• MSN video conferencing• Time saving: 2 hr 1 hr• Meeting time: Monday 10 am – 11 am

(Seoul) Sunday 9 pm – 10 pm (Pittsburgh)

Page 31: End of Semester Presentation Team Trinity

31

Project Overview ProcessArchitecture Lessons Learned Future Plans

Application to the projectApplication to the project

SoftwareArchitecture

ArchitectureDesign Document

ATAM

Analysis of Software Artifacts

Static Analysis

Electives(Linux,Fault Tolerant, Development Tool,Software Process )

SE knowledge

SoftwareQualityAssurancePlan

Client/StatusMeetingMinutes

Page 32: End of Semester Presentation Team Trinity

32

Project Overview ProcessArchitecture Lessons Learned Future Plans

ResourceResource

•Team OMPArchitectability = Team Trinity + Team Swaran Sanghini

• Co-work Area- IEEE RFC study- Artifact work- Review strategy- Presentation

Page 33: End of Semester Presentation Team Trinity

33

Project Overview ProcessArchitecture Lessons Learned Future Plans

Risk ListsRisk Lists

Risk No.

Risk Statement; Consequence

MitigationImpact

Probability

Status

4 It is hard to set up a test environment; It might be difficult to conduct experiment.

▪ Request equipments for test environment

critical high Not mitiga

ted

5 It takes much time to educate an engineer from client company ; It might delay project schedule

▪ Support detailed admin guide

critical medium Not mitiga

ted

Page 34: End of Semester Presentation Team Trinity

34

Project Overview ProcessArchitecture Lessons Learned Future Plans

Risk AnalysisRisk Analysis

9

5

4

MitigatedMitigatingNot mitigated

Page 35: End of Semester Presentation Team Trinity

35

Project Overview ProcessArchitecture Lessons Learned Future Plans

Quality Assurance GoalsQuality Assurance Goals

Phase Goals

Requirement gathering

SRS should have no more than one defects per page as per the client’s review of the SRS.

Architecture The ADD should not have more than two defects per architectural representation during its formal technical review (FTR).

Development Each application program should not have more than 10 defects per 1 KLOC found in FTR.

Testing All tested work products should be checked for finding at least one defect per page or 10 defects per 1 KLOC of codes in FTR.