Inf2009F
Business Analysis Foundations:
Business analysis seeks to:
- identify and understand business needs,
- focus on strategic objectives and
- provides solutions
- to enable change
Business analysis identifies business needs--both problems and opportunities--by working with
stakeholders
Business analysis looks di!erent depending on which standard you use, lets look at two main groups
which are setting these standards:
- International Institute of Business Analysis (IIBA): the practice of enabling change by defining
needs and recommending solutions that deliver value to the stakeholders.
- Project Management Institute (PMI): focuses mainly on project managers and they activities, the
focus on supporting the managers e!orts and delivering a project.
When you do business analysis we say you are delivering a solution.
Where you’d find a business analyst:
1. Business organisation
- helps craft strategic objectives
2. Member of a project team
- explains solutions for identified problems (explain solution, why and what is involved)
Analytical skills:
- creative and critical thinking
- system thinking
- learning skills
- problem solving
- COMMUNICATION!
‣ Facilitation
‣ Visual and presentation
‣ Active listening
‣ Awareness o non verbal behaviour
‣ Writing skills
‣ Interpersonal- conversations and relationships between people
Benefits of analytical skills:
- define problems or opportunities
- see what fits into the overall strategy of the business
- convey the reason projects are selected
- act as a change agent (from a current state to a desired future state)
Week 1 Lesson 1: Introduction to Systems Analysis
Information System: is a set of interrelated components that collect, process, store data and provide
as output information needed to complete business tasks. It always includes people who operate the
system, carry out some work or consume the output.
Computer application: is a computer software program that executes on a computer device to
perform a specific function or a set of related functions.
, 2 of 52
Systems Analysis: is the activities that a person performs to understand and specify what a system
must do.
- System Analysis is therefore all about what is required for the system to solve a business problem.
- Not only one statement but a detailed description what is required to satisfy the need or solve the
problem (ordering process at Takealot).
A Project: is a planned undertaking that has a beginning and an end and produces some end result.
The initial development of a new information system is usually done as a project.
Time scope and budget = iron triangle,
however what about quality
Quality assurance (QA) are actions taken to design and manufacture a safe and e!ective product by
building quality controls into the product life cycle.
Quality control (QC) are test procedures used to verify that a product is safe and e!ective after
manufacturing is done.
Both QA and QC are necessary.
QA focuses on the improvement of the processes and methodologies used to develop product.
QC focuses on the improvement of the product by identifying the bugs and issues.
Quality assurance (QA) - Proactive
Quality control (QC) - Reactive
Change control – identify, document and authorise changes in an IT environment.
Why do projects fail?
- Poorly defined project scope
- Lack of experience and training
- Lack of e!ective communication
- Poor management etc
Symptoms of project failure:
- Quality: hard to maintain and upgrade, errors and omissions
- Requirements: system does not meet user requirements or inability to deal with changing
requirements
- Time/ Cost: project is over time/ budget
- Integration: merging projects
Root causes of project failures:
- structured vs ad hoc approach ( a way of tackling a problem in an informal or spontaneous
manner)
ad hoc approach: done only when needed for a specific purpose, without planning or preparation
- lack of mature requirements definition
The gathering and elicitation of requirements sometimes happens in informal environments, and
the documentation created remains static during the development lifecycle even if the
requirements themselves are actually changing.
- ambiguous and imprecise communication
- brittle architectures
- overwhelming complexity
- undetected inconsistency’s and failure to attack risk:
- Uncontrolled change propagation
What can we do to solve these problems?
, 3 of 52
Software best practices: proven approaches that strike at the root case of software development
problems
1. Develop software iteratively
- accommodate changing requirements
- mitigates risk
- facilitates reuse
2. Manage requirements
- eliciting and documentation requirements
- should be prioritised, filtered and traced
3. Use component based architectures
- avoid brittleness - top down vs bottom up approach
4. Visually model software
- provide di!erent views and levels of abstraction
- reduces ambiguity, increase rigour
5. Verify software quality
- QA (quality assurance) & QC (quality control)
- Earlier identification of defects
- Automated testing tools
6. Control changes to software
- Require changes management workflow
Software development lifecycles (SDLC)
Definition: comprehensive guidelines to follow for completing every activity in the systems
development life cycle.
1. begin with business requirements then
2. translate them into a basic design
3. select a software development methodology:
Waterfall (Plan Driven) model:
Pros:
- tasks are in phases an thus may be signed to teams
- high level of management control
- Progress is evaluated at the end of each phase
Cons
- real projects don’t follow such a simple sequential lifecycle
- handovers between phases are time consuming
- increase risk as project unfolds
- design is unresponsive to business changes
- testing is normally only done just before implementation
, 4 of 52
Spiral model
Made to be better than the waterfall approach, makes the software development process iterative
with 4 phases
a. Determine objectives and alternatives and constraints
b. Evaluate alternatives and identify and resolve risks
c. Develop and test the product
d. Then begin the planning phase for future work (they repeat these steps/phases until they
have a satisfactory product)
Agile approach
an iterative and incremental approach to project management and software development that
helps teams deliver value to their customers faster and with fewer headaches. A process that
emphasis flexibility and rapid response to anticipate new and changing requirements during
development.
- better quality
- smaller projects
- ensure requirements are met
- better project control
- increased productivity
- promote communication
- knowledge sharing
- REDUCE DEVELOPMENT COSTS