Strong Points
We are good at sharing our vision.
We agree on a decision only after consulting everyone in the team and when everyone is satisfied with it.
Familiarity with technologies like MySql and HTML 5 which are used in the project will make things easier.
Client has provided us access to his technical staff, which have been very helpful.
2
Weak Points
Due to clash of schedules, sometimes it becomes difficult to organize a team meeting.
Some technologies like PHP, thrdplace database are not known to the team members, but they will be implemented in the project.
Two of our team members left the team in 577 b. We have a new team member who needed to get acquainted with the project quickly.
3
Overall Project Evaluation At present, all the win conditions have been designed
and prototyped.
Initially, slow progress and inconsistency betweenprototype and win conditions.
• But, we adjusted quickly to build a prototype which has so far been to the liking of the client.
• Now, we have setup our prototype on client’s server. But there are some inconsistencies with the client’s database. So, we are working with his database architect to remove them to continue the progress.
4
Test Strategy Agile test-first: in each iteration, IIV&V will test
the new capabilities and improvements when they’re completed.
Boundary and exit/entry criteria between unit testing and integration testing: each new feature will first be tested to make sure it is fully functional and then will be tested ensure it integrates well with the existing system
Requirements-test traceability: the traceability matrix will be used to ensure that the capabilities will keep consistent with win conditions.
6
Test Preparation Hardware: PC, MacBook, ThrdPlace server
Software: IE/Chrome/Firefox, Safari, Solr
7
Requirements TraceabilityRequirement (Win Condition) ID
Verification TypeTest Case ID (if
applicable)WC_2448 As a project creator/contributor, I can see the search results in a list view.
Testing TC-01
WC_2442 As a project creator/contributor, I can search for projects and project contributors using filters (e.g. geo-location, etc).
Testing TC-02
WC_2441 As a project creator/contributor, I can search for the most influential projects and project contributors.
Testing TC-03
WC_2800 As a project creator/contributor, I can see a recommendation section on each page.
Testing TC-04
WC_2451 Max downtime is 3 days in a month.
Demonstration
WC_2449 System shall be deployed on Thrdplaceservers.
Demonstration 8
Acceptance Test Plan and Cases
Test Case Iteration
Priority
TC-01 Display Search Results In a List View
TC-01-01 Display Search Results In a List View
2 1
TC-01-02 No results Found 2 2
TC-01-03 Keywords Out of Limit 2 2
TC-01-04 Search Field Empty 2 2
TC-02 Search Using Filters
TC-02-01 Search using filters 1 1
TC-02-02 No results Found 2 2
TC-03 Rank By Influence 1 1
TC-04 Provide Recommendation
TC-04-01 Recommendation for Creator 2 1
TC-04-02 Recommendation for Contributor 2 1
TC-04-03 Recommendation for New Creator 2 2 9
Test IdentificationTest Case Number TC-01 Display search results in a list
viewTest Item This test case verifies that the search
results relevant to the keyword will be displayed in a list view
Test Priority Must Have
Pre-conditions Database contains results relevant to the keyword
Post-conditions A list of search results is displayed correctly
Input Specifications
Search type (project/contributor) and keyword
Expected Output Specifications
Links to project/contributor profiles in a list view
Pass/Fail Criteria
Fails if a) the results are not displayed in a list b) the results don’t contain the keyword
Assumptions and Constraints
There’re project/contributor profiles relevant to the keyword in database 10
ScheduleDate Test Identifier Responsible
personResources Training
needs03/12/14
TC-02-01, TC-03 Ronghui Zhang PC N/A
04/01/14
TC-01-01, TC-01-02, TC-02-02, TC-04-01 and TC-04-02
Ronghui Zhang PC N/A
04/15/14
TC-01-03, TC-01-04, and TC-04-03
Ronghui Zhang, Doon Gaurav
PC and MacBook N/A
11
System Purpose
Thrdplace.com is a venue for fund-raising, resource sharing and commerce.
Our system is a subsystem of Thrdplace.com.
Our system is designed to provide search, rankingand recommendation functions to project creatorsand contributors on Thrdplace.com.
13
System Purpose
14
• Increase revenue of ThrdPlace.OG-1:
• Increase reach of project creator and contributors.OG-2:
• Increase use of ThrdPlaceplatform OG-3:
14
Proposed new system
• The search system will allow the project creators and contributors to search projects and contributors with filters.Search results will be displayed in a list view.
Search system
• The recommendation system will recommend potential projects to contributors, and recommend potential contributors to project creators
Recommendation system
• The ranking system can rank the search results by influence
Ranking system
16
Search Engine
We use Apache Solr full-text search engineto search for projects or contributors fromthrdPlace.com database. Search results willbe displayed in a list view.
19
• Recommend 5 potential contributors (according to contributor’s influenceand relevance between creator andcontributor’s project)
For Creator
• Recommend the most influential project.
For Contributor
Recommendation System
20
Rank by influence (formulas agreed by client)
• INFLUENCE (Contributors)
(Weight 1 * Number of Project Contributed) + (Weight 2 * Promotions)
• INFLUENCE (Projects)
(Weight 1 * Project Success) + (Weight 2 * Promotions)
PROMOTIONS = (weight 1 * Facebook Likes) + (weight 2 * Twitter Shares) + (Weight 3 * Number of Comments)
PROJECT SUCCESS = Raised Capital / Expected Capital
CAPITAL = (weight1 * Integer value of Funds) + (weight2 * Supply Items) + (weight3* Volunteer hours)
Ranking System
21
Progress of work
Done
• Get the permission of ThrdPlace server.• Get a copy of database from ThrdPlace.• Installed Solr on ThrdPlace server• Uploaded webpage on ThrdPlace server• Connected Solr with database of ThrdPlace server.
Doing• Rewriting and modifying solr code to fetch data from database.
22
Progress of work
To do
• To change code of webpages in order to make them work with solr.
• To modify code of webpages to fit the difference of schema of database.
• To add more features to the search engine.
24
Outlines Overall Architecture
1. System Context Diagram
2. Process Diagram
3. Hardware Component Diagram
4. Software Component Diagram
5. Deployment Diagram
Detailed Architecture
1. Artifacts & Information Diagram
2. Interface Classes
3. Process Realization
COTS/ Reuse Selections
36
Actor SummaryID Name Related Use Cases Documentation
AC02Project creators
• Receiverecommendation ofcontributors
Creators in the system, responsible for creating projects and clarifying required resources in projects, including volunteer hours, money and supplies. They need to log in.
AC03Project contributors
• Receiverecommendation ofprojects
• View search resultsby list view
• Search for the mostinfluential projectsor contributors
• Search by filters
Contributors in the system, responsible for making contribution to projects, including volunteer hours, money and supplies. They don't need to log in and use their email address as ID.
30
COTS/Reuse SelectionSoftware Component
Description Purpose
WAMPSoftware bundles
Provide support for convenient and quick web development on windows
platform.
MySQL
Relational databasemanagement system
Store project, creator and contributor’s information on
ThrdPlace
IE, Chrome, Safari
Web browserWeb front end for users of
ThrdPlace
PHPServer-side
script language
Provide support for implementing functions on the server.
Solr Search engineProvide full-text search with filter and sort functionality
43
Development phase - Construction Iteration Duration: 2/12/14 – 4/16/14 Concept:In this phase, the development team should keeps detailing project plan and recording project progress and emphasize on implementing the system and performing testes.Deliverable: Transition Readiness Review Package, Draft Transition Readiness Review PackageMilestone: Transition Readiness Review, Core Capability DrivethroughStrategy: Development and testing
Development phase - Transition Iteration Duration: 4/17/14 – 4/30/14 Concept:In this stage, the development team should perform system transition by providing maintenance information, tutorial session, technical support, as well as user menu which covers different user roles. Deliverable: Operational Commitment Review Package, Transition manual, Source codeMilestone: Operation Commitment ReviewStrategy: Deployment, Training, and Transition
45
Responsibilities by phaseName Role construction transition
DekovenClient and Maintainer
- Provide feedbacks based on current system- Provide changed requirements
Client:- Provide feedbacks based on current system- Provide changed requirements-Receive training for the new system-Maintainer: - Maintain the system
GauravDoon
Project Manager(PM) &Trainer &Tester
PM:- Creating the Project Plan- Distribute workload, give specific task to each team memberTester:- Design and implement test case
PM:- Creating the Project Plan- Distribute workload, give specific task to each team memberTester:- Design and implement test case Trainer:-give clients training sessions and answer their questions on support materials
46
Name Role construction transition
Yixiang Liu Builder
Builder:- Implement the main functions of system.
Builder:-implement the main functions of system. -Deploy the system
onto server.
Ronghui Zhang Tester
Tester:-Develop and implement test cases
Tester:-Develop and implement test cases
Kan Qi Builder
Builder:- Implement the main functions of system.
Builder:- Implement the main functions of system.
47
New member of our team
48
Name Role construction transition
Tu Duong IIV&V & Quality Focal Point
IIVV:- Review the project artifacts- Manage Project QualityQFP:-Assess quality management and strategy-Definition of done-Identify traceability matrix
IIVV:- Review the project artifacts- Manage Project QualityQFP:-Assess quality management and strategy-Definition of done-Identify traceability matrix
Iteration PlanCapabilities to be implemented
ID Capability Description Priorit
y
Iterati
on
OC-1
Search
projects and
contributors
The system is capable of enabling project
contributors to search projects and project
creators to search contributors with
filter. Besides, it’s capable of
displaying the search results in a map
interface or a list view. Also, it’s
capable of enabling project contributors
and project creators to search the most
influential projects and project
contributors.
1 1
OC-2
Ranking
search
results
The system is capable of providing a
ranking system to rank the search results
by influence. The criterion of the
influence includes promotion, the
completion percentage of the project and
the contribution of contributors.
1 1
OC-3
Recommend
projects and
b
The system is capable of providing useful
suggestions about projects and
contributors. For the project creators,
it’ll recommend contributors interested in 2 2 51
Capabilities to be tested
ID Capability Priority Iteration
OC-1Search projects and
contributors 1 1
OC-2Ranking search
results 1 1
OC-3Recommend projects
and contributors2 2
52
Capabilities not to be tested
1.The requirement for max down time.
Reason: we don’t have enough time to collect the testing result and testing for this requirement should precede deployment of the system.
2.The requirement for deployment of the system to Thrdplace server.
Reason: we will demonstrate the deployment of the system onto Thrdplace’s server
53
Risk management Plan for CCD
ID Risk Mitigation Plan Priority
1
Disabled function of NDIs, for example, Solr.
Prepare for local access to the web site
Prepare for a recorded showing required functionalities
Exam all functions before CCD
1
2
Clients and team members cannot attend CCD
Confirm attendance before CCD
Reschedule the date of CCD 2
3
Clients do not make enough preparation, for example, forgetting to bring user test scenarios.
Send email or make phone call before CCD.
Reschedule the date of CCD3
4
Technical staff does not make enough preparation, for example, lacking user manuals.
Ask more than one team members to bring user manuals. 3
5Disabled laptop during CCD Prepare for sub-laptops for CCD.
4
54
CCD Preparation Plans
Feedback Form
IDCapability
Comments Score (1-10)
Improvements needed/suggested
Changes to‐be considered (Reprioritized
capabilities, requirements, GUI, etc.)
Risks (Possible risks, New risks introduced, risks mitigated, etc.)
Performance Usability Satisfaction
OC-1 Search projects and contributors
OC-2 Ranking search results
OC-3 Recommend projects and contributors
55
Feasibility Evidence
Capability Requirement Product SatisfactionCR-1: Display recommendation section on every page Feasibility Evidence: Solr is the search engine used to
provide recommendation results. Then the results can be displayed on each page.Referred use case diagram: UC-04
CR-2: Project and project contributors can be searched by project contributors/ creators using filters (geography, etc.)
Feasibility Evidence: Solr is the search engine used to provide search results. Moreover, Solr has the strong feature of faceted navigation, which allows project contributors and creators to explore a collection of information by applying multiple filters. Referred use case diagram:UC-02
CR-3: Search for the most influential projects and creators.
Feasibility Evidence: Solr is the search engine used to provide search results. To search for the most influential projects and creators, we need to define the word ‘influential’ clearly to come up with an appropriate algorithm to implement it on the search engine.Referred use case diagram: UC-03
CR-4: Search result can be seen in a list view Feasibility Evidence: Solr is the search engine used to provide search results. Then list all the results on the page after a project creator or contributor clicks on the search button.Referred use case diagram: UC-06
57
Risks Risk Exposure Risk MitigationsPotential
MagnitudeProbability
LossRisk
Exposure
1
Unable to connect to database on the development server- Currently, we are not having the full access permission to Solr on the development server
10 0.7 0.1 7.0 1.0
Our developers are trying to contact ThrdPlace’s engineers to request the access permission.Update [02/10/2014]: they gave us the full access to Solr. We are able to connect to database.
2 The final product may not be fully tested on the ThrdPlace’s main server 10 0.5 5
We asked the client to provide us the development server which is identical with the main server.
3 Incomplete database 10 1.0 0.2 10.0 2.0
We are working directly with ThrdPlace’s engineers to get this set up.Update [02/10/2014]: They have completed setting up their database. Our developers are testing this.
4 Database inconsistency 5 0.5 2.5
We noticed the client and he will have his database architects to remove these consistencies. Also, they create and handle a test database on development server for us to test. This test database is identical with the database they are using.
Risk Management
58
Risks Risk Exposure Risk MitigationsPotential
MagnitudeProbability
LossRisk
Exposure
5 Search performance may not satisfy project creators or contributors.
8 0.3 2.4
Apache Solr is an incredible high-performance, full-featured text search engine that will allow us to provide higher quality search results
6 Scope increases or changes in the requirements 7 0.1 0.7
We discussed with the client about the scope of this class, and he agreed to stay with current requirements
7
Recommendation may not satisfy project creators or contributors’actual needs. - Because creators and contributors only provide limited information to ThrdPlace and it’s hard to do recommendation with incomplete knowledge.
2 0.7 1.4
Communicate with clients and suggest collecting more information from project creators and contributors in register module or project-management module of ThrdPlace.
8Influential score may not measure the project or contributor’s impacts accurately
7 0.5 3.5
Developers and Operational Concept Engineer will carefully evaluate the mechanism of influence measuring service and create a solution best suited to ThrdPlace platform.
9 The Solr server is not working correctly 10 0.01 0.1 Apache Solr has been proving that it is a stable search engine
Risk Management
59
Risks Risk Exposure Risk MitigationsPotential
MagnitudeProbability
LossRisk
Exposure
10Solr or Java is upgraded to newer version and is not backward compatible
2 0.5 1.0
This is a expected and controlled risk. We have control which version we want to install and use. That say, we will have time to fix the code to make it compatible with newer version.
12 ThrdPlace’s main server is down 0.2 0.03 0.006
In this case, the whole ThrdPlacewebsite is down, and in general, no one can access our product. Also, this is out of our control. Therefore, speaking of our product, this risk would not have a big impact on our team.
Risk Management
60
Capability Goals
Capability Requirement
Win-Conditions
Use Cases Test Cases
OC_1 Search Project and Contributors and displayin the list view
CR-2CR-4
WC_2448, WC_2442
UC_01UC_02
TC_01TC_02
OC_2 Ranking search Results By Influence
CR-3 WC_2441 UC_03 TC_03
OC_3 Recommend Projects and Contributors
CR-1 WC_2800UC_04UC_05
TC_04
Traceability Matrix
61
Technical DebtTechnical Debt Details/Solution Status
Requirements Volatility
We were suffering from inconsistent or ambiguous requirements. We needed to resolve it in order to move forward. So, we held another win-win negotiation with our client and fixed the requirements
Solved (Fall 2013)
Lack of knowledge in search engine
Nobody on the team has experience in implementing a search engine. This causes our prototype progress to be slow and the initial prototype only covers the user interface. So, we spent time learning knowledge of search engine and finally chose Apache Solr after careful comparison
Solved (Fall 2013)
Lack of database for testing
We did not had any database to test our prototype on. So, we consulted our client. He provided us with the attributes of the database. We designed the database with those attributes and populated the database with mock data on the local machine.
Solved (Fall 2013)
The product hasn’t been tested on remote server
We only ran our product on the local machine (localhost). We talked with the client and he agreed to provide us a development environment on his server. This development environment will be identical with the current ThrdPlace server’s environment. We are working with ThrdPlace’s engineers to set this up.
In Progress
62
Technical DebtTechnical Debt Details/Solution Status
The product needs to be tested on ThrdPlace server
After passing all the tests on development server, we need to test the product on the main ThrdPlace server before delivery
Need to solve
63
FactorsSoftware feature delivery
Active attitude
to the job
Software feature quality
Working efficiency
Communication ability
Code quality
Initial prototype 5 7 6 6 8 7
Prototype ondummy database
8 9 8 8 8 8
Final Prototype 10 10 10 9 9 9
Deliverable product ondevelopment environment
In progress In progress In progress In progress In progress In progress
Deliverable product onThrdPlacemain server
Metric – Client Feedback
64
Definition Of Done (DoD)
Solr and Database is Ready
Code is review and meeting development standards
Source code is committed to the server
Unit tests written and passing
Pass integration testing
Pass monkey testing
The product must meet the requirements
OK from the client
The product is deployed on the main website
Complete all technical and feature Documentation
Technical training
65