Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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.