life cycle plan (lcp) - software engineering ii - spring … · web viewthe purpose of the lcp...

31
Life Cycle Plan (LCP) Focus Team 08 Name Role Steven Holland Requirements Engineer, Prototyper, Feasibility Analyst Arik Oganesian Operation Concept Engineer, Software Architect, Prototyper Marco Alvarez Feasibility Architect, Software Architect, Requirements Engineer Pin-Chih (Bill) Lin Prototyper, Software Architect, Project Manager Tatsuhiko (Tats) Tomita Lifecycle Planner, Software Architect, Requirements Engineer Hamed Sadeghi Project Manager, Prototyper Dennis Xiang IIV&V, Quality Focal

Upload: hoangxuyen

Post on 30-Apr-2018

218 views

Category:

Documents


5 download

TRANSCRIPT

Life Cycle Plan (LCP)

Focus

Team 08Name Role

Steven Holland Requirements Engineer, Prototyper, Feasibility Analyst

Arik Oganesian Operation Concept Engineer, Software Architect, Prototyper

Marco Alvarez Feasibility Architect, Software Architect, Requirements Engineer

Pin-Chih (Bill) Lin Prototyper, Software Architect, Project Manager

Tatsuhiko (Tats) Tomita Lifecycle Planner, Software Architect, Requirements Engineer

Hamed Sadeghi Project Manager, PrototyperDennis Xiang IIV&V, Quality Focal

120/017/2016

Life Cycle Plan (LCP) Team 08 Version 21.0

Version HistoryDate Author Version Changes made Rationale10/12/16 Tats 0.9 Original template for use with

Focus v1.0Initial draft for ARB package

10/17/16 Tats 1.0 Modified some comments from ARB

For Foundation Commitment package

12/1/16 Tats 2.0 For DC Package Modified for DC and feedbacks of ARB

document.docx 120/017/16

Life Cycle Plan (LCP) Team 08 Version 12.0

Table of ContentsLife Cycle Plan (LCP) ....................................................................................................................................................iVersion History .............................................................................................................................................................iiTable of Contents .........................................................................................................................................................iiiTable of Tables ...........................................................................................................................................................vivTable of Figures .........................................................................................................................................................viv

1. Introduction .................................................................................................................................................1

1.1 Purpose of the LCP .....................................................................................................................................1

1.2 Status of the LCP .........................................................................................................................................1

1.3 Assumptions .................................................................................................................................................1

2. Milestones and Products .............................................................................................................................2

2.1 Overall Strategy ...........................................................................................................................................2

2.2 Project Deliverables ..................................................................................................................................54

3. Responsibilities ........................................................................................................................................108

3.1 Project-specific stakeholder’s responsibilities ......................................................................................108

3.2 Responsibilities by Phase ........................................................................................................................119

3.3 Skills ..........................................................................................................................................................119

4. Approach ................................................................................................................................................1210

4.1 Monitoring and Control ........................................................................................................................1210

4.2 Methods, Tools and Facilities ...............................................................................................................1412

5. Resources ................................................................................................................................................1713Life Cycle Plan (LCP) ....................................................................................................................................................iVersion History .............................................................................................................................................................iiTable of Contents .........................................................................................................................................................iiiTable of Tables ..............................................................................................................................................................vTable of Figures ...........................................................................................................................................................vi

1. Introduction .................................................................................................................................................1

1.1 Purpose of the LCP .....................................................................................................................................1

1.2 Status of the LCP .........................................................................................................................................1

document.docx iii Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version 12.0

1.3 Assumptions .................................................................................................................................................1

2. Milestones and Products .............................................................................................................................2

2.1 Overall Strategy ...........................................................................................................................................2

2.2 Project Deliverables ....................................................................................................................................3

3. Responsibilities ............................................................................................................................................6

3.1 Project-specific stakeholder’s responsibilities ..........................................................................................6

3.2 Responsibilities by Phase ............................................................................................................................6

3.3 Skills ..............................................................................................................................................................6

4. Approach ......................................................................................................................................................7

4.1 Monitoring and Control ..............................................................................................................................7

4.2 Methods, Tools and Facilities .....................................................................................................................8

5. Resources ....................................................................................................................................................106. Iteration Plan ...........................................................................................................................................................11

6.1 Plan ....................................................................................................................................................................11

