Life Cycle Plan (LCP) Newlette Coins Team Number - 06 Members Name Email Primary Role Secondary Role Akshaya Ravichandran ravichaa@usc.edu Requirements Engineer UML Modeler John Leibowitz jleibowi@usc.edu IIV&V Quality Focal Point Nitin Surana nsurana@usc.edu Life Cycle Planner Software Architect Remya Ramachandran remyaram@usc.edu Feasibility Analyst Implementer Santhoshi Priyanka Gooty Agraharam gootyagr@usc.edu Project Manager Tester Theerapat Chawannakul tchawann@usc.edu Builder Implementer Vujjini Anuraag vujjini@usc.edu Implementer Prototyper
according to their game play specifications. The client has to provide us with valuable feedback on the game design and assets during the development of the game. They will also need to maintain the game with the help of their developers and maintainers. 3.2. Responsibilities by Phase Given below are the responsibilities of each member of the team during different phases of the project: Table 5: Stakeholder's Responsibilities in each phase Team Member / Role Primary / Secondary Responsibility Exploration Valuation Foundations Development- Construction Iteration Transition Iteration Name: Anuraag Vujjini Role: Implementer, Prototyper Primary Responsibility Familiarize with Phaser.js. Implement simple user interaction capture on client side. Secondary Responsibility Identify top risks and design prototype for the same. Primary Responsibility Work with the design team to incorporate the design assets in the frontend. Develop login and registration functionality for the game. Secondary Responsibility Identify key features that need to be demonstrated in the prototype. Create initial design of prototype. Primary Responsibility Integrate frontend and backend. Test the user interaction, login and register functionalities. Secondary Responsibility Monitor prototype development. Primary Responsibility Implement Edit Profile, leaderboard. Integrate UI assets. Fix bugs as and when they are logged by testers. Secondary Responsibility Identify key features that need to be demonstrated for CCD. Monitor development of game to ensure all key features are done before the CCD. Primary Responsibility Ensure code is clean and well documented. Ensure application is seamlessly integrated with client’s existing system and provide support as and when required. Secondary Responsibility Ensure application is seamlessly integrated with client’s existing system and provide support as and when required. Name: Akshaya Primary Responsibility: Primary Responsibility Primary Responsibility Primary Responsibility Primary Responsibility
Ravichandran Role: Requirements Engineer, UML Modeler Client Interaction. Analyze system architecture used in previous games built by client. Capture requirements of new game. Negotiate win- conditions with stakeholders. Secondary Responsibility Provide feasibility evidence for gathered requirements. Client Interaction. Make sure the architecture design meets specified requirements. Secondary Responsibility Work with system architect and develop UML diagrams. Help build design assets. Client Interaction. Perform analysis of prototype to ensure adherence to stakeholder win conditions. Secondary Responsibility Ensure prototype adheres to UML diagrams designed earlier. Client Interaction. Perform analysis of game features to ensure adherence to stakeholder win conditions. Secondary Responsibility Ensure game features adhere to UML diagrams designed earlier. Client Interaction. Perform analysis of game features to ensure adherence to stakeholder win conditions. Secondary Responsibility Ensure game features adhere to UML diagrams designed earlier. Name: John Leibowitz Role: IIV&V, Quality Focal Point Primary Responsibility: Client interaction. Analyze current system of client’s existing games. Secondary Responsibility: Analyze the requirements specified. Negotiate with stakeholders. Primary Responsibility Client Interaction. Analyze system architecture design. Secondary Responsibility Scrutinize the quality of the system’s architecture, each development item, and design asset. Primary Responsibility Client Interaction. Analyze prototype design. Secondary Responsibility Ensure quality of the prototype meets stakeholder requirements. Primary Responsibility Client Interaction. Analyze system architecture design implemented. Secondary Responsibility Ensure quality of game being developed meets client’s standards and meets all success critical stakeholders’ requirements. Primary Responsibility Client Interaction. Analyze developed system thoroughly and ensure smooth integration with client’s existing system. Secondary Responsibility Ensure quality of game developed meets client’s standards and meets all success critical stakeholders’ requirements. Name: Nitin Surana Role: Life Cycle Planner, Software Architect Primary Responsibility: Analyze requirements and plan the project life cycle, and duration of each iteration. Secondary Responsibility: Evaluate system requirements. Primary Responsibility Plan and estimate timeline for each iteration. Identify time and effort required for each task. Secondary Primary Responsibility Develop detailed project iteration plan. Identify tasks to incorporate in each iteration. Identify responsibilities. Plan for backlog Primary Responsibility Develop detailed project iteration plan. Identify tasks to incorporate in each iteration. Identify responsibilities. Plan for backlog Primary Responsibility Develop detailed project iteration plan for the integration phase. Identify tasks to incorporate in each iteration. Identify
Role: Builder, Implementer requirements. Design development approach. Secondary Responsibility: Familiarize with Phaser.js. Implement simple user interaction capture on client side. designs and oversee implementation process of the game. Secondary Responsibility Work with the design team to incorporate the design assets in the frontend. Implement REST API calls to the backend server to retrieve information pertaining to the game. integration of frontend and backend. Assign testing of different aspects of the game to different members of the team after integration is complete. Secondary Responsibility Integrate frontend and backend. Test the user interaction and REST calls are sent properly to the backend. implementation of core functionalities. Assign testing of different functionalities to different team members. Secondary Responsibility Implement Edit Profile, leaderboard. Integrate UI assets. Fix bugs as and when they are logged by testers. integration of the developed application with the client’s existing system. Assign testing of different functionalities and bug fixing to different team members. Secondary Responsibility Ensure code is clean and well documented. Ensure application is seamlessly integrated with client’s existing system and provide support as and when required. 3.3. Skills The current and required skills for each team member for this project is listed below: Table 6: Development Team’s Skills Team members Role Skills Anuraag Vujjini Implementer, Prototyper Current skills: C/C++, AJAX, jQuery, HTML5, CSS, SQL, XML, PHP, python. Required skills: Phaser.js, Java Spring, Photoshop, HTML5, CSS, SQL, AJAX, jQuery. Akshaya Ravichandran Requirements Engineer, UML Modeler Current skills: Java, C/C++, HTML,CSS, SQL, Photoshop, Javascript, GME(Generic Modelling Environment),
Peer review: Weekly team meetings are held to review each team members’ work done for that week and each member gives his/her feedback and suggestions. Instructor/TA Reviews: Reviews from the instructor and TAs as and when various documents have been submitted have proved useful for the project’s development. Client Meetings: Weekly meetings with the client helps get feedback from them about what is acceptable for the project and what should be reworked. 4.2. Methods, Tools and Facilities Table 7: Tools used for the Project Tools Usage Provider Github A version control system which acts as repository for the code checked in by different team members, allowing us to keep track of changes made. Github Bootstrap Used to design better UI for the website Open Source Google drive All documents required for the project are shared with team members through the team’s drive so that everyone can download and review it. Google Intellij IDEA Backend development of the project JetBrains Visual paradigm Tool used to create UML diagrams Visual paradigm MySQL Database Open Source Microsoft office All documents for the project were created using MS Office; Word, PowerPoint, and Project in particular. Microsoft Brackets Frontend development of the project Brackets WhatsApp Messenger Communication within the team was facilitated through a Whatsapp group. WhatsApp HeidiSQL Tool that enables fast and easy management of the database HeidiSQL Skype Used to communicate with DEN student Microsoft Jira To log time and effort spent on each task of the project by different members of the team USC Winbook Used to identify and prioritize win conditions of all the stakeholders USC Project Website All final documentation regarding the project is stored on the website. USC Balsamiq Used to create project prototype design Balsamiq
Table 14: COCOMOII Cost Driver, Module 5: Profile Page Cost Driver Value Rationale RELY Nominal Moderate level of error or loss recovery if profile page fails. DATA High While testing, all invalid cases have to be handled so test data will be high. DOCU Nominal Right amount of documentation for maintenance purpose when developers leave and project is handed over to client. CPLX Nominal Basic functionality, not very complex to code. RUSE Low Module is specific to this project’s needs and can not be used in other projects. TIME Nominal Profile page doesn’t get displayed often. STOR Nominal User profile data doesn’t take up a lot of memory space. PVOL Low Platform volatility is expected to be low since technologies being used like MySQL, php, Java, HTML, etc. don’t change frequently. ACAP High Team members are all graduate students who have good analytical skills. PCAP High Team members are graduate students with Computer Science background so have good programming skills. PCON Very High Team members will work on project till the end of the semester. APEX Nominal Team doesn’t have previous experience developing a profile page with avatars for every user. LTEX Nominal Team has had some experience with HTML5. PLEX Nominal Team has had some experience with HTML5.