Life Cycle Plan (LCP)

Size: px
Start display at page:

Download "Life Cycle Plan (LCP)"

Transcription

1 Life Cycle Plan (LCP) Mental Math Team - 7 Isha Agarwal Prototyper, Life Cycle Planner, JingXing Cheng Kajal Taneja Operational Concept Engineer, UML Modeler, Kiranmai Ponakala, Life Cycle Planner, IIV & V Sushant Ramesh Software Architect, Operational Concept Engineer Sunmeet Nagpal Program Manager, Quality Focal Point Yuanxiu Yang Feasibility Analyst, Tester 10/01/2018

2 Life Cycle Plan (LCP) Template Version 2.0 Version History Date Author Version Changes made Rationale 2018/10/ /11/2 8 IA, KP 1.0 First version of LCP, all sections filled up appropriately All sections of the LCP document have been completed to the best of knowledge KP 2.0 Final Version of LCP All sections are corrected with necessary changes and completed to the best of knowledge LCP_TRR_F18a_T07_V2.0.doc

3 Life Cycle Plan (LCP) Template Version 2.0 Table of Contents Life Cycle Plan (LCP) i Version History ii Table of Contents iii Table of Tables iv Table of Figures v 1. Introduction Purpose of the LCP Status of the LCP Assumptions 1 2. Milestones and Products Overall Strategy Project Deliverables 3 3. Responsibilities Project-specific stakeholder s responsibilities Responsibilities by Phase Skills 6 4. Approach Monitoring and Control Methods, Tools and Facilities 8 5. Resources Iteration Plan Plan Capabilities to be implemented Capabilities to be tested Capabilities not to be tested CCD Preparation Plans Iteration Assessment Capabilities Implemented, Tested, and Results Core Capabilities Drive-Through Results Adherence to Plan 14 LCP_TRR_F18a_T07_V2.0.doc iii

4 Life Cycle Plan (LCP) Template Version 2.0 Table of Tables Table 1: Artifacts Deliverables in Exploration Phase 3 Table 2: Artifact deliverable in Valuation Phase 4 Table 3: Artifact deliverable in Foundations Phase 4 Table 4: Stakeholder's Responsibilities in each phase 5 Table 5: Team Skills Assessment 6 Table 6: Tools for Monitoring and Control 8 Table 7: COCOMOII Scale Driver 10 Table 8: COCOMOII Cost Driver 10 Table 9: Construction iteration capabilities to be implemented 13 Table 10: Construction iteration capabilities to be tested 13 Table 11: Capabilities implemented, tested, and results 14 LCP_TRR_F18a_T07_V2.0.doc

5 Life Cycle Plan (LCP) Template Version 2.0 Table of Figures Figure 1: COCOMOII Estimation Result LCP_TRR_F18a_T07_V2.0.doc

6 1.Introduction 1.1 Purpose of the LCP The purpose of LCP is to layout the plan for the project ahead of time so that the risk of project incompletion is mitigated. LCP helps us keep all the success critical stakeholders on the same page. LCP helps in evaluating risks at each phase. Written goals to be delivered in each phase. 1.2 Status of the LCP Current version of LCP is 1.0. It will be updated after each phase and the reviews gathered from the client and Presentation. 1.3 Assumptions The duration of the project is 12 weeks in the fall semester We are assuming that the team members have skills to perform their roles correctly. Developers will be able to understand and modify the existing We are assuming that it would be possible for us to re-architecture our client s code. LCP_TRR_F18a_T07_V2.0.doc 1

7 2. Milestones and Products 2.1 Overall Strategy We are adding major enhancements to the already existing product (Mental Math) in terms of User Interface, Memory Efficiency, Integrating COTS products like Google Achievements and Leaderboard. We are following ICSM principal where we first explored all the potential risks and work towards mitigating these risks. We explored what all additional features can be added to the current App. Exploration phase Duration: 09/06/18-09/20/18 Concept: 1. Interacted with client several times to understand the existing product (Mental Math App) 2. We tried to understand how the product will benefit the society. 3. Explored team member s skill set and capabilities. 4. Identified the requirements of all the success critical stakeholders. Deliverables: Client Interaction Report, Project Plan, Progress Report, WinBook Conditions, Risk and Defect Report. Milestone: Use cases were finalized, Team member compatibility, Established a good relationship with the client. Strategy: Win-Win sessions, team meetings, exploring current app and other apps which provide similar functionalities. Valuation phase Duration: 09/21/18-10/04/18 Concept: 1. Prioritize the use cases 2. Evaluate whether the use cases defined in exploration phase were feasible (Ease of implementation of use cases) 3. Make a Prototype depicting the flow of the end product. 4. Initial code commitments to the GitHub repository. Deliverables: Prototype presentation, use case Prioritized in the WinBook Milestone: Prototype presentation Strategy: Playing Poker for coming up ease of implementation for Use cases in WinBook, Prototyping (Used Balsamiq) LCP_TRR_F18a_T07_V2.0.doc 2