6.1.1 Capabilities to be implemented ....................................................................................................................11

6.1.2 Capabilities to be tested .................................................................................................................................11

6.1.3 Capabilities not to be tested ..........................................................................................................................12

6.1.4 CCD Preparation Plans .................................................................................................................................126.2 Iteration Assessment ........................................................................................................................................12

6.2.1 Capabilities Implemented, Tested, and Results ..........................................................................................12

6.2.2 Core Capabilities Drive-Through Results ...................................................................................................126.3 Adherence to Plan ............................................................................................................................................13

document.docx iv Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version 21.0

Table of TablesTable 1: Artifacts Deliverables in Exploration Phase ..................................................................................................75Table 2: Artifact deliverable in Valuation Phase .........................................................................................................75Table 3: Artifact deliverable in Foundations Phase .....................................................................................................86Table 4: Artifact deliverable in Development Phase ....................................................................................................86Table 5: COCOMOII Scale Driver ...........................................................................................................................1713Table 1: Artifacts Deliverables in Exploration Phase ....................................................................................................3Table 2: Artifact deliverable in Valuation Phase ...........................................................................................................4Table 3: Artifact deliverable in Foundations Phase .......................................................................................................4Table 4: Artifact deliverable in Development Phase ......................................................................................................5Table 6: COCOMOII Scale Driver ...............................................................................................................................10Table 7: COCOMOII Cost Driver ................................................................................................................................10Table 8: Application Count: Screens ..............................................................................Error! Bookmark not defined.Table 12: Construction iteration capabilities to be implemented ................................................................................11Table 13: Construction iteration capabilities to be tested ............................................................................................12Table 14: Capabilities implemented, tested, and results ..............................................................................................12

document.docx 120/017/16

Life Cycle Plan (LCP) Team 08 Version 21.0

Table of FiguresFigure 1 Milestones and Products ................................................................................................................................42Figure 2 Deliverables overall .......................................................................................................................................64Figure 3 Responsibilities ............................................................................................................................................108Figure 4 Responsibilities for features .........................................................................................................................119Figure 5 Monitoring and Control .............................................................................................................................1210Figure 6 Handover review ........................................................................................................................................1311Figure 7 Methods, Tools and Facilities ....................................................................................................................1612Figure 1 Milestones and Products ..................................................................................................................................2Figure 2 Responsibilities ................................................................................................................................................6Figure 3 Monitoring and Control ...................................................................................................................................7Figure 4 Methods, Tools and Facilities ..........................................................................................................................8

document.docx 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

1.Introduction

1.1 Purpose of the LCP The purpose of the LCP document is to make sure our development plan would fit all stakeholder’s demand, especially what we will develop for each milestone. In addition, this clarifies all stakeholder’s responsibilities. This makes us our development progress manage easily because we know what each of us should do. Finally, this states our approach to assure our code’s quality.

1.2 Status of the LCP This document is the first version of LCP for Foundations Commitment Package.

1.3 Assumptions The duration of the project is 24 weeks, which are 12 weeks in Fall 2016 and 12 weeks in

Spring 2017.• 4 5 or 6 of our team members will continue the project for next Spring

semester i.e. 1 or 2 of us will discontinue

• Only prototype will be available at the end of 1st semester

document.docx 1 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

2.Milestones and Products

2.1 Overall StrategyOur Content Management System, Focus, is following Architected Agile process because there is no Non-Development Item or Web service that would fit to most of the core capabilities.

document.docx 2 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

document.docx 3 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

Figure 1 Milestones and Products

Figure 1 shows our development plan for 2 semesters, i.e. 6 more months from as of 10/12/2016. We have five milestones for review. At the same time of each milestone, we are going to incrementally implement our system. Here is the detail:

Milestone 1: Development Commitment Review We develop sample iOS application which includes the features of input user-profile

data, matching users with sample algorithm. It also includes all GUI screen transition. We’re going to do this within first semester because one of our members who has a talent of developing iOS app and designing GUI will graduate at this semester.

Also we develop architecture in this period. We are going to analyze key use case scenarios and assess COTS in detail such as in terms of budget, performance, security , and so on.

Milestone 2: Rebaselined Development Commitment Review The Second period is the beginning of new semester. So we don’t think we can have a lot

