Sie sind auf Seite 1von 30

Auditing Systems

Development Lifecycle
Audit Guidelines On How To Review
SDLC Framework
By
Nandasena T(NT) Hettigei
CISA, CISSP, CITP, CPA, CA

Copyrights © NTH 2007


Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building
Minneapolis . MN 1
Section (1) - Introduction

• Introduction
• Big Picture
• What is SDLC

• Audit Approach
• Audit Scope & Objectives
• Auditing SDLC Framework

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
2
Section (2) – Audit Process
• Evaluate Adequacy
• Waterfall Model
• Iterative Model
• Agile Model

• Validate Effectiveness
• Validate Common Components
• Project Management
• Auditor’s Role

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
3
Section 1

Introduction
to
Systems Development Life Cycle

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
4
Introduction

• Big Picture Blueprint


– Oversight
– Project management
– Development Life Cycle (SDLC)
• What is SDLC
– System or Software?
– How to add value?

SDLC is a methodology/framework that provides a systematic approach to


develop information systems/software while ensuring quality

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
5
SDLC Audit Approach (1)
Audit Scope and Objectives
• Evaluate adequacy of the methodology
– Ensure system development follows a proven methodology
to maintain consistency, effectiveness and efficiency of the
systems development process in order to maintain the
quality of the outcome.

• Validate effectiveness of the methodology


– Validate by testing and substantiating that risks are
mitigated effectively by consistently adhering to the
methodology/controls.

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
6
SDLC Audit Approach (2)
Frameworks/Models
• Traditional phase by phase model
– Waterfall model (linear and sequential)
• Iterative model
– RAD (Rapid Application Development)
– JAD (Joint Application Development)
– Spiral Model
– Synchronize-and-stabilize Model
• Agile model (timeboxes )
– ASD (Adaptive Software Development)
– FDD (Feature Driven Development, and DSDM)

( Vendor specific: HP-Mercury, IBM-RUP, Compuware - ASD, etc)

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
7
Section 2 – Auditing SDLC

Audit Process
2.1 – Evaluate adequacy
2.2 – Validate effectiveness
Reminder - We have been following the standard audit process of:
9 Obtaining an understanding of the control environment
9 Evaluating the adequacy of controls
9 Assessing by testing of controls
9 Substantiating risk of controls objectives not being met
Source - Control Objectives for Information and Related Technology (CoBiT),
IT Governance Institute.

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
8
Evaluate the Methodology (2.1.1)
Waterfall Model
• Analysis Phase
• Scope definitions
• Requirements Analysis
• Design Phase
• Functional Design
• Technical Design
• Business Process Design (Across all Phases)
• Development Phase
• Build/Coding
• Testing (unit, integration and system testing)
• Performance, Regression and Security testing
• QA testing (UAT)
• Delivery and Transition Phase
• Data conversion and Deployment
• Training and Support

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
9
Evaluate the Methodology (2.1.2)
Waterfall Model
Recommended for:
– Customization or implementation of ERP or
other business support systems
– Replacement of a legacy system where you
have defined requirements
– Outsource developments with stage gate
payment terms

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
10
Evaluate the Methodology (2.1.3)
Iterative Model

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
11
Evaluate the Methodology (2.1.4)
Iterative Model

Recommended for:
– New product (application) development
– Prototype/Business intelligent systems
– Innovative projects/products
– Increment functionalities within a website

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
12
Evaluate the Methodology (2.1.5)
Agile Model
• Self-contained mini-project
• Each lasting only a few weeks
• Each iteration has it own self-contained
stages of:
– analysis
– design
– development
– testing
– deployment and
– documentation
(Agile aims to reduce risk by breaking projects into small, time-limited modules i.e.
timeboxes)

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
13
Evaluate the Methodology (2.1.6)
Agile Model

Recommended for:
– Large projects to use as a powerful
method to manage deployments
– Projects that require rapid and significant
change
– Projects where even late changes in
requirements are needed

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
14
Evaluate Methodology (2.1.7)

• After all, you’ve probably noticed that the


three major development processes share the
same fundamental phases: design,
implementation, integration, testing and
deployment.

• Validating the processes are not different to


one another.

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
15
Section 2.2 - Validation

• Validating key controls within


common SDLC components

