Professional Documents
Culture Documents
Business case – shows benefits to be achieved for the business and must be kept for lifecycle of
project
Size measured based on number and complexity of inputs, outputs, files, interfaces and queries.
Software Cost estimates directly related to software size estimates.
Critical Path –
Longest path through the network
Shortest possible completion time.
No slack time for any activity on critical path and any activities with no slack time are on the
critical path.
GANTT charts: aid in scheduling of activities/tasks. Charts show when activities start and end
and dependencies. Used for checkpoints/milestones too.
PERT – network management technique Shows relationships between various tasks and shows
estimates/scenarios for completing tasks – three estimates shown – optimistic, most likely and
pessimistic. It doesn’t talk about costs.
Time box – project management technique for defining and deploying software deliverables
within a short and fixed period of time with pre-determined resources. Must be a software
baseline.
3. Design (or selection if purchase a system – auditor concerned that adequate level of security
controls has been considered before purchase agreement/contract signed and RFP should be
based on requirements) Software design phase is the best place for software baselining to occur
– where requirements are set and software config mgmt process starts. Auditor concerned again
that sufficient controls are going to be built in and auditor looks at the effectiveness of the
design process itself.
6. Post Implementation – were the requirements met? Are users satisfied? Includes post
mortem – lessons learned, were the right techniques applied, right tools used? How could we
have done it better?
Data Conversion: risk is you will not convert all the data – some will be missed. You also need to
make sure that you are comparing control totals before and after conversion to avoid this.
Quality assurance is responsible for ensuring that programs and program changes and
documentation adhere to established standards.
Early engagement of key users will help ensure business requirements will be met in software
development process.
Testing – make sure that what is being tested, is actually what was implemented.
Project steering committee approves the RFPs for software acquisitions. It is responsible for all
costs and timetables.
Testing Classification:
Unit testing – testing of individual programs or modules – usually white box testing.
System testing – making sure that all modules function together properly.
Integration testing – evaluates connection of components that pass info to each other.
Final acceptance testing – done during implementation phase by QA and then UAT.
Other types of testing:
Alpha and beta
Pilot
White box – assess effectiveness of software program logic.
Black box – testing of interfaces and general function – doesn’t care about internal structure.
Function/validation – similar to system testing, but often used to test the functionality of the
system against requirements.
Regression testing – rerunning a portion of a test scenario to make sure that changes have not
introduced new errors in other parts of app
Parallel – feed test data into two systems (new and old) and compare results
Sociability – confirm that the new system can operate in its target environment without
affecting other systems.
Risks associated with software development:
New system does not meet users’ needs
Exceeded cost/time estimates
Auditor should review success of project and management discipline over project.
Alternative Development approaches:
Agile development – used when don’t have much in the way of requirements and things are
changing frequently. Designed to flexibly handle changes to the system being developed. Use of
small timeboxed subprojects and greater reliance on tacit knowledge – knowledge in people’s
heads. No real requirements baseline. Not much documentation. Less testing. Project Manager
becomes more of an advocate and facilitator rather than a manager. Can help detect risks early
on. Lot’s of face to face work.
Prototyping – creating system through controlled trial and error. Can lead to poor controls in
finished system because focused on what user wants and what user sees. Change control
complicated also – changes happen so quickly, they are rarely documented or approved. Also
called evolutionary development. Reduces risk associated with not understanding user
requirements.
Just include screens, interactive edits and reports (no real process programs)
Rapid Application Development –RAD – methodology to develop important systems quickly,
while reducing costs but maintaining quality. – small dev teams, evolutionary prototypes,
Automates large portions of the SDLC via CASE and imposes rigid time frames. Prototyping is
core to this. Skip documentation, less emphasis on requirements
Object Oriented – data and software together to form object – sort of a blackbox – other
objects talk to the object’s interface and don’t care what’s inside. Encapsulation provides high
degree of security over the data.
Component based – outgrowth of object oriented – assembling applications from cooperating
packages of executable software that make services available through defined interfaces.
Reengineering – process of updating an existing system by extracting and reusing design and
program components.
Reverse engineering – process of taking apart an app to see how it functions. Can be done by
decompiling code.
Configuration management – version control software and check out process. Used for software
dev and for other stuff – programs, documentation, data. Change control works off of config
mgmt.
Logical path monitor – reports on the sequence of steps executed by a programmer.
Program maintenance is facilitated by more cohesive (the performance of a single, dedicated
function by a program) and more loosely coupled (independence of the comparable units)
programs.
Structured walk through is a management tool – it involves peer reviews to detect software
errors during a program development activity.
First concern of an auditor is does the application meet business requirements; close second is
are there adequate controls in place.
Benchmarking is a technique all about improving business process – BPR technique (PROAAI):
Plan – identify processes
Research – identify benchmarking partners
Observe – visit partners
Analyze
Adapt
Improve – continuous improvement
Three types:
Input
Processing
Output
IS auditor needs to identify the app components and the flow of transactions through the
system. Identify controls and their relative strengths and weakness and the impact. Identify
control objectives. Testing the controls and evaluating overall control environment.
Input Controls
1. Input authorization verifies all transactions have been authorized and approved by mgmt.
Signatures on batch forms
Online access controls
Unique passwords
Terminal or client workstation identification
Source documents
Existence check – data entered correctly and meet predetermined criteria – valid transaction
code must be entered in the transaction code field.
Key verification – keying in process repeated by two different people
Check digit – a numeric value that has been calculated mathematically is added to data to
ensure that the original data have not been altered or an incorrect value submitted. Detects
transposition and transcription errors. Verifies data accuracy/integrity. (checksum)
Completeness check – a field should always contain data and not zeros or nulls
Duplicate check – new transactions matched to those previously input to make sure they were
not entered previously.
Logical relationship check – if this condition is true, then one or more additional conditions or
relationships may be required to be true.
Domain integrity test – verify that the edit and validation routines are working satisfactorily,
all data items are in the correct domain.
Processing Controls ensure the completeness and accuracy of accumulated data. These are
processing control techniques:
Manual recalculations – of transactions samples
Editing – edit check is a program instruction that tests the accuracy, completeness and validity
of the data
Run-to-run totals – can verify the data through the stages of application processing.
Programmed controls – software can be used to detect and initiate corrective action for errors
in data and processing.
Reasonableness verification of calculated amounts
Limit check on calculated amounts
Reconciliation of file totals
Exception reports.
Output Controls
Output controls provide assurance that the data delivered to users will be presented, formatted
and delivered in a consistent and secure way.
Logging and storage of negotiable, sensitive and critical forms in a secure place
Computer generation of negotiable instruments, forms and signatures – needs to be controlled
Report Distribution
Balancing and reconciling – data processing app program output should be balanced routinely
to the control totals. Timeliness important in balancing. If do balancing in a timely way can be a
preventive control – find and correct the error before it posts.
Output error handling
Output report retention
Verification of receipt of reports
To detect lost transactions – automated systems balancing could be used.
This provides direct access to the data – it can review an entire inventory and look for certain
criteria you specify. Very flexible 5 types of automated evaluation techniques applicable to
continuous online auditing:
SCARF/EAM
Snapshots
Audit hooks – embed hooks in app systems to function as red flags and to induce IS auditors
to act before an error or irregularity gets out of hand. Useful when only select transactions need
to be examined.
ITF
Continuous and intermittent simulation – as each transaction is entered, simulator decides
whether transaction meets certain criteria and if so audits it.
Electronic Commerce
Originally two tier (browser and web server) or three tiered (browser, web server, database
server) architectures.
EDI – in use for more than 20 years, one of the first ecommerce apps in use between business
partners for transmitting business transactions between organizations with dissimilar computer
systems. It involves the exchange and transmittal of business documents such as invoices,
purchase orders, in a standard, machine processible way.
Translate data from business app then transmit data then retranslate on the other side. There is
traditional EDI and web based EDI.
Traditional EDI systems require:
EDI risks
Transaction authorization and authentication– since transaction electronic no inherent
authentication occurring.
Identity of trading partners
Loss of business continuity
Critical nature of EDI transactions requires assurance that transmissions were completed. –
methods to be assured about this are internal batch total checking, run-to-run and transmission
record count balancing, and use of functional acknowledgements. Higher levels of logging for
these too.
Need to make sure message format and content are valid, no unauthorized changes,
transmission channels protected, appropriate levels of logging – log all transactions, segregation
of duties (segregate initiation and transmission), limit who can initiate transactions, things are
converted properly, messages are reasonable when received.
Outbound transactions
Controls should ensure that only properly authorized outbound transactions are processed. This
includes objectives that outbound EDI messages are initiated upon authorization, that they
contain only pre-approved transaction types and that they are only sent to valid trading
partners.
Email systems
Ultimate control is at the workstation. Digital signatures good way of getting rid of spam in
email system
Payment systems
Two parties involved in these – issuers (operates payment service) and the users (send and
receive payments).
Integrated customer file – where all the info about a given customer combined together into one
file. ATMs are point of sale devices.
Expert systems are artificial intelligence systems. Auditor cares about the soundness of the
expert knowledge
allows the user to specify certain basic assumptions or formulas and then uses these
assumptions to analyze arbitrary events and produce a conclusion.
Good for capturing the knowledge and experience of individuals in the organization
Good for knowledge sharing
Helps create consistency in decision making
Comprised of database, inference engine, knowledge base, explanation module. KB is most
critical.
Knowledge base info collected as decision tree (questionnaires), rules (if then) or
semantic nets (graphs with nodes and relationships between nodes)
Useful as audit tools also
Business intelligence
Broad field of IT that encompasses the collection and dissemination of information to assist in
decision making and assess organizational performance. These are subject oriented. There are
risks if it is a global system and data has to be synchronized between regions – this can be
problematic.
Data warehouse – once data in warehouse, should not be modified
Data mart
Metadata – Quality of the metadata is critical to these.
Improves managers decision making ability, but hard to measure. Implementation risk is
inability to specify purpose and usage.
Supply Chain Management - SCM is about linking the business processes between the related
entities (buyer and seller).
Important for just in time inventory – store does not keep inventory – stuff comes as you need it
– should have multiple suppliers in case one fails or you could be in trouble.