CMS Presentation

Download Report

Transcript CMS Presentation

CMS Project
Presented by Spicy Hot Software
Starting With Requirements
• 56 Requirements
– 51 Functional Requirements
– 07 Non-functional Requirements
• 03 Assumptions
Requirements Gathering
• Software Requirement Documents
• Domain Analysis Documents
• Interviews with stakeholders (mostly the
client)
Use Case Diagrams
Use Case Diagrams
Functional Requirements
External Web Application
ID
Requirement Statement
01
The program shall collect application’s relevant information from APF applicant.
03
The program shall insert the above information in a Database (denoted as “Database_1”).
05
The program shall calculate the subtotal of the expenses.
06
The program shall insert the value of the subtotal of the expenses in the Database_1 – Sub(exp).
07
The subtotal of the expenses is the sum of application’s relevant information entries from 1.11 to 1.14
08
The program shall calculate the subtotal of the funding
09
The program shall insert the value of the subtotal of the funding in the Database_1 - Sub(funding).
10
The subtotal of the funding is the sum of application’s relevant information entries from 1.15 to 1.17
Functional Requirements
Internal Web Application
ID
Requirement Statement
32
CMS shall provide an Excel file (and hence denoted as
‘Database_2’) containing Student names, ID numbers, and Password.
33
The internal web application shall allow the CMS users to view the Databse_1 using a front end.
34
The internal web application shall allow the CMS users to update the Databse_1 using a front end.
35
The internal web application shall allow the CMS users to access data from any application period of a given
year.
36
The internal web application shall allow the CMS users to view all data as a summary report in Database_1.
Non-functional Requirements
ID
Requirement Statement
53
The overall application shall not make use of flash technology.
54
Authentication of students shall not be max than 1s from the database.
55
The format of the provided databases shall not change.
04
Database_1 needs to be installed on a server which will be located in the CMS Secretariat.
56
The system shall support both Firefox 3.5 and Internet Explorer 7 browsers
57
The HTML markup shall conform to the specification of the XHTML 4.0 Transitional Document Type Declaration
58
The system should implement SSL connection between web application and the database server.
Assumptions
No.
The following is assumed:
1.
Browsers support preferences do not matter in this project.
2.
The internal application is intended to operate on Windows 2000, Windows XP, Windows Server 2003, Windows Server
2008 and Windows Vista.
3.
Actual physical infrastructure and existing hardware equipment are sufficient to successfully complete this project.
Software Requirements Tracking
• Assembla (Identification, Filtering,
Prioritizing, Tracking)
• Sign off by stakeholders
WBS