8 Foundation phase Duration: 10/05/18-10/17/18 Concept: Documentation for FCR ARB, Knowing the entire code and getting ready for Development phase, Implementation of high priority use cases to present in FCR ARB presentation. Deliverables: All the Documents (LCP, OCD, SSAD, FED, Requirements Document), Implementation of High priority use cases. Milestone: Development commitment review. Strategy: Working on high risks components first and testing the code after each development iteration. Development phase Duration: 10/17/18-11/30/18 Concept: Documentation for final presentation, Developed all the core capabilities, implemented the ios version of the Mental Math App. Tested all the core capabilities. Deliverables: All the Documents (LCP, OCD, SSAD, FED, TM, SP, TCP), Implementation of High priority use cases. Android version of the App and ios version of the App. Milestone: Completion of all the win conditions. Strategy: Working on the satisfying all the win conditions in the win win negotiation, learning and implementing the ios version of the App. 2.2 Project Deliverables Exploration Phase Table 1: Artifacts Deliverables in Exploration Phase Artifact Due date Format Medium Team Website 09/10/2018.html, web Website page Risk and Defect Report Bi- weekly Wednesday Team Website Client Interaction Report Every Friday.xls Team Website WinBook Conditions Bi-weekly Wednesday Text ER system Project Plan Bi-weekly Wednesday.mpp,.pdf Team Website LCP_TRR_F18a_T07_V2.0.doc 3

9 Progress Report Bi-weekly Wednesday.xls Team Website Valuation Phase Table 2: Artifacts Deliverables in Valuation Phase Artifact Due date Format Medium Prototype presentation - 09/28/2018.ppt Soft copy 1 Prioritization of use cases in the WinBook 09/28/2018 Winbook website Web page Foundations Phase Table 2: Artifact deliverable in Foundations Phase Artifact Due date Format Medium All the Documents (LCP, OCD, SSAD, FED, Requirements Document) 10/22/2018.doc,.pdf Soft copy Implementation of 10/15/2018 Ppt, pdf Soft copy High priority use cases. LCP_TRR_F18a_T07_V2.0.doc 4

10 3. Responsibilities 3.1 Project-specific stakeholder s responsibilities The stakeholders of the project are Users, Developers, IIV & V and the Client who will also be the maintainer of the project. Currently we do not have any project specific stakeholders. 3.2 Responsibilities by Phase Table 3: Stakeholder's Responsibilities in each phase Team Member / Role Name: Chang Yu Role:, Prototyper, Requirements Engineer. Name: Isha Agarwal Role Life Cycle Planner,, Prototyper Name: JingXing Cheng Role-, Feasibility Analyst Name: Kajal Taneja Role UML Modeler, Operational Concept Engineer Name: Kiranmai Ponakala / Exploration Valuation Foundations Development- Construction Iteration Requirements Engineer Life Cycle Planner, Feasibility Analyst UML Modeler Operational Concept Engineer Requirements Engineer, Prototyper Prototyper, Feasibility Analyst UML Modeler Operational Concept Engineer Requirements Engineer, Prototyper Life Cycle Planner, Prototyper, Feasibility Analyst UML Modeler Operational Concept Engineer Tester Life Cycle Planner, Tester, Feasibility Analyst UML Modeler Operational Concept Engineer Development- Transition Iteration Trainer Tester Trainer, Tester, Feasibility Analyst UML Modeler Operational Concept Engineer LCP_TRR_F18a_T07_V2.0.doc 5