Reminder - We have been following the standard audit process of:


9 Obtaining an understanding of the control environment
9 Evaluating the adequacy of controls
9 Assessing by testing of controls
9 Substantiating risk of controls objectives not being met
Source - Control Objectives for Information and Related Technology (CoBiT), IT
Governance Institute.

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
16
Validate SDLC Components (2.2.1)

Analysis Validation
Functional 9 Business Case/requirements priorities
Requirements 9 High level use cases and required activities
9 Dependencies and redundancies (Impacted systems)
/Use cases
9 System inputs and outputs – data, interfaces, etc
9 Re-prioritize requirements as needed

Performance 9 Number of simultaneous users and transactions updates


Requirements 9 Scalability / Throughput / Capacity
9 Resource utilization (especially of shared resources)
9 Response time for a transaction
Security 9 Conceptual Access control requirements (SOD vs. Open)
Requirements 9 Conceptual Application Security ( HIPAA, PCI, GLBA, etc)
9 Conceptual System Security (internal vs. www systems)

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
17
Validate SDLC Components (2.2.2)

Design Validation
Functional 9 Standard FD template that includes:
9 Complexity (High, Medium and Low)
Designs
9 Transaction Volume, Constrains and Dependencies
/Use cases 9 Risk, Controls, Security and Test scenarios

Technical Designs 9 Standard TD template that includes:


9 Reference to related FD and functions
9 Code, Error handling, systems and integration points
9 Data schema or reference to data tables
9 Security designs

Business Process 9 Standard BPD template that includes:


9 Process flows (systems and functions)
Designs
9 Controls, reports and process owners
9 Manual check points and test scenarios
- Revised throughout SDLC phases to accommodate functional changes

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
18
Validate SDLC Components (2.2.3)

Build Validation
Development/ 9Development standard documentation that includes:
9 Coding standards
Coding 9 Nomenclatures, Comment lines and segments
9 Programming with multi-threading
9 Code reviews (peer reviews and performance reviews)
9 Application security/Source code analysis
9 Input, process and output controls
9 Error handling standards
9 Defects classifications (Showstoppers, Sev 1, etc.)
9 Unit testing, Coding quality control
9 Code version management

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
19
Validate SDLC Components (2.2.4)

Integration Validation
System 9Integration approach should include:
9 Inventory of FDs and TDs with priorities and dependencies
Integration
9 Integrators, Adaptors and Middleware (MQ series)
9 System architecture, data flow diagrams
9 Integration with vanilla codes or functionalities
9 Iterative vs. Incremental integration
9 Integration Test approach
9 Dependencies (systems and processes)
9 Change and Version Control
9 Error handling

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
20
Validate SDLC Components (2.2.5)

Testing Validation
Functional 9System Test approach should include:
9 Production like testing environment
Performance and
9 Acceptable defects rate (%)
Security Testing 9 Entry and exit criteria for system test
9 Unit test completed and acceptable defects rate
9 Code certified (if developed by a third party)
9 Functional test scenarios approved by stakeholders
9 Performance testing includes:
9 Number of users, Volume, response time, etc.
9 Security testing includes:
9 Application, Access and System security
9 Rework and retest standards
9 Regression testing

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
21
Validate SDLC Components (2.2.6)

QA Validation
System/ 9System Quality Assurance approach should include:
9 Requirements quality (functions, performance and security)
Software 9 Defects tracking and trend analysis
Quality 9 Issue tracking and trend analysis system/tools
9 Stage gate sign-off process
Assurance 9 Security settings and role base access controls
9 Automated process workflows
9 System alerts for transaction exceptions
9 Regression testing
9 Performance and stress testing
9 Application and system security testing
9 UAT (user acceptance test) scenarios and testing
9 High availability, failover/recovery and disaster recovery
9 QA exit criteria – Meeting customer/business requirements

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
22
Validate SDLC Components (2.2.7)

Delivery Validation
Deployment 9 Launch approach & customer impact assessment
9 Deployment timeframe and system down time (impact)
9 Data conversion and validation process
9 Go/No go decision points
9 Failover/recovery during the migration process

Support 9 Post deployment support (30 days – 6 months)


9 Expert teams knowledge transfer
9 Documents repository
9 Training support
9 Defects clearing
9 Problem resolution

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
23
Validate SDLC Components (2.2.8)

