Agile Methodology
IT3345 – Software Architecture
Directions: Follow the courseroom directions and use this template to complete your assignments. The areas that you are responsible for are highlighted using blued text designated as <Enter here>. Do not change the font color. Save the document as CapraTek SDP – Unit “X”
CapraTek Software Development Plan
Version 1.0
Prepared by <name>
<Date>
IT-FP3345 – Software Architecture
Contents 1. Introduction 4 1.1 Identification 4 1.2 Scope and Purpose 4 1.3 System Level Project Description 4 1.4 System Description 4 1.5 Document Organization 4 2. Resources and Scheduling 6 3. Organization and Staffing 7 4. Technical Management and Control (Section 4 has been pre-completed) 8 4.1 Change Management 8 5. Standard and Procedures 9 5.1 Deliverable Standard 9 5.2 Process Methodology Diagram 9 5.3 Process Methodology Explanation 9 5.4 Phase Description 9 6. Technical Standards 10 6.1 Technology Stack Diagram 10 6.2 Cloud Environment 10 6.3 Programming Languages 10 6.4 Servers 10 6.5 Databases 10 6.6 Development Workstations 10 6.7 Development Software 11 7. Software Phases 12 7.1 Phase 1: Software Requirements 12 7.2 Phase 2: Software Design 12 7.3 Phase 3: Software Construction 12 7.4 Phase 4: Software Testing 12 8. Verification and Validation 13 9. Maintenance Process 14 9.1 Maintenance Plan Diagram 14 9.2 Maintenance Plan 14 10. Human Factors (Section 10 has been pre-completed) 15 10.1 Training 15
Software Development Plan for CapraTek
Page iii
Introduction
1.1 Identification
This Software Development Plan (SDP) establishes the plans to be used for CapraTek in all the organization’s software development projects.
1.2 Scope and Purpose
Scope
<Enter here>.
Purpose
<Enter here>.
Business Challenge
<Enter here>.
1.3 System Level Project Description
This SDP describes the organization and procedures to be used by CapraTek in performing software development. This plan identifies the applicable policies, requirements and standards for software development. It defines schedules, organization, resources, and processes to be followed for all software activities necessary to accomplish the development.
1.4 System Description
This document serves as a reference for all CapraTek employees who have a stake in its requirements gathering, design, implementation, testing, deployment, and ongoing support, including system architects, developers, test engineers, support engineers, Operations, and Legal. This document covers multiple facets of the software application.
1.5 Document Organization
The SDP is organized as follows.
· Section 1 describes the introduction of the software development plan. It also provides an overview of the scope and objectives of the software development plan.
· Section 2 describes the resources and scheduling of CapraTek.
· Section 3 describes the organization and staffing of CapraTek.
· Section 4 describes the process for change management at CapraTek.
· Section 5 describes the Standards and Procedures including the process methodology to be used in CapraTek.
· Section 6 describes the technical standards that will be used at CapraTek. This section is to be updated based on CapraTek’s needs.
· Section 7 describes the software phases involved for each software development project. Each phase will include an activity diagram outlining what processes are completed at each phase with an explanation of each phase.
· Section 8 describes the verification and validation process to ensure that the software delivered meets the needs and requirements of the project and is developed correctly.
· Section 9 describes the maintenance process for developed software at CapraTek.
· Section 10 describes the human factors, including training, of the delivered software projects.
Resources and Scheduling
<Enter here>.
Organization and Staffing
<Enter here>.
Technical Management and Control (Section 4 has been pre-completed)
1.6 Change Management
Changes to any specifications at CapraTek will be done by submitting a change report. The approval of the change must be made by the project manager. All risks will be reviewed by the technical committee each month and formal risk reports will be submitted to the management team on a quarterly basis. All changes must incorporate a cost reports to be given to the financial committee each week for review by the project sponsor. All issues will be reviewed at the project management meeting. Issues that delay the development schedules will be resolved by the technical committee.
Standard and Procedures
1.7 Deliverable Standard
All design deliverables will be submitted using standard UML using Visio. Alternative tools may be used pending approval from the development lead. All deliverables will be reviewed by all stakeholders before the final signature by the project manager.
1.8 Process Methodology Diagram
Chosen Agile methodology: <Enter here>.
<Enter UML activity diagram here>.
1.9 Process Methodology Explanation
< Enter here including justification for its adoption>.
1.10 Phase Description
Phase X - <Enter here>.
Phase X - <Enter here>.
Phase X - <Enter here>.
Add as necessary…
Expanded Phase Details
<Enter Phase “X” Details here>.
<Enter Phase “X” Details here>.
Technical Standards
1.11 Technology Stack Diagram
<Enter Technology Stack diagram>.
1.12 Cloud Environment
Amazon Web Services will be used for CapraTek’s cloud deployment. Existing applications are already deployed on Amazon Web Services and it is simpler to keep all the technology here rather than deployed to another cloud provider such as Microsoft Azure or Google Cloud.
1.13 Programming Languages
C#: C# is the primary language used to develop the applications for CapraTek. Using Microsoft Xamarin, developers will be able to deploy applications to iOS and Android using C#.
ASP.NET: For web applications at CapraTek, they will be developed using ASP.NET. This will be used in conjunction with HTML5, CSS3 and JavaScript.
Java: There are some existing legacy applications that use Java and will continue to be supported with Java. There are also various projects that require Java to be used due to existing libraries and code base with third parties.
1.14 Servers
<Enter here>.
1.15 Databases
SQL Server 2016: Most of CapraTek’s databases will be using SQL Server 2016 as C# and ASP.NET are the primary programming languages at CapraTek.
Oracle 12c: For the legacy CapraTek applications, there are some that requires Oracle 12c. There are no plans to continue to use Oracle 12c for future projects. Any plans to use Oracle 12c should be discussed with the project manager.
1.16 Development Workstations
Development workstations must support Visual Studio 2017 and NetBeans. Development workstations should have the minimum hardware:
· 2.4GHz CPU.
· 8GB RAM.
· 256GB SSD boot drive, 1TB HDD storage drive.
· 2GB graphics card
Development machines that are used for data analysis or video creation should have the minimum hardware:
· 2.4GHz CPU.
· 16GB RAM.
· 256GB SSD boot drive, 512GB SSD storage.
· 4GB graphics card.
1.17 Development Software
<Enter here>.
Software Phases
1.18 Phase 1: Software Requirements
· <Add the activity diagram here>.
· <Enter high-level steps here>.
· <Enter process flow effect here>.
1.19 Phase 2: Software Design
· <Add the activity diagram here>.
· <Enter high-level steps here>.
· <Enter process flow effect here>.
1.20 Phase 3: Software Construction
The software construction phase will develop new code or modify existing code, unit test, integrate, and document software. While reused code will not be expected to conform to a single coding standard, changed source code must be supplemented with enough new comments and standard code headers to meet commenting provisions of the coding standard and to promote understandability.
1.21 Phase 4: Software Testing
· <Add the activity diagram here>.
· <Enter high-level steps here>.
· <Enter process flow effect here>.
Verification and Validation
<Enter here>.
Maintenance Process
1.22 Maintenance Plan Diagram
< Maintenance Plan Activity Diagram>.
1.23 Maintenance Plan
<Enter here>.
Human Factors (Section 10 has been pre-completed)
1.24 Training
All employees at CapraTek will need training, from computer literacy to the usage of each of the software applications developed. A culture change management plan will be needed to train those users involved of the new methods of conducting business and the technology to support these new approaches.
***End***
4
10