life cycle plan (lcp) - spring 2018 · life cycle plan (lcp) smart locks control team 05 ... risk...
TRANSCRIPT
Life Cycle Plan (LCP)
Smart Locks Control
Team 05
Team Member:
Vaibhav Vishal Project Manager, Life Cycle Planner,
Trainer
Diego Brandao IV&V, Software Architect, Developer
Zhe Wang Feasibility Analyst, NDI/NCS Acquirer
Mohammadreza Barazesh Software Architect, Developer
Alejandro Monroy Prototyper, Evaluator, Tester, Developer
Hao-Yun Yang Requirements Engineer
Katarzyna Ruszowska Quality Focal Point, UML Modeler,
Developer
12/4/17
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 12/04/17
Version History
Date Author Version Changes made Rationale
10/13/17 Vaibhav Vishal 1.0 Created the original document
with the midterm deliverables
Initial draft for use with phase plan
for foundation, development,
operation.
10/16/17 Zhe Wang 1.1 Create section 6.1. Add
COCOMO II Results
Create future plan for next iteration
12/3/17 Vaibhav Vishal 1.5 Added User Manual in
Development Phase
Modified Iteration Plan
Added Iteration Assessment
Document required for product
deployment.
Iteration plan more relatable after
testing was completed.
12/04/17 ZW 1.6 COCOMO II Results Update COCOMO II Results
12/04/17 VV 1.8 Format of headers and footers Reflecting the current version
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 iii Version Date: 12/04/17
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 ........................................................................................................................................................ 1
1.1 Purpose of the LCP ............................................................................................................................................ 1
1.2 Status of the LCP ............................................................................................................................................... 1
1.3 Assumptions ....................................................................................................................................................... 1
2. Milestones and Products .................................................................................................................................... 1
2.1 Overall Strategy ................................................................................................................................................. 2
2.2 Project Deliverables ........................................................................................................................................... 2
3. Responsibilities ................................................................................................................................................... 6
3.1 Project-specific stakeholder’s responsibilities ................................................................................................. 6
3.2 Responsibilities by Phase ................................................................................................................................... 6
3.3 Skills .................................................................................................................................................................... 9
4. Approach .......................................................................................................................................................... 11
4.1 Monitoring and Control .................................................................................................................................. 11
4.2 Methods, Tools and Facilities .......................................................................................................................... 11
5. Resources .......................................................................................................................................................... 13 6. Iteration Plan .................................................................................................................................................................. 19
6.1 Plan ........................................................................................................................................................................... 19
6.1.1 Capabilities to be implemented ............................................................................................................................ 19
6.1.2 Capabilities to be tested ........................................................................................................................................ 20
6.1.3 Capabilities not to be tested .................................................................................................................................. 20
6.1.4 CCD Preparation Plans ........................................................................................................................................ 21 6.2 Iteration Assessment ............................................................................................................................................... 21
6.2.1 Capabilities Implemented, Tested, and Results .................................................................................................. 21
6.2.2 Core Capabilities Drive-Through Results ........................................................................................................... 22 6.3 Adherence to Plan ................................................................................................................................................... 22
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 12/04/17
Table of Tables
Table 1: Artifacts Deliverables in Exploration Phase ................................................................................................... 3 Table 2: Artifact deliverable in Exploration Phase ....................................................... Error! Bookmark not defined. Table 3: Artifact deliverable in Valuation Phase .......................................................................................................... 3 Table 4: Artifact deliverable in Foundations Phase ...................................................................................................... 4 Table 5: Artifact deliverable in Development Phase ..................................................................................................... 5 Table 6: Stakeholder's Responsibilities in each phase .................................................................................................. 6 Table 7: COCOMOII Scale Driver .............................................................................................................................. 13 Table 8: COCOMOII Cost Driver ............................................................................................................................... 13 Table 9: Application Count: Screens ........................................................................................................................... 14 Table 10: Application Count: Reports ........................................................................... Error! Bookmark not defined. Table 11: Application Count: 3GL components ............................................................ Error! Bookmark not defined. Table 12: Application Point Parameters ....................................................................... Error! Bookmark not defined. Table 13: Construction iteration capabilities to be implemented ................................................................................ 19 Table 14: Construction iteration capabilities to be tested ........................................................................................... 20 Table 15: Capabilities implemented, tested, and results ............................................................................................. 21
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 12/04/17
Table of Figures
No table of figures entries found.
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 1 Version Date: 12/04/17
1. Introduction
1.1 Purpose of the LCP
Develop Project Plan, track resource spent and estimate cost in each of the incremental phase.
• Define the workflow and identify individual and team responsibility.
• Track and update progress over each iteration of the project.
1.2 Status of the LCP
The status of the LCP is currently at the Foundation Commitment Package version no 1.0. This
is the initial version that is being developed at the end of FCR-ARB presentation.
The major attributes of this package are:
• Foundation phase work
• Development Phase and Operation Phase plan
• Cost Estimation using COCOMO II
1.3 Assumptions
• The duration of the project is 12 weeks in Fall 2017.
• The overall strategy that the team will be following is NDI/NCS.
• The team will be using 7 personnel, 6 on campus students and 1 DEN student.
• The plan is being followed as drawn in MS Project without any delay.
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 2 Version Date: 12/04/17
2. Milestones and Products
2.1 Overall Strategy
The overall strategy that our project is following is of Incremental Development with the tasks
being divided into 4 phases, Exploration, Foundation, Development and Operation.
The ICSM process that we have adopted for the project is NDI/NCS as our system uses
COTS/services like PHP, AngularJS and SQLite.
Exploration Phase
Duration: 08/23/17 – 09/13/17
Concept: Identify operational concept, system and software requirements and,
life cycle plan for the next phase.
Deliverables: Client Meeting Notes
Milestone: Valuation Commitment Review
Strategy: One Incremental Commitment Cycle, Project deliverable strategy,
Win-Win Negotiation Session #1 with the client.
Valuation Phase
Duration: 09/14/17 – 09/29/17
Concept: Identify project requirement, user hierarchy, Constraints and Priorities,
Gather data on project feasibility evidence, prototype the top risk items,
plan and manage project.
Deliverables: Prototype Presentation, Progress Report and Risk/Defects Report
Milestone: Prototype Presentation
Strategy: Risk Analysis Assessment, Core Capabilities Identification,
Win-Win Negotiation Session, Planning Poker
Foundation Phase
Duration: 09/30/17 – 10/15/17
Concept: Project Requirements, Plan and Manage Project, Project Quality,
Develop Prototype, Fix Defects, Develop Software Architecture
Deliverables: Development Commitment Package,
Draft Transition Readiness Review Package
Milestone: Development Commitment Review
Strategy: One Incremental Commitment Cycle, Risk assessment analysis
Development Phase
Duration: 10/16/17 – 12/5/17
Concept: Core Capability Drive, Developing and implementing the full system
with required features, performing unit, Project plan, Training the
client, Transition Readiness Review.
Deliverables: Core Capability Drive-Through Report, Transition Readiness
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 3 Version Date: 12/04/17
Review Package
Milestone: CCD, Transition Readiness Review
Strategy: Development, Testing, Training, Development
Operation Phase
Duration: 12/6/17 – 12/6/17
Concept: Product Deliverable
Deliverables: Final service of the project.
Milestone: Commercial Release of the project
Strategy: Deployment
2.2 Project Deliverables
This section consists of project deliverables in each phase for Smart Locks Control project and
its due date, format and medium.
2.2.1 Exploration Phase
Table 1: Artifacts Deliverables in Exploration Phase
Artifact Due date Format Medium
Client Interaction Report 09/13/2017 .doc, .pdf Soft copy
Win Condition Report 09/16/2017 .pdf Soft copy
Jira Weekly Survey Weekly Monday Jira ticket Jira website
Risk and Defects Report Bi-weekly Wednesday .xlsx Soft copy
Project Plan Bi-weekly Wednesday .mpp Soft copy
Progress Report Bi-weekly Wednesday .xlsx Soft copy
2.2.2 Valuation Phase
Table 2: Artifact deliverable in Valuation Phase
Artifact Due date Format Medium
Top Risk Prototype
Presentation
09/29/2017 .pptx Soft Copy
Jira Weekly Survey Weekly Monday Jira
ticket
Jira website
Risk and Defects
Report
Bi-weekly Wednesday .xlsx Soft copy
Project Plan Bi-weekly Wednesday .mpp Soft copy
Progress Report Bi-weekly Wednesday .xlsx Soft copy
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 4 Version Date: 12/04/17
2.2.3 Foundations Phase
Table 3: Artifact deliverable in Foundations Phase
Artifact Due date Format Medium
Development
Commitment Review
Presentation
10/13/2017 .pptx, .pdf Hard Copy, Soft Copy
Development
Commitment Package
• Operation
Concept
Description
(OCD)
• Life Cycle Plan
(LCP)
• Prototype (PRO)
• System and
Software
Architecture
Description
(SSAD)
• Feasibility
Evidence
Document (FED)
• Test Planning
and Cases (TPC)
10/16/2017 .doc, .pdf Soft Copy
Jira Weekly Survey Weekly Monday Jira ticket Jira website
Risk and Defects Report Bi-weekly
Wednesday
.xlsx Soft copy
Project Plan Bi-weekly
Wednesday
.mpp Soft copy
Progress Report Bi-weekly
Wednesday
.xlsx Soft copy
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 5 Version Date: 12/04/17
2.2.4 Development Phase
Table 4: Artifact deliverable in Development Phase
Artifact Due date Format Medium
Transition Readiness
Review Presentation
11/27/2017 .pptx, .pdf Hard Copy, Soft Copy
Transition Readiness
Review Package
• Operation
Concept
Description
(OCD)
• Life Cycle Plan
(LCP)
• Prototype (PRO)
• System and
Software
Architecture
Description
(SSAD)
• Feasibility
Evidence
Document (FED)
• Test Planning
and Cases (TPC)
• User Manual
(UM)
12/4/2017 .doc, .pdf Soft Copy
Jira Weekly Survey Weekly Monday Jira ticket Jira website
Risk and Defects Report Bi-weekly
Wednesday
.xlsx Soft copy
Project Plan Bi-weekly
Wednesday
.mpp Soft copy
Progress Report Bi-weekly
Wednesday
.xlsx Soft copy
Technical Debt Report Bi-weekly Friday .doc, .pdf Soft Copy
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 6 Version Date: 12/04/17
3. Responsibilities
3.1 Project-specific stakeholder’s responsibilities
Other than typical stakeholders of CSCI577ab which are client, user, maintainer, developer and
IIV&V, we do not have any project-specific stakeholder.
3.2 Responsibilities by Phase
Table 5: Stakeholder's Responsibilities in each phase
Team Member
/ Role
Primary / Secondary Responsibility
Exploration Valuation Foundations Development-
Construction
Iteration
Development-
Transition
Iteration Name: Igor
Shneyderman
Role: Client,
Maintainer,
Program
Coordinator, Smart
Locks Control
Primary
Responsibility
Explain the
project
deliverables
Secondary
Responsibility
Provide details of
the core features
that need to be
implemented.
Primary
Responsibility
Deliver the Locks
and Hubs
required for the
project
Secondary
Responsibility
Identify any
existing system or
current system he
is using.
Primary
Responsibility
-Discuss new
project model.
-New user
hierarchy
description.
Secondary
Responsibility
Identify target
customers.
Develop
Business Model.
Primary
Responsibility
Review the
progress and final
implemented
product.
Secondary
Responsibility
Identify any
project deliverable
that may become
obsolete.
Primary
Responsibility
Receive Training
for the new
system.
Secondary
Responsibility
Understand how
to maintain the
same.
Name: Vaibhav
Vishal
Role: Project
Manager, Life
Cycle Planner,
Trainer
Primary
Responsibility
-Create and
follow up action
items.
-Schedule
Weekly
meetings.
Secondary
Responsibility
-Record project
progress.
-Identify
responsibilities
and skills.
Primary
Responsibility
-Facilitate client
interaction and
follow up after
win win sessions.
-Create and
follow up action
items.
-Schedule
Weekly meetings.
Secondary
Responsibility
-Record project
progress bi-
weekly.
Primary
Responsibility
-Create and
follow up action
items.
-Facilitate review
of prototype
presentation with
client for new
project
deliverables.
-Schedule
weekly work
schedule.
Secondary
Responsibility
Primary
Responsibility
-Create and follow
up action items.
-Schedule Weekly
work.
- Review the
project with the
client.
Secondary
Responsibility
- Record project
bi-weekly
progress.
- Plan for risk
mitigation and
Primary
Responsibility
-Create and
follow up action
items.
-Schedule
Weekly work.
- Training
session with
client.
Secondary
Responsibility
- Record project
bi-weekly
progress.
- Plan for risk
mitigation and
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 7 Version Date: 12/04/17
-Identify Life
Cycle
Management
Approach.
-Estimation on
project effort and
schedule.
-Assign issues to
team on JIRA and
track progress.
-Record project
bi-weekly
progress.
- Plan for risk
mitigation.
- Prepare the
team for
documentation.
- Assign issues to
team on JIRA
and track
progress.
technical debt
identification.
- Review the
development
iteration.
-Develop
transition plan.
- Assign issues to
team on JIRA and
track progress.
technical debt
identification.
-Develop
Support plan.
- Assign issues to
team on JIRA
and track
progress.
-Review the
transition
iterations.
Name: Mohammadreza Barazesh Role: Software Architect, Operational Concept Engineer, Developer
Primary Responsibility -Analyze the current system Secondary Responsibility Identify Shared Vision
Primary Responsibility - Analyze NDI Interoperability for NDI / NCS project - Assess and evaluate NDI and NCS components Candidates Secondary Responsibility - Explore Alternatives - Identify Objectives, Constraints and Priorities
Primary Responsibility - Assess System Architecture -Review Feasibility evidence for NDI NCS project Secondary Responsibility - Establish New Operational Concept
Primary Responsibility - Specify Architecture Styles, Patterns and Frameworks - Develop and implement backend. -Review the frontend and backend codes and merge the work. Secondary Responsibility - Assess Operational Concept
Primary Responsibility - Review the implemented features. Secondary Responsibility - Verify whether the implemented system satisfies the operational concept.
Name: Alejandro Monroy Role: Software Developer, Prototyper, Evaluator, Tester
Primary Responsibility -Understand the current system
Primary Responsibility - Analyze and understand SmartThings API and the trigger commands on the application - Explore alternatives for developing the frontend. Secondary Responsibility - Analyze and Prioritize Capabilities to Prototype
Primary Responsibility - Develop Frontend Prototype -Make changes as per API call events.
Primary Responsibility - Develop and implement the features in detail. -Fix Defects after review - Integrate Components
Primary Responsibility - Fix defects if any - Upload the system over the client’s server.
Name: Hao-Yun Yang
Primary Responsibility
Primary Responsibility
Primary Responsibility
Primary Responsibility
Primary Responsibility
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 8 Version Date: 12/04/17
Role: Requirements Engineer
- Understand the features of current system
- Capture and Score MMF and Win-conditions - Capture progress of win-win negotiation
- Develop the Database queries for storing user information. Secondary Responsibility - Test the functionality of the Database.
- Verify whether the implemented features address all the win conditions and all the requirements are satisfied. Secondary Responsibility - Check the architecture and the OCD diagrams are according to the system implemented.
- Final Review of implemented features to match with requirements Secondary Responsibility - Verify the fixed defects. -Final round of testing the system.
Name: Diego Brandao Role: IV and V, Software Architect, Developer
Primary Responsibility -Analyze the current system Secondary Responsibility Check the SmartThings API
Primary Responsibility - Analyze Business Case - Explore Alternatives -Assess and Plan to Mitigate Risks Secondary Responsibility Assess and evaluate NDI and NCS components Candidates - Provide recommendation about NDI /NCS components
Primary Responsibility - Develop the API calls for the SmartApp. Secondary Responsibility - Verify and validate the prototype.
Primary Responsibility - Verify and Validate REST API Calls and the backend PHP.
Primary Responsibility - Verify and Validate all the implemented features of the website
Name: Zhe Wang Role: Feasibility Analyst, NDI/NCS Acquirer.
Primary Responsibility -Understand the current system Secondary Responsibility Acquire NDI or NCS components
Primary Responsibility - Analyze and Prioritize Capabilities to Prototype - Analyze and understand NDI/NCS required for feature implementation Secondary Responsibility -Explore alternatives for
Primary Responsibility - Develop Prototype -Make changes as per feedback Secondary Responsibility - Provide Feasibility Evidence for NDI NCS project
Primary Responsibility - Develop and implement the features in detail. - Implement the front-end deliverable. -Fix Defects after review - Integrate Components
Primary Responsibility - Fix defects if any - Transition the System
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 9 Version Date: 12/04/17
developing features.
Name: Katarzyna Ruszowska Role: Quality Focal Point, UML Modeler, Tester.
Primary Responsibility - Understand the features of current system
Primary Responsibility - Identify Quality Management Strategy -Identify Configuration Management -Construct Traceability Matrix
Primary Responsibility - Assess Quality Management Strategy Secondary Responsibility - Test the prototype.
Primary Responsibility - Perform unit, integration and regression testing for implemented features.
Primary Responsibility - Final round of regression testing.
3.3 Skills
Team members Role Skills
Vaibhav Vishal Project Manager, Lifecycle Planner, Trainer
Current Skills: Project management, configuration management, COCOMO and MS project Java, HTML5, CSS, MySQL Required Skills: IoT enabled Locks and SmartThings API, COCOMO II
Mohammadreza Barazesh Software Architect, Operational Concept Engineer, Developer
Current Skills: HTML5, CSS, PHP, JavaScript, AngularJS , MySQL, NodeJS Required Skills: IoT enabled Locks and SmartThings API
Alejandro Monroy Software Developer, Prototyper, Evaluator,
Tester
Current Skills: C/C++, SQL, HTML, CSS, JavaScript, PHP, jQuery Required Skills: IoT enabled Locks and SmartThings API
Hao-Yun Yang Requirements Engineer Current Skills: Winbook, QoS, C/C++, IP/ MPLS, Routing and Switching, Automation Testing,
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 10 Version Date: 12/04/17
Required Skills: IoT enabled Locks and SmartThings API
Zhe Wang Feasibility Analyst, NDI/NCS Acquirer
Current Skills: HTML5, CSS, PHP, JavaScript, MySQL Required Skills: IoT enabled Locks and SmartThings API, COCOMO II
Katarzyna Ruszowska Quality Focal Point, UML Modeler, Tester
Current Skills: Quality Management HTML, CSS, JavaScript, Unit Testing Required Skills: IoT enabled Locks and SmartThings API
Diego Brandao IIV and V, Developer, Software Architect
Current Skills: MySQL, HTML, CSS, JavaScript, REST API, Visual Paradigm Required Skills: IoT enabled Locks and SmartThings API
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 11 Version Date: 12/04/17
4. Approach
4.1 Monitoring and Control
➢ Bi-Weekly reports: o Project Plan: Plan for the next 2 weeks work and assign jobs to team members. o Progress Report: Track the progress of the project, list third-party
components, and SLOC. o Risk and Defect Report: Analyses top risks, defects, problems and concerns
about project. ➢ Jira: Tracking issue, and project progress. ➢ Win Book: Catch requirements and their priority. Make sure about design
consistency. ➢ Team Meetings: Have team meetings at least 4 days in a week, discuss about project
progress, risks and their mitigation strategy. Discuss the progress on the development of frontend and backend.
➢ Client Meeting: Collect feedback from client often, check requirements consistency.
4.1.1 Closed Loop Feedback Control
➢ Slack: We have created a team group in Slack for team members to discuss project, check schedule, assign work and share documents.
➢ Jira: Assign tasks to team members, check progress of each task, and log the work. ➢ Team meetings: We have team meetings at least 4 times a week. ➢ Google Drive: Upload documents and create shared doc, ppt files that everyone can
work on at the same time.
4.1.2 Reviews
➢ Peer Review: Teammates do review for each other with respect to feature implementation.
➢ Client Review: Collect feedback from client often with respect to functionalities of website.
➢ ARB: Collect feedback from clients and reviewers. Check if we are on the right track,
and check if there are any change in feature requirements and win conditions.
4.2 Methods, Tools and Facilities
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 12 Version Date: 12/04/17
Tools Usage Provider
MS Office Bi-weekly reports and project documents. Microsoft,
USC
Winbook Capture win conditions and prioritize them. USC
Slack Discuss project related work, schedule team meetings and
keep track of the progress and documents.
Slack
Project
Website
Store information about the project, and store all the
documents.
USC
JIRA To log time and effort spent on each task of the project by
different members of the team
USC
COCOMO II Estimate the project cost estimation USC
SmartThings
API
To create event calls to interact with the locks over the
internet.
Samsung
POSTMAN Test the event calls over the web. POSTMAN
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 13 Version Date: 12/04/17
5. Resources
Below is the required information in order to estimate the software cost: - Estimated CSCI577a Effort: 7 team members at 12 hrs/week for 10 weeks - Total estimated effort: 12 hrs/week x 7 members x 10 weeks = 840 hours - Budget information: $0 - Project duration: 12 weeks - Component modules in your development project: Device Status, Lock Management
System, User Control System - Programming language/ Tools used: PHP, AngularJS, NodeJS, REST, HTML, CSS
Table 6: COCOMOII Scale Driver
Scale Driver Value Rationale
Precedentedness Low No existing system and new to SmartThings.
Development Flexibility
High Client amenable with regard to requirements. Some initial requirements removed by client.
Architecture/Risk Resolution
Nominal Majority of the risk can be mitigated by buying information.
Team Cohesion High Meeting almost every day and client is available most of the time.
Process Maturity Nominal Following ICSM guidelines.
Table 7.1: COCOMOII Cost Driver
Cost Driver Value Rationale
RELY High This module is required for the whole system to be
successful.
DATA Nominal Data is easily available based on requirements.
DOCU Nominal As this is completely new module and different from
client’s previous system, client does not have any
previous knowledge on this, it requires documentation
in detail.
CPLX Nominal This module is not complex to develop, as it requires
basic form designing.
RUSE Nominal It has nominal reusability, as form basic template
remains the same.
TIME Nominal There are many forms to develop, time is kept nominal
STOR Nominal It requires good amount of storage as it maintains all the
registration details
PVOL Low No complex hardware/software is required.
ACAP Very
High
Team have good understanding about the customer’s
requirements and priorities.
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 14 Version Date: 12/04/17
PCAP Very
High
Developers have basic experience in web development
platforms
PCON Very
High
Maintainer needs to keep updating the information as
and when required.
APEX Nominal Not everyone in team have experience in web
development
LTEX Nominal Team has not worked on PHP before.
PLEX Nominal Not much advance platforms are required to develop
this module.
TOOL Nominal This module needs to be show the user dashboard.
SITE Extra
High
One member is remote who is in Canada. We use Slack,
zoom, hangouts. In addition, we plan to have regular
meeting in person 4 times a week.
Table 7.2: COCOMOII Cost Driver - BackEnd
Cost Driver Value Rationale
RELY High This module is based on PHP and RESTAPI and is
required for the whole system to be successful.
DATA Low Functions and data are present to test.
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 15 Version Date: 12/04/17
DOCU Nominal As this is completely new module and different from
client’s previous system, client does not have any
previous knowledge on this, it requires documentation
in detail.
CPLX High This module is complex to develop, as it requires basic
form designing.
RUSE Nominal It has nominal reusability, as form basic template
remains the same.
TIME Nominal There are many calls to develop, time is kept nominal
STOR Nominal It requires good amount of storage as it maintains all the
registration details
PVOL Nominal No complex hardware/software is required.
ACAP Nominal Team have good understanding about the customer’s
requirements and priorities.
PCAP High Developers have limited experience in backend
RestAPI.
PCON Very
High
Maintainer needs to keep updating the information as
and when required.
APEX High Not everyone in team have experience in RestAPI Calls.
LTEX High Team has not worked on IoT Projects before.
PLEX High Advance platforms are required to develop this module.
TOOL High This module needs to be integrated with Front End and
SmartApp.
SITE Very
High
One member is remote who is in Canada. We use Slack,
zoom, hangouts. In addition, we plan to have regular
meeting in person 4 times a week.
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 16 Version Date: 12/04/17
Table 7.3: COCOMOII Cost Driver - SmartApp
Cost Driver Value Rationale
RELY High The Module used is Samsung SmartThings, which needs
to be understood and tested.
DATA Low This module requires good testing, as there are separate
forms for each course.
DOCU High As this is completely new module and different from
client’s previous system, client does not have any
previous knowledge on this, it requires documentation
in detail.
CPLX High This module is complex to develop, as it requires basic
event calls designing.
RUSE Nominal It has Nominal reusability, as basic application remains
the same.
TIME Nominal Since it is not hard to develop but there are many forms
to develop, time is kept nominal
STOR Nominal It requires good amount of storage as it maintains all the
registration details
PVOL Low No complex hardware/software is required.
ACAP High Team have good understanding about the customer’s
requirements and priorities.
PCAP Nominal Developers have good experience in Android
application required to run the demo application.
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 17 Version Date: 12/04/17
PCON Very
High
Maintainer needs to keep updating the information as
and when required.
APEX Very
Low
Basic application is already available.
LTEX Nominal API calls are already present.
PLEX Very
Low
Not much advance platforms are required to develop
this module.
TOOL Low This module needs to be integrated with Front and
BackEnd
SITE Extra
High
One member is remote who is in Canada. We use Slack,
zoom, hangouts. In addition, we plan to have regular
meeting in person 4 times a week.
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 18 Version Date: 12/04/17
COCOMO II Result:
Analysis Results: SLOC: 4515
Estimate Effort: 7.8 (most likely)
Assumptions:
10 of 12 weeks fill COCOMO II Construction phase
(72% of total effort estimate)
120 hrs/person-month
Member works 12 hrs/week
One team member effort:
12 hrs/week * 10 weeks = 120 hrs
(Factor) * (120 hrs/person-month) * (0.72) = 120 hrs
Thus:
One team member effort = 1.39 CII person-month
Total team effort:
7 * 1.39 person-month = 9.73 CII person-month
Conclusion:
Since team effort is greater than COCOMO II estimate effort. Therefore, the project is most
likely finished on time.
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 19 Version Date: 12/04/17
6. Iteration Plan
6.1 Plan
This iteration plan is intended to accomplish major features and describe the detailed plan
for the iteration of the project. In this iteration, the requirements would be further analyzed,
implemented and tested. The team will be prioritizing the critical features and then the bugs
that are reported during the acceptance testing with the client. The first iteration is to deploy
the webpage for the client to test with all the capabilities that he had identified. The second
iteration will be at the end of the development phase and right before the operation phase
where the bugs reported during CCD will be fixed along with any additional suggestions
that will be provided during the final presentation.
6.1.1 Capabilities to be implemented
All the capabilities listed below are subcategories of these 3 capability goals:
1. Lock Management
2. User Control
3. Device Status
Table 2: Construction iteration capabilities to be implemented
ID Capability Description Priority Iteration
1.1 Add Code Allow new codes to be added to
a physical lock remotely.
High Development
Phase – 2
1.2 Edit Code Allow any existing code to be
edited remotely.
High Development
Phase – 2
1.3 Delete Code Allow any existing code and its
subsequent slot to be deleted
remotely.
High Development
Phase – 2
1.4 View Logs Allow to view interaction with
each lock associated with the
system.
High Development
Phase – 2
1.5 Manage
SmartThings
account
Allow authorization with the
SmartThings account and
register the locks/hubs to the
system.
High Development
Phase – 2
1.6 Grouping Lock Group the locks and perform
actions at the same time
Low Development
Phase - 1
2.1 Add User Allow to add new users in the
system.
High Development
Phase – 2
2.2 Edit User Allow to edit access level of the
existing users and associate
more locks to them.
High Development
Phase – 2
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 20 Version Date: 12/04/17
2.3 Delete User Allow to delete any inactive
user from the system and all its
associated locks.
High Development
Phase – 2
3.1 View Device Status Allow to view the status of the
hub, the status of the lock and
the battery percentage of the
latter.
High Development
Phase – 2
6.1.2 Capabilities to be tested
Table 3: Construction iteration capabilities to be tested
ID Capability Description Priority Iteration
1.1 Add Code Allow new codes to be added to a
physical lock remotely.
High Development
Phase -2
1.2 Edit Code Allow any existing code to be edited
remotely.
High Development
Phase -2
1.3 Delete Code Allow any existing code and its
subsequent slot to be deleted
remotely.
High Development
Phase -2
1.4 View Logs Allow to view interaction with each
lock associated with the system.
High Development
Phase -2
1.5 Manage
SmartThings
account
Allow authorization with the
SmartThings account and register the
locks/hubs to the system.
High Development
Phase -2
2.1 Add User Allow to add new users in the system. High Development
Phase -2
2.2 Edit User Allow to edit access level of the
existing users and associate more
locks to them.
High Development
Phase -2
2.3 Delete User Allow to delete any inactive user from
the system and all its associated locks.
High Development
Phase -2
3.1 View Device
Status
Allow to view the status of the hub,
the status of the lock and the battery
percentage of the latter.
High Development
Phase -2
6.1.3 Capabilities not to be tested
Every Capabilities in our project will be tested in the next iteration except Grouping Locks as the
product requirement was modified by the client and instead of the Grouping requirements, the
client provided a substitute feature of multiple selection and webhooks.
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 21 Version Date: 12/04/17
6.1.4 CCD Preparation Plans
The preparation plan for the CCD is mentioned below:
✓ Implement all the capabilities that are an integral part of the project.
✓ Deploy the latest build of the webpage on the server provided by the client.
✓ Prepare a navigational workflow for the client to access the webpage and each of the user
level.
✓ Record the feedback of the client and note any bugs/issues that arise during acceptance
testing.
✓ Prioritize the feedback collected from the client.
✓ Fix the reported bugs and issues.
✓ Deploy another version of the website for client testing after the bugs are fixed.
6.2 Iteration Assessment
6.2.1 Capabilities Implemented, Tested, and Results
The capabilities tested are the subcategories of 3 major capability goals, which are 1. Lock
Management, 2. User Control and 3. Device Status. Each of the sub-categories are listed below
and against each one of them, a test case was constructed to test its functionality. The in-depth of
those test cases are explained in the Test Plan and Cases document for the same project.
As shown in the table below, the capabilities tested were to add/edit/delete codes associated with
the locks, viewing the user log files to indicate what action was taken against each of the locks
that will be eventually displayed in those logs. Add/Edit/Delete Users are tested against all the 3
users, administrator, house manager and house staff and their respective dashboards. Finally, the
last capability to be tested was view device status which indicate the current Hub status
(Offline/Online) and the Lock Status (locked/unlocked and the battery percentage).
Table 4: Capabilities implemented, tested, and results
ID Capability Test Case Test Results If fail, why?
1.1 Add Code TC-04 Pass x
1.2 Edit Code TC-05 Pass x
1.3 Delete Code TC-06 Pass x
1.4 View Logs TC-07 Pass x
1.5 Manage SmartThings account TC-09 Pass x
2.1 Add User TC-01 Pass x
2.2 Edit User TC-02 Pass x
2.3 Delete User TC-03 Pass x
3.1 View Device Status TC-08 Pass x
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 22 Version Date: 12/04/17
6.2.2 Core Capabilities Drive-Through Results
The CCD was an overall success as almost all of the capabilities was implemented and
functioning properly. The client was impressed with the overall product and gave positive and
constructive feedback on the capabilities implemented and the initial win conditions as was
decided by him. The critical scenario of the 3-user hierarchy was demonstrated. The client was
pleased with the user hierarchy dashboards as well as the capability to add/edit/delete lock codes
from the web interface.
The client suggested number of bugs/fixes that needs to be addressed before the system is
deployed for his use. All the improvements that were suggested were minor fixes like making the
User Interface friendlier, change the timestamp to indicate local time and to make exceptions in
the lock codes based on some combination rules and excluding the master code. Moreover, he
also suggested to make the different user level distinct when it comes to viewing the log files
from each of their dashboard. Other minor improvements included having multiple selection in
the locks and hubs columns of the dashboard.
Changes that were suggested by the client during the CCD have been implemented. All those
fixes were prioritized and the development team ensured that the final product will not have the
issues that were made aware to us during the CCD and even after that. One of the initial
requirement, Grouping Locks, was negated by the client and instead we were given a new
requirement of implementing webhooks. Furthermore, multiple selection requirement was added
by the client which added additional work on GUI of the web page.
Potential risks were also identified when the client was testing the “View logs” feature within the
webpage. Erroneous error like “Slot 255” was being displayed which is an output of the Device
Handler. The development team does not have access to it and hence any errors, which also
includes time delay, from the device handler cannot be addressed. Hence, this serves as a major
risk to the developed system. Another risk is the lack of comments in the code, hence once the
transition from the development team to the client is done and the client hires maintainers, it will
prove a little difficult to find particular functions.
The webpage doesn’t have SSL certification which is also one of the requirements which needs
to be addressed by the client once the system is deployed for commercial use. Currently, the
system has been hosted on the server provided by the client. A user manual is being prepared and
will be available at the end of the transition review. It will contain the basic navigation help for
potential users and will also contain documentation and installation guide for the maintainers.
6.3 Adherence to Plan
The iteration ran according to the plan for the development phase. The testing was performed
using the software suggested in the class and the results were good. The team finished the
development on time and any additional work that was done was for fixing the new bugs and
issues that were identified either during or after the CCD. New changes implemented resulted in
a new version of the webpage and the overall system which we are terming as the “Beta
Life Cycle Plan (LCP) Version 1.8
LCP_TRR_F17_T05_V1.8 23 Version Date: 12/04/17
version”. Resource allocation was done according to the requirement in each sub-category of the
component.
There is a slight certainty in the Software Development Status which can affect future iterations.
The requirements of the clients were not fixed as they were dependent on the version of the
website being released, hence for the future more time of client testing the system initially and
then after the new versions are deployed is very essential. Moreover, weekly status calls and risk
identification before each version is deployed will be a healthy practice for future maintainers.