11 Role Program Manager, IIV & V, Life Cycle Planner Name: Sushant Ramesh Role Operational Concept Engineer, Software Architect Name: Sunmeet Nagpal Role Program Manager, Quality Focal Point Name: Yuanxiu Yang Role Feasibility Analyst, Tester Program Manager, IIV & V Life Cycle Planner Operational Concept Engineer, Software Architect Program Manager Quality Focal Point Feasibility Analyst Tester Program Manager, IIV & V Life Cycle Planner Operational Concept Engineer, Software Architect Prototyper Program Manager Quality Focal Point Feasibility Analyst Tester Program Manager, IIV & V Life Cycle Planner Operational Concept Engineer, Software Architect Prototyper Program Manager Quality Focal Point Feasibility Analyst Tester Program Manager, IIV & V Life Cycle Planner Operational Concept Engineer, Software Architect Program Manager Quality Focal Point Feasibility Analyst Tester Program Manager, IIV & V Life Cycle Planner Operational Concept Engineer, Software Architect Program Manager Quality Focal Point Feasibility Analyst Tester 3.3 Skills Table 5: Team Skills Assessment Team members Role Skills Chang Yu Prototyper,, Current Skills: Java, Android Requirements Engineer Required skills: git, Isha Agarwal Prototyper,, Life Cycle Planner COCOMO estimates, Swift Current skills: Java Developer, Prototype Design JingXing Cheng, Feasibility Analyst Required skills: Android, Swift Current Skills: Java, Android Studio, git Required skills: program management, Swift LCP_TRR_F18a_T07_V2.0.doc 6

12 Kajal Taneja Operational Concept Engineer, UML Modeler Current skills: git, java, UML Modeling Kiranmai Ponakala Program Manager, IIV & V, Life Cycle Planner Sushant Ramesh Sunmeet Nagpal Operational Concept Engineer, Software Architect Program Manager, Quality Focal Point Required skills: Android Studio, Swift Current skills: java, Android Studio, git Required skills: program management, communication skills, Swift Current skills: Java, XML, UML Modeling, Visual Paradigm, COCOMO Required skills: git, Android skills, Swift Current skills: java, Android Studio Required skills: git, Swift Yuanxiu Yang Feasibility Analyst, Tester Current skills: java Required skills: Android Studio, git, Swift LCP_TRR_F18a_T07_V2.0.doc 7

13 4. Approach 4.1 Monitoring and Control We are using various ways to monitor our project 1. Jira Ticket is created for the work which is being done. 2. Project Report 3. Progress Report 4. Risk and Defect Report Closed Loop Feedback Control 1. Every team member provides update to the Team manager about their progress on the work assigned through Slack Channel. 2. We are using Google Drive to store the work done by the team members, everything related to the project is stored on the Drive. 3. Team meeting after class and on weekends (if necessary) to discuss progress and next steps. 4. Client meeting every Friday to discuss our concerns, anything on which we are blocked, our progress and next steps. 5. If we want to communicate anything to any team member we do that in the meeting Reviews 1. Individual work is validated during the meetings. 2. IIV & V reviews Jira tickets and the documents created. 3. A team member gets his code reviewed by 2 other team members. 4. Client meeting every Friday where he reviews the work which is going on. LCP_TRR_F18a_T07_V2.0.doc 8

14 4.2 Methods, Tools and Facilities Table 6: Tools for Monitoring and Control Tools Usage Provider Balsamiq Creating prototypes Balsamiq Jira Keeping track of all the work which is being done Atlassian Slack Communication with Team members and clients Slack Technologies Google Drive To store all the Document work at one place and which is Google Inc accessible to all the team members WinBook To store all the win conditions, their priorities and the ease of USC implementation. Visual Paradigm UML Models are developed using Visual Paradigm Visual Paradigm COCOMO II Tool to determine cost and duration for project Development USC GitHub Repository to keep track of all the code changes. GitHub Google To connect with team members who are not able to attend the Google Inc. Hangout meeting. XCode Used to develop the ios Mental Math App Apple Inc. LCP_TRR_F18a_T07_V2.0.doc 9

15 5. Resources Identify the following information in order to estimate the software cost: - Estimated CSCI577a Effort: 8 team members at 15 hrs/week for 12 weeks - Total estimated effort - 8 * 16 * 12 = 1536 hrs - Total Effort in person month = 25.6 person months - Effort for each team member = 3.2 person months - Budget information 0$ for CSCI 577a - Project duration 12 Weeks or 1 semester - Component modules in your development project Android and XCode - Programming language used Java and Swift For Architected Agile, the example of how to rate scale factors and cost drivers can be found at ICSM EPG> Task: Estimate Project Effort and Schedule using COCOMO II For the most common mistakes in cost estimation for Architected Agile, please go to ICSM EPG> Concept: Common Mistakes in COCOMOII Calculation Table 7: COCOMOII Scale Driver Scale Driver Value Rationale PREC High Precedentedness is high as the team is generally familiar with the project FLEX High Developmental flexibility is high as the client is rigid about the requirement and the team conforms with the specifications RESL Nominal The Architectural design and through and we do risk elimination often TEAM Low The team cohesion is low as there are some difficult interactions among the success critical stakeholders PMAT Nominal The weighted average to all the Capability Maturity Model Questionnaire is yes Table 8: COCOMOII Cost Driver Cost Driver Value Rationale RELY Nominal The reliability of the system is nominal as it performs its intended task DATA Low The data base size is low as we currently do not use any database for the app CPLX High The complexity is high as we have various complexities like device dependent complexities, UI complexities, computational and control operations LCP_TRR_F18a_T07_V2.0.doc 10