Documentation Validation
Adequate 9 Requirements Documentation (catalogue)
Documentation 9 Design and Development Approach
9 Test and defects management Approach
9 Quality Assurance Approach
9 Deployment and Launch Approach
9 Functional Designs /Use Cases
9 Technical Designs and Data Schemas
9 Business Process Designs
9 Test scripts/scenarios, Issues log and defects log
9 Deployment process with contingency rollback
9 Security settings (access, system and roles)
9 System specification, data sheets and user guides

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
24
Validate SDLC Components (2.2.9)

Tools Validation
SDLC 9 Change management tools
Tools 9 Quality management tools (e.g. Quality Center)
9 Issue tracking tools (e.g. PVCS)
9 Code version manager (e.g. Subversion)
9 Source code analysis tools (e.g. DevInspect)
9 Application QA tools (e.g. QAInspect)
9 Code migration tools/scripts
9 Validation checklists and standard templates
9 Enterprise target infrastructure (e.g. Tech Blueprint/BOB)
9 Enterprise information security policies & standards
9 Capacity, performances and scalability testing tools
(e.g. LoadRunner)

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
25
Validate SDLC Components (2.2.10.1)

Roles Validation
Development 9 Architect (software, system and performance)
9 Business Systems Analyst
9 Developer, Code Reviewer, Tester
9 Security Architect
9 Product Manager/Business/process owner
9 Stakeholder
9 Technical Writer
9 Trainer
Quality 9 QA Manager
Assurance 9 QA Analyst
9 Security Analyst
9 Performance Analyst
9 Business SMEs ( Subject Matter Expert)

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
26
Validate SDLC Components (2.2.10.2)

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
27
Project Management
Project Validation
Project 9 Project management methodology
Management 9 Adequate business engagement in the project
9 Project managers engaged with the stakeholders
9 IT leaders engaged with end users
9 Scope, Schedule and Budget monitoring
9 Interim Merit Reviews
9 Failsafe Approach

Project Risk 9 Project risk management process


Management 9 Organizational alignment (business readiness)
9 Adequate training and communication
9 Defined service levels
9 Defined project delivery process
9 Contingency plan and roll back approach

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
28
Auditor’s Role

• Auditor Vs. Quality Assurance


– Auditor is not playing the role of quality assurance
• Auditor Vs. Risk Management
– Risk management is a project activity
• Auditor’s Role
– Auditor is a SME (subject matter expert) for risks
and controls (What may go wrong on process and
recommendation to mitigate such risks)

Auditing the Systems Development Lifecycle - By NT Hettigei © 2007


BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
29
Q&A
References;
1. IS Control Journal – The Auditor's Role in IT Development Projects – NT Hettigei
2. CoBit ; Control Objectives for Information and Related Technology (CoBiT), IT Governance
Institute. URL http://www.itgi.org/

Thank You
3. IT Auditing Standards – Information Systems and Controls Association URL
http://www.isaca.org/Template.cfm?Section=Standards&Template=/TaggedPage/TaggedPageDis
play.cfm&TPLID=29&ContentID=8529
4. ITIL – The ITIL and ITSM Directory – URL http://www.itil-itsm-world.com/
5. CMM – Capability Maturity Model – URL http://www.sei.cmu.edu/cmm/cmms/cmms.html
6. Which Development Method Is Right for Your Project? By Adam Kolawa URL:
http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=ART&ObjectId=3152
7. Models for Managing Projects, IT Lecture Notes by Mark Kelly, McKinnon Secondary College
URL: http://www.mckinnonsc.vic.edu.au/vceit/models/index.htm#agile
8. Internet Security System White Paper: Dynamic Threat Protection: URL
http://documents.iss.net/whitepapers/DynamicThreatProtection.pdf
Download the presentation from ISACA website – URL http://www.mnisaca.org/

Email your questions to – nthettigei@fairisaac.com


Auditing the Systems Development Lifecycle - By NT Hettigei © 2007
BY NT HETTIGEI © 2007- Presented at ISACA Roundtable on 12/12/2007 at KPMG Training Center, Wells Fargo Building Minneapolis . MN.USA
30

Das könnte Ihnen auch gefallen