of time in this period. So we just prepare backend server and connect it with iOS app. We will start to consider test environment as well. We think this will make it easy to develop all features in next semester.

Milestone 3: Core Capability Drivethrough The Third period is main period for develop key features for our content management

system, such as homework, forum, feed, and so forth. It includes Tune-up algorithm that is one of the main features for our system. And I’d like to emphasize here that it might have a risk that it would take a lot more time to implement all features. In some cases, we might not be able to make it for some features.

Milestone 4: Transition Readiness Review Milestone 5: Operational Commitment Review

We create maintenance guide, quality assessment including stress/scalability test.

Furthermore, we estimated effort we need for each item in terms of Person Month. Here, we estimated this Person Month value as tailored for our project, in other words, these values are not related COCOMO value (see in 5). The total of the estimated effort, 36 Person Month, might surpass our capability (here, we estimated we have 7 persons * 5 months = 35 Person Month). Therefore, we still need to keep watch the progress and negotiate with clients what we’ll finally have to do.

2.2 Project Deliverables

document.docx 4 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

Figure 2 Deliverables overall

Figure 2 shows overall deliverables for this project through all milestones. Since some of us will discontinue after the DCR, we crate handover guide (see ***). By the end of DCR, we get overall GUI transition on iOS application including Sign-up/Sign-in/Sign-out, Chat, and Feed (Prototype). We’ve also developed Sample Matching Algorithm that uses AWS lambda for computing and Firebase for database as back end servers.

By the end of the RDCR, we create specification document for matching and homework capabilities before we start implementing them because they seem to have complicated specification that is needed to be specified beforehand. We also setup test environment including integration test server by the end of this milestone. By the end of the CCD, we will finish most of capabilities of this system. By the end of this project, we finish testing for non-functional requirements such as scalability, performance, and stress test.

document.docx 5 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

2.2.1 Exploration PhaseTable 1: Artifacts Deliverables in Exploration Phase

Artifact Due date Format MediumClient Interaction Report 9/16/2016 .doc, .pdf Soft copyProject Effort Every Monday Web JiraProject Plan Every other Wednesday .mpp, .pdf Soft copyProgress Report Every other Wednesday .xls Soft copyRisk and Defect Report Every other Wednesday .xls Soft copy

2.2.2 Valuation PhaseTable 2: Artifact deliverable in Valuation Phase

Artifact Due date Format MediumWin Conditions Report 9/26/2016 Web WinBookProject Effort Every Monday Web JiraProject Plan Every other Wednesday .mpp, .pdf Soft copyProgress Report Every other Wednesday .xls Soft copyRisk and Defect Report Every other Wednesday .xls Soft copyPrototype- Sample matching

algorithm- Backend server with

Firebase- iOS app with Firebase

9/30/2016 .txt Soft copy

Foundation Commitment Package- OCD- PRO- SSAD- LCP (this file)- FED

10/17/2016 .doc, .pdf Soft copy

Prototype- GUI image- Messaging between

users

10/17/2016 .ppt, .pdf Soft copy

document.docx 6 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

2.2.3 Foundations PhaseTable 3: Artifact deliverable in Foundations Phase

Artifact Due date Format MediumProject Effort Every Monday Web JiraProject Plan Every other Wednesday .mpp, .pdf Soft copyProgress Report Every other Wednesday .xls Soft copyRisk and Defect Report Every other Wednesday .xls Soft copyTechnical Debt Report Every other Friday .doc, .pdf Soft copyiOS app Prototype- Input user profile- Sample matching

feature- Sing-up/in/out- Chat- Feed (prototype)

12/05/2016 Executable (using

testify).txt

Soft copy

Backend Server- AWS lambda for

computing matching algorithm

- Firebase for data of mentor

12/05/2016 System System

Development Commitment Package- OCD- PRO- SSAD- LCP (this file)- FED

12/05/2016 .doc, .pdf Soft copy

2.2.4 Development PhaseTable 4: Artifact deliverable in Development Phase

Artifact Due date Format MediumProject Effort Every Monday Web JiraProject Plan Every other Wednesday .mpp, .pdf Soft copyProgress Report Every other Wednesday .xls Soft copyRisk and Defect Report Every other Wednesday .xls Soft copyTechnical Debt Report Every other Friday .doc, .pdf Soft copySpecification Document- Matching- Curriculum