We had a good understanding of the tasks
involved in this project.
Our WBS was constructed in a fashion that is
both Bottom-to-top and Top-to-bottom.
More details on that will be explained in the
next few slides.
Broad View of the CMS System
WBS of the software development
Entire Project WBS
High-Level Design
High-Level
Design
How Spicy Software Identify
Risks?
• What can get wrong?
• Using brainstorming techniques:
– Each member identify a project risk.
– Go around the table until no more risks can
be identified.
– Combine similar risks
– Rank the risks in terms of their impact on the
project.
• We Involve all parties in this process:
Customers, users, technical people.
Risk Reporting – The Spicy Risk Watch
List
Risk Category
Rank This
Week
Last Rank
Week on list
Rating
(V/H/M/L)
Risk Owner
Risk Control
•Select the most important risks for risk control
planning. SCRUM meetings.
•Define Risk Owner: The responsible individual
for overseeing the risk.
• Risk Owner is responsible for:
1) Take action on the risk, 2) Eliminate the
risk or 3) Retire the risk
How Spicy Software Evaluate
Risks?
• Attribution of probability and impact is not
enough
• Probability * Impact * Timeframe (P*I*T)
• For us passive acceptance of risk is not an
option
Risk Management
Rank
Risk
Mitigation
1
End user involvement and input might be
difficult to achieve.
Purchase electronic conferencing tools
2
The customer has little or not experienced
with this type of system
Work closely with the customer to
ensure that the system meets its
expectations.
3
Numerous changes in requirements are
expected.
Complete the most difficult and the
most important tasks first during all
phases of the project.
4
A new development process has been
established
Tailor the development process to the
team and the project. Use previous
experience to develop the process.
5
Some aspects of design have yet to be
decided.
Define a design and the interfaces after
requirements gathering and analysis.
Risk Management
Rank
Risk
Mitigation
6
The technology used for this project is
mature but the team members have limited
experience with it.
Provide training to the team members to
ensure that they have a basic
understanding of the tools.
7
Members can depart or be assigned to other
projects.
Re-organize teams based on performance
and commitment of team members. Assign
tasks on critical path to the team members
that are the most stable.
8
The dates for the project milestones have
been defined based on raw estimations.
Re-estimate at the end of each iteration to
better accommodate the actual status of the
project.
9
Quality Assurance procedures are not well
established.
Organize Delphi meetings with most
experienced quality assurance people and
with the development lead to establish the
quality assurance procedures and
mechanisms.
10
The customer justification, the benefits of
the project and the baseline are not
thoroughly documented and are subject to
Find out what the value of the application is
in the mind of the end users and the
customer and how it is perceived.
Member
Role
Miguel
Garzón
Developmen
t Lead
Jérémie
Blais
Server-side
Lead
Rocky
D’Angelo
DBMS Lead
Renaud
Bougueng
Web Client
Lead
Web Client
Lead
Project
Manager
Organization
Structure
Development
Lead
Server-side
Lead
Programmer
Programmer
Programmer
Programmer
DBMS Lead
Technical
Lead
Programmer
Technical
Assistant /
Testing
Project Governance
Role
Decision Making
Responsibility
Team
Members
Participate in team meetings for
decisions on design, architecture,
implementation,
testing
and
deployment of the application.
Team Leads
Have responsibility for participating
in project planning, making Key
Decisions.
Development
Lead
Manages
issues/decisions
escalated from the Project Manager
and consults with the Team Leads.
Project
Manager
The Project Manager may change
scope and/or timeline based on
decisions escalated from the
Development Lead or may issue
requests to the Team Leads.
Development Methodology - I&I process
Evolutive Prototype -Test Driven - Daily Meeting
Scheduling