16 RUSE Very High The reuse of the components in the system is high as the elements are highly reusable and we have used several components more than once DOCU Nominal The suitability of the document to the life cycle needs are just about the right sized TIME Nominal The execution time constraint is nominal as the constraint imposed on system time is less than 50% STOR Nominal Main Storage Constraint is nominal as the constraint imposed on the system main storage is less than 50% PVOL Low As the platform will not change frequently ACAP High Design and requirements are thought through well PCAP Low Capability of the team as programmers is low as they lack in ability and communication and cooperation. PCON APEX Very High Very Low The personnel continuity is high as none of the team members will leave the project in between The application experience is very low as the team is not familiar with the application and the team has less than 2 months experience with this type of application PLEX Low The programming language experience is low as not all the team members are good in java and the team has around 6 months of experience with java, but has no experience in Swift for ios App LTEX Low The language and tool set experience is Low as the team has 6 months of experience with the language and tool set TOOL High The tools used are strong, mature life cycle tools which are moderately integrated SITE Very As the team is located in the same area High SCED Nominal As tasks are being completed on time. LCP_TRR_F18a_T07_V2.0.doc 11

17 Figure 1: COCOMOII Estimation Result The effort in person months for this project is which is almost equal to the estimated effort of 25.6 months. LCP_TRR_F18a_T07_V2.0.doc 12

18 6. Iteration Plan 6.1 Plan Develop all features in win conditions for the client. These features are high risk elements of high priority as discussed by the success critical stakeholders Capabilities to be implemented Table 9: Construction iteration capabilities to be implemented ID Capability Description Priority Iteration C - 1 Flavors As discussed in the win conditions with High 3 the client, two separate version called free and paid version, there are no ads in the paid version and all levels are accessible in the paid version C 2 Progress Page Developed a progress page which shows High 3 the progress of the user at the end of playing each level, it shows the overall progress of the user amongst all the levels C 3 Encryption/ Developed a working algorithm which High 3 Decryption Algorithm has the ability to encrypt and decrypt sensitive information regarding the app C 4 Refactoring Refactored the back-end code into Very High 2 the code modules as the client requested C 5 Cleaned the Improved the readability and writability Nominal 2 code of code C -6 Settings page Created a settings page to display all the settings of the app and these settings can be changed accordingly Nominal 2 C 7 Records Page UI Changed the UI of the records page from a list of time stamps to a graph view which makes it easy for the user to understand the records C- 8 Licensing Licensing of the Android version of the App C - 9 ios Start Start Page of ios App which has the Page basic functionality of Begin, Rate and High 2 Nominal 2 High 2 Share C -10 ios Rate Rate button to rate the ios version of the Low 1 LCP_TRR_F18a_T07_V2.0.doc 13

19 Button App on the Apple App Store C 11 ios Share Share button so that the user can share Nominal 1 Button with his/her friends C -12 ios Game Game play of levels for the ios App, it High 1 Play should work similar to the Android App which a number pad for entering result and C - 13 ios Level Level Description of each level is made Nominal 1 Description similar to the description in the Android App. C 14 ios Score After successful completion of the Low 1 Page C - 15 ios Different buttons at the bottom of the High 1 Arithmetic Operation Button level select screen for selecting the different operations available to play C 16 Device The App should appear same on different High 1 Consistency of Android App Android Platforms C 17 Device The ios app should look the same on Nominal 1 Consistency of ios App different ios phones and should not be different C - 18 Ios language Option to select different languages in ios High 1 selection version of the app C 19 levels Having few levels implemented in the V.High 1 app C 20 Ios number Ios should have a correctly working High 1 pad number pad C -21 Delete answer in ios Should have an option to delete the answer if user feels that the entered Nominal 1 C - 22 Clear answer in ios answer is incorrect User should have an option to clear the answer when they wish to Capabilities to be tested Table 10: Construction iteration capabilities to be tested Low 1 ID Capability Description Priority Iteration T - 1 Flavors As discussed in the win conditions with the client, two separate version called free and paid version, there are no ads in the paid version and all levels are High 3 LCP_TRR_F18a_T07_V2.0.doc 14