02/13/2017 .doc, .pdf Soft copy

Integration Test Server 021/2713/2017 .txtSystem Soft copySystem

document.docx 7 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

- JenkinsBackend server Prototype- Sample matching

feature- DatabaseFeatures- Account/Profile- Homework for

Entrepreneurs- Forum- Feed- Matching algorithm

0203/2813/2017 Executable (using

testify).txt

Soft copy

RDCR Commitment Package- OCD- PRO- SSAD- LCP (this file)- FED

02/15/2017 .doc, .pdf Soft copy

Operational Commitment Package- OCD- PRO- SSAD- LCP (this file)- FED

03/31/2017 .doc, .pdf Soft copy

document.docx 8 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

3.Responsibilities

3.1 Project-specific stakeholder’s responsibilities

Figure 3 Responsibilities

Figure 3 shows our project’s responsibilities. In Figure 3, The red color means our team members and blue one is our client. Here, three of us, Arik, Marco, Pin-Chih, will discontinue the development phase. Therefore, in next semester, we need more students who have skills of Web service development, Backend Software knowledge, and iOS app development experience.

document.docx 9 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

Figure 4 Responsibilities for features

Figure 4 shows which of our members will be in charge of which features in terms of development. See also Figure 2 and compare it if it’s hard to see this figure.

3.2 Responsibilities by PhaseFigure 3 and Figure 4 already showed our responsibilities by phase.

3.3 SkillsFigure 3 already showed our skills.

document.docx 10 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

4.Approach

4.1 Monitoring and Control

Figure 5 Monitoring and Control

This is our approach to assure the quality of our code. When an implementer finish developing a feature function, it will be tested. And they fix some bugs. When it passes the test, he can pull request. And other members have to review their code. In other words, the code cannot go ahead unless someone reviews it. If it’s OK, they merge the function to main branch. And explain it to the client. And client will give us some feedback. By doing this approach, we think we can maintain the quality of our code before it goes to clients.

document.docx 11 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

4.1.1 Closed Loop Feedback Control

Figure 5 already showed our feedback control strategy.

4.1.2 Reviews

Figure 5 already showed our concept for reviews.

Figure 6 Handover review

Since some of us will quit this project at the end of the 1st semester, we need to perform a review for the code that they’ve created. Figure 6 contains what we do in that review. We also create documents that include those information and it will be available at the end of this project when we will handover our code to the client.

document.docx 12 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

4.2 Methods, Tools and Facilities

document.docx 13 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

document.docx 14 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

Figure 7 Methods, Tools and Facilities

Figure 7 shows methods or tools to manage our project. In terms of communication, we use Basecamp, that is used to obtain information from our client. We also use Slack to communicate within team members. For development, we use github not only for version control but also for code review as explained in 4.1. We use both Asana and SmartSheet for project management. Asana for detailed communication for each capability and SmartSheet for overall progress / plan management. We’re still investigating test tools. But so far, we think we can use Jenkins for integration test. And we are still investigating the coding guideline as well.

document.docx 15 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

5.ResourcesHere we use COCOMO II to estimate our effort for this project. Since this project would be a small project, default value for COCOMO is set as High/Low (one level easier than nominal value). Table 5 and Table 6 show COCOMO factors that have no-default value.

Table 5: COCOMOII Scale Driver

Scale Driver Value RationalePREC Low

(unprecedented)No legacy system, no experience

Table 6: COCOMOII Cost Driver

Cost Driver Value RationaleDOCU Nominal Not all members will continue the projectPCON Nominal Not all members will continue the projectPLEX Low Unfamiliar with Database/Web ServiceSITE High Can communicate with clients; DEN student lives

in the same area

document.docx 16 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

In scale driver, we set PREC as low since there is no legacy system and we don’t have experience that much.

Regarding to Cost drivers, Document and Personal continuity for iOS application would be nominal high and low because not all members will continue this project.PLEX for Backend system would be low because we are unfamiliar with Database/WebService.However, SITE is very high, since our client comes to USC once a week. So we can communicate with him easily. Also we can meet DEN student as well.

