Upload
mrnbd
View
217
Download
0
Embed Size (px)
Citation preview
8/12/2019 NHS Manchester Application Development Policy v1.2
1/14
Software Development
Policy and Procedures
Version 1.2
8/12/2019 NHS Manchester Application Development Policy v1.2
2/14
2
Approval and Authorisation
Name Job Title Signature Date
Authored by:-
Chris Smith
Head of IT Services
Approved by:-
Mike Jones
Associate Director of IT
Change History
Version Date Author Reason
1.0 January 2011 Chris Smith Issued version1.1 January 2011 Chris Smith Revised DLC timescales1.2 January 2011 Lincoln Aniteye Section 3.1.7 added
Document Review
This policy will be reviewed every two years from date of first or last issue.
Review Date Reviewed By Comments
8/12/2019 NHS Manchester Application Development Policy v1.2
3/14
3
CONTENTS
Section Description Page
1 Introduction 4
2 Application Development Methodologies 5
2.1 Rapid Application Development 52.1.1 Requirements Planning 62.1.2 User Design 62.1.3 Construction 62.1.4 Implementation 62.2 Traditional SDLC 72.2.1 Requirement Analysis and Design 72.2.2 Implementation 7
2.2.3 Verification & Testing 82.2.4 Maintenance 8
3 NHS Manchester Approach 93.1 Development Approach 93.1.1 Document User Requirements 93.1.2 Business /System Analysis of User Requirements 93.1.3 Database Design 93.1.4 User Interface and Application Development 93.1.4.1 User Interface Design 103.1.4.2 Coding 103.1.5 User Acceptance Testing 10
3.1.6 Implementation & Roll Out 103.2 Testing and Acceptance 10
4 Governance Arrangements 124.1 Software Reviews 12
Appendix 1 Detailed Timescales 13
8/12/2019 NHS Manchester Application Development Policy v1.2
4/14
8/12/2019 NHS Manchester Application Development Policy v1.2
5/14
5
2. Application Development Methodologies
Where ever possible NHSM will use Rapid Application Development (RAD) to develop
applications. Where a more formal approach is required (or desired) NHS will use the
Traditional SDLC methodology to develop and deliver applications.
There are a number of pros and cons to the different types of application development
employed by NHSM.
Rapid Application Development (RAD)
Pros Promotes strong collaborative atmosphere and dynamic gathering ofrequirements. Business owner actively participates in prototyping, writingtest cases and performing user acceptance testing.
Cons Dependency on strong cohesive teams and individual commitment to theproject. Decision making relies on the feature functionality team and acommunal decision-making process with lesser degree of centralized PMand engineering authority
Traditional SDLC (TAD)
Pros Minimizes feature creep by developing in short intervals resulting inminiature software projects and releasing the product in mini-increments.
Cons Short iteration may not add enough functionality, leading to significant delaysin final iterations. Since Agile emphasises real-time communication(preferably face-to-face), utilising it is problematic for large multi-teamdistributed system development. Agile methods produce very little writtendocumentation and require a significant amount of post-projectdocumentation.
2.1 Rapid Application Development
Rapid Application Development (RAD) is a concept that products can be developed faster
and of higher quality through:
Gathering requirements using workshops or focus groups
Prototyping and early, reiterative user testing of designs
The re-use of software components
A rigidly paced schedule that defers design improvements to the next product version
Less formality in reviews and other team communication
NHSM employs a number of tools for RAD software development (Visual Studio, Sofia, uDev
and Radical) including requirements gathering tools, prototyping tools, computer-aided
software engineering tools, language development environments and testing tools.
RAD usually embraces object-oriented programming methodology, which inherently fosters
software re-use. The most popular object-oriented programming languages, C++/#,
VB.NET and Java, are offered by NHSM in visual programming packages often described as
providing rapid application developments.
8/12/2019 NHS Manchester Application Development Policy v1.2
6/14
8/12/2019 NHS Manchester Application Development Policy v1.2
7/14
7
The timescales for RAD within NHSM can be found in Appendix1
2.2 Traditional SDLC
The Waterfall model methodology is the traditional SDLC method is often described asTraditional Application Development (TAD). Similar to RAD , TAD has distinct phases
involved in the development lifecycle as shown in Fig 3.
Fig.3 Traditional Application Development Lifecycle
In TAD a feasibility study is used to determine if the project should get the go-ahead. If the
project is to proceed, the feasibility study will produce a project plan and budget estimates
for the future stages of development.
2.2.1 Requirement Analysis and Design
Analysis gathers the requirements for the system. This stage includes a detailed study of the
business needs of the organisation. Options for changing the business process may be
considered. Design focuses on high level design like, what programs are needed and how
are they going to interact, low-level design (how the individual programs are going to work),
interface design (what are the interfaces going to look like) and data design (what data will
be required). During these phases, the software's overall structure is defined. Analysis and
Design are very crucial in the whole development cycle. Any glitch in the design phase could
be very expensive to solve in the later stage of the software development. Much care is
taken during this phase. The logical system of the product is developed in this phase.
8/12/2019 NHS Manchester Application Development Policy v1.2
8/14
8
2.2.2 Implementation
In this phase the designs are translated into code. Computer programs are written using a
conventional programming language or an application generator. Programming tools like
Compilers, Interpreters, Debuggers are used to generate the code. Different high level
programming languages like C, C++, C# , VB.NET (.NET Framework) Pascal, Java are used
for coding. With respect to the type of application, the right programming language is
chosen.
2.2.3 Verification Testing
In this phase the system is tested. Normally programs are written as a series of individual
modules, these subject to separate and detailed test. The system is then tested as a whole.
The separate modules are brought together and tested as a complete system. The system is
tested to ensure that interfaces between modules work (integration testing), the systemworks on the intended platform and with the expected volume of data (volume testing) and
that the system does what the user requires (acceptance/beta testing).
2.2.4 Maintenance
Inevitably the system will need maintenance. Software will definitely undergo change once it
is delivered to the customer. There are many reasons for the change. Change could happen
because of some unexpected input values into the system. In addition, the changes in the
system could directly affect the software operations. The software should be developed to
accommodate changes that could happen during the post implementation period including
rigorous regression testing.
The timescales for TAD within NHSM can be found in Appendix1
8/12/2019 NHS Manchester Application Development Policy v1.2
9/14
9
3. NHS Manchester Approach
NHSM takes a staged approach to application development. A series of Joint Application
Development (JAD) meetings are usually held between the Development Team & Users
(Customers) throughout the application development life-cycle. These JAD sessions help
developers to fully understand the applications requirements and iron out anyissues/problems with users before the system is designed, based on the user-provided
information.
It is also impressed on users that cancelled, rescheduled meetings and/or unplanned
changes to the application design may seriously impact and delay the projects delivery date.
3.1 Development Approach
The NHSM development approach can be broken up into the following six stages:
3.1.1 Document User Requirements
This stage deals with identifying current System documentation, including manual systems
(if any) and any specify Business rules. At this stage there will also be an assessment of:
The Impact of Current rules & Issues
Specific Workflow Required
The Data Elements Required
Business Activities/Functions Required
Reports Required
Any potential Issues/Risks will also be documented at this stage as will any training needs.
3.1.2 Business/System Analysis of User Requirements & Documentation
This stage deals with the identification & documentation of data requirements and data
analysis. This stage will also design the Data Model, Identifying, defining and documenting
main business functions/processes/activities and elementary processes that operate upon
the data.
One other key activity for this stage will be to develop test scripts that will be used in the later
stages of the development.
3.1.3 Database Design
This stage deals with the design of the physical database and will include such tasks as:
The setup & test of the development physical database
Population of database with test data
At this point in time Joint Application Development (JAD) meetings will be initiated to ensure
database design is inline with user requirements.
3.1.4 User Interface Application Development & Documentation
This stage is actually broken down into two sub-stages.
8/12/2019 NHS Manchester Application Development Policy v1.2
10/14
10
3.1.4.1 User Interface Design
Initially the stage focuses on the overall application structure/flow and the design &
documentation of the user interface screens/forms. This will also involve the writing of the
program logic specifications that implement the business rules as depicted in the user
requirements.
3.1.4.2 Coding
This sub-stage deals with the coding, validation and unit testing of each form/screen to
perform the specified application function. This will also involve the coding of data
processing & Batch Trigger modules.
Other activities will include:
Coding search & Report Modules
Testing end-to-end flow of the system & resolve any functional or flow problems.
3.1.5 User Acceptance Testing
This stage ensures users have adequate storage capacity and deals with the setup of the
physical user database in the staging environment (see also 3.2) to be populated with live
data. The application is installed in the user environment and the system fully tested with any
issues being fully documented for urgent resolution.
3.1.6 Implementation & Roll Out
At this stage the application & database in configured in the production (live) environment.
Users can then populate the database with live data with final assurance checks beingundertaken. Implement backup requirements will then be fully implemented before final user
sign-off.
3.1.7 Post Implementation Review
After implementation a JAD session will be held to undertake a post implementation review.
This will typically be four weeks from the date of implementation (Go-Live). This will allow for
the review of any user/technical issues to be resolved.
3.2 Testing and Acceptance
NHSM operates a full test environment for the proofing of applications before delivering toUser Acceptance Testing (UAT). This environment typically consists of the following:
1 staging SQL server (V2005)
2 test SQL servers (1x2005 and 1 x 2008)
1 test IIS server 2003 (ie6, ie7 and ie8)
All changes are trialled within the test environment for a number of weeks iteratively beforeusers acceptance testing.
User acceptance testing is then performed on the staging SQL server and test IIS before achange control package is completed for approval to deploy live.
8/12/2019 NHS Manchester Application Development Policy v1.2
11/14
11
All applications deemed to be fit for deployment live are raised as a change control package
and presented to the Change Control Board which meets fortnightly on the 1stand 3rd
Monday of every month.
8/12/2019 NHS Manchester Application Development Policy v1.2
12/14
8/12/2019 NHS Manchester Application Development Policy v1.2
13/14
13
Appendix 1 Detailed Timescales
/
(
)
()
()
1
2 2
,
( ), ,
& ,
, ,
/, ,
/, .
.
2 /
&
3 8
&
, , ,
, &
, /
.
3
1 3 , &
&
8/12/2019 NHS Manchester Application Development Policy v1.2
14/14