20 accessible in the paid version T 2 Progress Page Developed a progress page which shows the progress of the user at the end of playing each level, it shows the overall progress of the user amongst all the levels T 3 Encryption/ Decryption Algorithm Developed a working algorithm which has the ability to encrypt and decrypt sensitive information regarding the app T 4 Refactoring the code Refactored the back-end code into modules as the client requested T 5 Cleaned the Improved the readability and writability code of code T -6 Settings page Created a settings page to display all the settings of the app and these settings can be changed accordingly T 7 Records Page UI Changed the UI of the records page from a list of time stamps to a graph view which makes it easy for the user to understand the records T - 8 Licensing Licensing of the Android version of the App T - 9 ios Start Start Page of ios App which has the Page basic functionality of Begin, Rate and T -10 T 11 T -12 T - 13 T 14 T - 15 T 16 ios Rate Button ios Share Button ios Game Play ios Level Description ios Score Page ios Arithmetic Operation Button Device Consistency of Android App Share Rate button to rate the ios version of the App on the Apple App Store Share button so that the user can share with his/her friends Game play of levels for the ios App, it should work similar to the Android App which a number pad for entering result and Level Description of each level is made similar to the description in the Android App. High 3 High 3 Very High 2 Nominal 2 Nominal 2 High 2 Nominal 2 High 2 Low 1 Nominal 1 High 1 Nominal 1 After successful completion of the Low 1 Different buttons at the bottom of the level select screen for selecting the different operations available to play The App should appear same on different Android Platforms High 1 High 1 LCP_TRR_F18a_T07_V2.0.doc 15

21 T 17 T - 18 Device Consistency of ios App Ios language selection The ios app should look the same on different ios phones and should not be different Option to select different languages in ios version of the app T 19 levels Having few levels implemented in the app T 20 Ios number Ios should have a correctly working pad number pad T -21 Delete answer Should have an option to delete the in ios answer if user feels that the entered T - 22 Clear answer in ios answer is incorrect User should have an option to clear the answer when they wish to Nominal 1 High 1 V.High 1 High 1 Nominal 1 Low Capabilities not to be tested All capabilities are thoroughly tested CCD Preparation Plans The Client and all the team members will be present for the CCD, we will ask client for feedback on features we have created and implemented. We will design risk mitigation plans for all the features to be presented and UIs to be changed. 6.2 Iteration Assessment Capabilities Implemented, Tested, and Results We have done manual testing and integration testing for all the capabilities, we will be writing test cases in the next iteration. The below table is related to the testing we have done. Table 11: Capabilities implemented, tested, and results ID Capability Test Case Test Results T - 1 Flavors TC -1 P T 2 Progress Page TC -2 P T 3 Encryption/ Decryption TC 3 P Algorithm If fail, why? LCP_TRR_F18a_T07_V2.0.doc 16

22 T 4 Refactoring the code TC -4 P T 5 Cleaned the code TC 5 P T -6 Settings page TC -6 P T 7 Records Page UI TC -7 P T - 8 Licensing TC -8 P T - 9 ios Start Page TC -9 P T -10 ios Rate Button TC -10 F As we have not published the app on the Apple App store unable to test rating T 11 ios Share Button TC -11 P T -12 ios Game Play TC -12 P T - 13 ios Level Description TC -13 P T 14 ios Score Page TC -14 P T - 15 ios Arithmetic TC -15 P Operation Button T 16 Device Consistency of TC -16 P Android App T 17 Device Consistency of TC -17 P ios App T - 18 Ios language selection TC -18 P T 19 levels TC -19 P T 20 Ios number pad TC -20 P T -21 Delete answer in ios TC -21 P T - 22 Clear answer in ios TC -22 P 6.3 Adherence to Plan We have done all the features required by the client for the Foundations phase and implemented them with regular feedback from the client. We have severe risks in team compatibility, team collaboration and the documentation was incorrect in many areas which needs to improve in the next iteration. LCP_TRR_F18a_T07_V2.0.doc 17