Here is the result of COCOMO.- Estimated SLOC : 64.0K (Mobile: 5.03.5K (remaining), Web: 1.0K)- Scale Driver : 15.13- Cost Driver : 0.42- Effort : 85.2 (Person Month) (4.2 for iOS and 1.0 for Backend)- Schedule : 7.2 (Months)- Tailored Effort for our project : 5.2 PM * 152/100 = 7.9 PM

o 1PM (COCOMO) = 152 hours, 1PM(CS577) = 100 hours- Total hours we need : 7.98.2 PM * 100 hrs/PM = 820 790 hrs- Hours each of us has : 12 hrs/week/person * 10 weeks = 120 hrs/person- Estimated number of members : 820 790 hrs / 120 hrs/person = 6.83 58 persons

document.docx 17 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

Since we are student, we only spend 100 hours / person month. But COCOMO estimated the effort (Person Month) as 152 hours / PM, therefore we need to recalculate the effort, 5.2 PM, to our number, 7.9 PM. That This means we use 820 790 hours for this project in total.We will spend 12 hours per week per person and it will continue for 10 weeks for developing phase, that means each member has 120 hours.The total amount time divided each person’s time is equal to the number of persons that we need. This value is within range of the number of our team members.

6. Iteration Plan6.1 Plan<< Provide a high-level overview of the content of the given iteration. Indicate which Life cycle milestones will be addressed. >>

6.1.1 Capabilities to be implemented

<< For the milestone identified above, identify the capabilities that will be implemented in the upcoming iteration. Identify the features, requirements or use–cases that are being developed (implemented, tested, etc.) for this iteration. Each component should be accounted for in at least one iteration. All requirements should be implemented and tested (or re-negotiated) by the completion of all the iterations. Be mindful of implementation dependencies. Document complex dependencies and communicate them to the appropriate development staff. >>

Table 7: Construction iteration capabilities to be implemented

ID Capability Description Priority Iteration< ID > < Capability > < comments > <value> <value>

6.1.2 Capabilities to be tested

<< For the milestone identified above, identify the capabilities that will be tested in the upcoming iteration.

Identify the software features and combinations of software features to be tested this iteration. This may also include non-functional requirements or extra-functional requirements, such as performance, portability, and so forth.

document.docx 18 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

Additionally you may need to test every requirement listed in the WinWin Agreements DC package, non-requirement component features such as COTS capabilities and quality, API functionality, etc. >>

Table 8: Construction iteration capabilities to be tested

ID Capability Description Priority Iteration< ID > < Capability > < comments > <value> <value>

6.1.3 Capabilities not to be tested

<< Identify notable features, and significant combinations of features, which will not be tested this iteration and why (e.g. a given feature uses a feature which will be implemented in following iteration). >>

6.1.4 CCD Preparation Plans

<< Identify the clients and other users who will be involved in the Core Capability Drive-through, the usage scenarios that it will support, and the specific CCD preparation plans and milestones. These may include

- user context-setting- site preparation dry runs, - feedback forms, and - CCD risk management plans. >>

6.2 Iteration Assessment

6.2.1 Capabilities Implemented, Tested, and Results

<< Describes, in brief, the capabilities that were implemented and the test results. The capabilities implemented and tested do not necessarily need to match the ones listed in section 6.1 because some capabilities may have been pushed to the next iteration. >>

Table 9: Capabilities implemented, tested, and results

ID Capability Test Case Test Results If fail, why?< ID > < Capability > < TC-XX > Pass/Fail < comments >

document.docx 19 Version Date: 120/017/16

Life Cycle Plan (LCP) Team 08 Version no 21.0

6.2.2 Core Capabilities Drive-Through Results

<< Briefly summarize the feedback you received from your client(s). You need to be specific enough to cover the critical capabilities or scenarios that were discussed, demoed, or shown. Your descriptions MUST, but not limited to, cover the following areas:

Positive feedbacks Improvements needed/suggested Changes to‐be considered (Reprioritized capabilities, requirements, GUI, etc.) Risks (New risks introduced, risks mitigated, etc.)

Note: Make sure to be specific to the capabilities shown/demonstrated/driven-through.Simply stating that the clients liked the capabilities is not sufficient. >>

6.3 Adherence to Plan<< Describe how well the iteration ran according to plan. Was it on budget and on time? Is there any uncertainty in the Software Development Status? Provide some insight to avoid mistakes for future iterations. >>

document.docx 20 Version Date: 120/017/16