Process | What To Do | How To Do It |
---|
1 | Initiate the Project | - If you are using a workflow-based project management tool (e.g., JIRA) then set up a document template to track approvals and completion of tasks.
- If you are not using a project management tool then use one of the following as appropriate based on initial assumptions about the project:
- Project Sign-Off Sheet for Developed Applications
- Project Sign-Off Sheet for Third-Party Solutions
|
2 | Identify Sponsor | - Identify a person who will take ownership of the project and:
- is in a position where he or she can organize resources from the functional side.
- has the skills and time to manage or help manage the project, including requirements analysis, tracking progress, setting up meetings, and organize user testing
- has the time and interest to develop the skills required to assist requirements analysis.
|
3 | Submit Project Proposal | - Prepare a Project Proposal request and submit the request as defined on the How to Request a New Project or Enhancement page.
- If a vendor solution is an option to complete the project then prepare a Third-Party System Review for each of the third-party systems being considered.
|
4 | Requirements Definition | - Consider candidates for the various roles on the Project Team. Assign as many of these as possible.
- Create the Project Charter for large, high risk applications.
- Prepare the Functional Requirements to document the basic functional requirements of the system.
- Prepare a Build vs. Buy Analysis for the project to help determine whether an application software solution should be developed internally or acquired from a third-party.
- The general guideline is that if a third-party solution providing at least 85% of the features and capabilities outlined in the Functional Requirements can be located, and it satisfies the technical criteria defined by OIT with respect to architecture, security, etc., then the third-party solution should be used. If multiple third-party solutions are being considered, a Build vs. Buy Analysis should be done for each one.
- Review the OIT Data Classifications to determine whether the project involves access to to sensitive, restricted, or personally identifiable information.
- If it does then contact the OIT Security Manager.
- Security reviews are best scheduled starting at the planning stages of a project and are required during the requirements definition process of any high risk project.
- Determine the level of risk involved with the project.
- Complete Sections I - X of the Security Risk Assessment Questionnaire (SRAQ) to calculate the project's risk level.
- A HIGH RISK application includes any application that uses, stores, or transmits:
- Password
- Social Security Number
- Home phone or address
- Credit card numbers
- Bank account numbers
- Driver license or other credential
- Nonpublic student or employee data
- FERPA-protected student data
- Patient information
- Or any other data deemed sensitive, restricted, or personally identifiable as defined in the OIT data classifications.
- If restricted information is stored or accessed:
- Encryption must be used in storage and transmission in all cases where such data occurs.
- The project is categorized as HIGH RISK and the UCI CIO and UCI Security Officer must be notified in writing or acknowledged email before any work effort begins.
- Contact the OIT Security Manager at the planning stages of high risk projects to review the SRAQ and security requirements of the project.
- Schedule a requirements review and acceptance sign-off with functional and technical project teams to review the functional requirements.
- Prior to reviewing the requirements with the project team, it may be helpful to create a Development Environment Review Form.
|
5 | Prepare a Project Plan | - A Project Plan contains enough information about the project that all stakeholders can understand what will be done and have an idea when the work will be completed. This includes:
- Project Definition containing basic information about the project,
- Schedule showing project milestones and projected resource requirements and timeframes,
- Issues Log to keep track of potential and real problems encountered during the course of the project, and
- Organizational Information including key stakeholders, roles, and contact information.
|
6 | Create System Specification | - Especially for more complex systems, as you design your specifications, be sure to consider:
- Architecture Review
- Database Review
- GUI Review and consistency
- When creating diagrams (data flow, system architecture, system design, etc.) that show interaction between software components only use the tools defined in the Application Toolbox.
- At minimum separate development and production environments must be specified. You may also need a test, training, or staging environment.
- Consider creating Create test data if any sensitive data will need to be tested.Schedule Security Design Review
- Schedule reviews with Josh Drummond, Security Architect at the beginning of your project.
- System Architecture Diagrams in SRAQ Section XI should be completed and reviewed.
- Revisit Complete the Threat Anaylsis based on technical details of design.
|
7 | Prepare a Test Plan | - A Test plan consists of:
- Automated code testing in your development environment
- Cross-browser application certification using VMWare
- Steps to test major areas of functionality. Include screen shots for regression testing.
- Security tests, per Security Risk Assessment Questionnaire
- Parallel system test
- Test schedule
- User acceptance checklists
|
8 | Develop Application | - This is an iterative process, with regularly scheduled review stages and quality controls.
- Please speak to your systems development director about the preferred development platform.
- For more informaton about OIT software development practices, see Systems Development Practices & Guidelines.
- The Application Development Toolbox may provide useful information for the developer as well.
- Schedule Application and Code Review.
- During implementation, the Controls Section XII of the SRAQ must be completed. (OIT recommendations)
- The OIT Application Security Checklist should be followed during implementation.
- High risk code, such as authentication and authorization, need to be reviewed in early stages of implementation.
- Schedule Code Reviews with your senior software engineers from the beginning of development. Please contact the OIT Security Manager if you need any help.
|
9 | Perform Quality Assurance | This is an iterative set of activities during development of a project, normally based on a documented process and standard practices which include: - Code analysis with automated tools and peer code reviews. Example: Java Code Review Checklist
- Unit, Functional, and browser compatibility testing by programmer and end user
- Security review in the form of verification of SRAQ Controls Section XII and OIT Application Security Checklist.
- Performance, load, and stress testing to simulate user load
- Reporting and publishing of test results to determine progress and production readiness
- See an example of Java Quality Assurance process
- Reference links:
|
10 | Conduct User Acceptance Testing and Approval for production release | - User Acceptance Test and Acceptance Sign-off is usually coordinated by a Functional Lead and indicates that users have:
- tested functionality,
- approved that an application meets original requirements, and
- determined that it is ready to go into production from the business perspective.
|
11 | Production Rollout Planning | - Production rollout readiness includes
- Final Security Risk Assessment Questionnaire completed fully with any left over action items completed.
- Successful quality assurance testing, application vulnerability scanning, and security sign-off. Please use the Project Sign-off / QualityControl Sheet for Developed Applications or Project Sign-off Sheet for Vendor/ASP Solutions as appropriate and schedule dates for the review sign-off.
- For some OIT departmental units, issue tracking (JIRA suggested) and change control management (login required) as part of production support and maintenance. Prioritization of issues and change requests, where stakeholders are involved in the decision making process, are essential and a best practice.
- Scheduled database and code backups
- Marketing; announce application availability date to campus either via Zotmail or e-mail
- User Training
- Help desk training
- Cross-train backup support
- Adding the application into Help Desk Service Request Tracking System
- Adding application to campus portals, if applicable
|
12 | Launch Application | - Congratulate yourself on a job well done!
- Continue with change management and production support.
|
13 | Post-Implementation Review | - Perform project close-out including clean-up and lessons learned.
- Transition support from developers to OIT Help Desk.
- Sign and e-mail the Project Sign-Off Sheet to the OIT Project Manager.
- Prepare system disposition plans.
- Monitor system to make sure it is performing as designed.
|