Our Gantt chart was constructed using MS
Project 2007.
The tasks in the Gantt chart are
breakdowns of the lower level work objects
in the WBS.
Excludes the WBS objects about Project
Management since those are continuous
tasks.
The duration of the tasks were estimated
based on experience with similar projects.
Gantt Chart
Budget
Resource Type
Operations and Maintenance
($29 000/month)
Estimated
Cost
$190 000
Capital (Office rent is $21 000/month)
$140 000
Travel to the University of Arctic
$35 000
Legal
$10 000
Salary
$393 000
Equipment
$12 000
Software
$14 400
TOTAL:
$794 400
Rent and Operating Costs
• Located on 20 James Street in
Ottawa
• Rent: $9.00 per square foot
• Operating costs: $12.50 per
square foot
– Includes taxes, electricity, heating,
parking.
• 2300 square feet can
accommodate:
–
–
–
–
–
9 cubicles
2 offices
1 meeting room
1 break area
1 copy room
Salary Breakdown
Employee Type
Quantity
Duration in
Weeks
Yearly Salary
Estimated Cost
Software project
manager
1
$102 000
39
$76 500
Software
development
manager
1
$91 000
30
$52 500
Business analyst
1
$52 000
18
$18 000
Software developers
with more than five 6
years of experience
$76 000
20
$175 400
Software developers
with less than five
3
years of experience
$60 000
20
$70 600
TOTAL:
11
$393 000
Change Management
• Procedures For Software Changes:
1. Approval
by
Project
Manager
and
Development Lead:
– The client must use a Change Request Form
when asking for a change in the software
requirements or the design specification.
– The Project Manager analysis the request doing
an impact analysis and approved or reject the
request.
– The change requests will be only accepted at
the end of each iteration.
Change Management (cont’d)
The Spicy Software Change Request Form
1. Change Request Initiation
Change Management (cont’d)
The Spicy Software Change Request Form
2. Technical Evaluation:
•
•
•
Software Affected
Modules/Classes Affected
Documentation Affected
3. Time Estimates
•
•
Estimated Time for Design, Implementation and
Testing phases
Impact Analysis (optional)
Change Management (cont’d)
The Spicy Software Change Request Form
3. Approvals
•
Possible outcomes:
–
–
–
Change approved
Change not approved
Hold (Future enhancement)
Change Management (cont’d)
2. Check-in/Check-out procedures for code
changes
•SVN provides also a lock-modify-unlock model
to manage change among different developers
•Developers can use the update operation to
merge other developer changes into their
working copies.
Tools and Environment
1. For Project Management:
• Assembla
• Microsoft Project
2. For Software Development:
• Microsoft Visual Studio 2008
• MS SQL Server 2008
• Third party libraries: iBatis, RhinoMocks,
NUnit, StructureMap Dependency Injection
Tools and Environment
Assembla: online workspaces for agile distributed software
development and team collaboration.
Assembla provides us the following services:
•Code Repositories: SVN Repository
•Ticketing Systems: requirements and tasks
•Wiki: For requirements and other
•Messages: For internal communication among members of the Software
Development Team
•Files: To store all Word and PDF documents
•Scrum: To plan meetings and enter Scrum Reports
•Time Tracking: To track the time spent (and remaining time) by developers for
each task
Configuration Management
Configuration Item
Written work products,
including project
management plans and
project deliverables.
Project Schedule
Document/File Type
PDF or Microsoft Word
Software Specification
Requirements
Design Specifications
PDF or Microsoft Word
MS Project
Other Design Artifacts
Microsoft Word, UML
Diagrams using Eclipse
UML 2.0
PDF or Microsoft Word
Source Code
SLN, CSPROJ, SQL
Defects
Repository
Assembla
Section: Files
Assembla
Section: Milestones
Assembla
Section: Tickets and Requirements
Assembla
Section: Files
Assembla
Section: Files
Subversion
SVN Url:
http://mysvn.assembla.com/svn/cmsse
g4105
Section: Tickets (Category: Defects)
Test Plan
• Timeline: 6 months
• Testing of the external Web application:
– Start date: February
– Deadline: April 1st
• Testing of the external Web application:
– Start date: March
– Deadline: May 1st
Types of Tests
•
•
•
•
•
Unit testing
System and integration testing
Security and performance testing
Alpha, beta and acceptance testing
Regression testing
Test Cases for the Main
Scenarios
•
•
•
•
•
Create an application
Application login
Change the application status
Calculate the distribution of the budget
View data as a summary report
Test Case: Create an application
• On the main page, click the Create Application button.
• Fill in the following information:
Name:
Jérémie Blais
Region of the
Conference:
B
Student
number:
4242046
Previously Applied:
No
Department:
Circumpolar
studies
Registration cost:
$200
Transportation cost:
$750
Degree:
Ph.D.
Accommodation cost:
$500
Year:
2
Meal cost:
$75
Telephone:
613-860-2366
$300
Email:
[email protected]
Departmental
Assistance:
Conference
Attendance:
Attending
Faculty Assistance:
$0
Other Assistance:
$0
Amount Asked:
$1225
• Click the Create button.
• A confirmation page with the generated tracking number
should appear.
•
Test
Case:
Application
Login
On the main page, enter the following:
– Tracking number: 1
– Student number: 4242046
• A page with the following application information should
appear:
Application
state:
In process
Name:
Jérémie Blais
Previously Applied:
No
Student
number:
4242046
Registration cost:
$200
Transportation cost:
$750
Department:
Circumpolar studies
Accommodation cost:
$500
Degree:
Ph.D.
Meal cost:
$75
Year:
2
Departmental Assistance:
$300
Telephone:
613-860-2366
Faculty Assistance:
$0
Email:
[email protected]
Other Assistance:
$0
Conference
Attendance:
Attending
Amount Asked:
$1225
Region of the Conference: B
Test Case: Change the Application
Status
• In the main page, enter the following:
– Username: jblais
– Password: 123456
• In the Tracking Number text box, enter 1.
• A page with the information of application 1 should
appear.
• From the Status drop-down, select ‘Temporary’.
• Click the ‘Update’ button.
• A confirmation page should appear. Click ‘Back to
main page’.
• In the Tracking Number text box, enter 1.
• Verify that the status of the application is ‘Temporary’.
Lessons Learned


We are generally satisfied with the way this
project is going.
In a different opertunity:
 Focus on one (maybe two) projects only.


Come up with SRS and architecture at
an earlier stage.
Review periodically until bid is accepted.