7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
1/52
Systems Analysis
What? Why?
ByNahla Ghoneim
Senior Systems Analyst
ITWorx Egypt
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
2/52
What?
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
3/52
Why?
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
4/52
Contents
My Story Requirements.. A problem
Software Process Model
Requirements Engineering Systems and Business analysis
The Business Analysis Process Model
Systems Analysis Skills Career path
Questions
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
5/52
My Story
The story begins like any other
ComputerSystemsEngineering
2006
Graduation
ITWorx
Sun Certified
JavaProgrammer
Senior
SoftwareEngineer
FoundationCertificate inBusiness
Analysis
Senior
UTC,Reliance, du,Qtel
SystemsAnalyst
GTMs
EMBA
BusinessExecutive
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
6/52
Exercise
Terms Write requirements for a login page for an
internal system
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
7/52
A Classic Joke
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
8/52
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
9/52
Requirements: A big problem
The hardest single part of building a software
system is deciding precisely what to build. No
other part of the conceptual work is as
difficult as establishing the detailed technicalrequirements...No other part of the work so
cripples the resulting system if done wrong.
No other part is as difficult to rectify later.
-No Silver Bullet: Essence and Accidents of
Software Engineering
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
10/52
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
11/52
Relative cost to repair a software
error
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
12/52
Problems with Requirements
Lack ofrelevance to the objectives of theproject
Lack ofclarity in the wording Ambiguity Duplication between requirements Conflicts between requirements
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
13/52
Software Process Model: Waterfall
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
14/52
The Agile Model
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
15/52
Agile Methodology
Iteration/Sprint User Story
Backlog
Pair ProgrammingAgile does not mean no documentation!
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
16/52
Requirements Engineering
Requirements
Engineering
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
17/52
Requirements Engineering
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
18/52
Hurry up!
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
19/52
Requirements Elicitation
When I actually meet users... I find that they
certainly have needs, but that these do not
appear in an organized form at all. The needs
come out in a rush, a mixture of complaints,design decisions, interface descriptions, current
situations, and from time to time specific
human-machine interface requirements.-Alexander and Maiden (2004)
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
20/52
Requirements Elicitation
Techniques
Interviewing Shadowing
Workshops
Scenario Analysis Prototyping
MOM
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
21/52
Requirements Analysis
Ensuring that all of the requirementsidentified during Requirements Elicitation
have been developed into clear, organized,
and fully-documented requirements.
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
22/52
Requirements Analysis Filters
Ambiguous? Meaning clear?
Conflict? -> Negotiate a resolution Reasonable? Expensive? Time-consuming?Atomic?
Overlap? Duplicate?
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
23/52
Outcomes
Accept Reword
Merge
Clarify
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
24/52
Requirements Engineering
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
25/52
Requirements
Specification/Documentation
Functional RequirementsWhat the system must do
Non-Functional RequirementsHow the system will perform in certain areas:o Performance/Response time
oAvailability
o Security
o Backup
oArchiving
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
26/52
Requirements Documentation
Requirements Template
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
27/52
Requirements Engineering
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
28/52
Requirements Validation
Analysts Deem requirements
complete
Reviewgroup
Confirm requirements suitability
Review group:
Business representatives
Project Sponsor
SME
Document Signed off
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
29/52
Requirements Engineering
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
30/52
Prototyping
Software customers and end-users usually find it very
difficult to express their real requirements. It is almost
impossible to predict how a system will affect working
practices, how it will interact with other systems and what
user operations should be automated. Carefulrequirements analysis along with systematic reviews of the
requirements help to reduce the uncertainty about what the
system should do. However, there is no real substitute for
trying out a requirement before agreeing to it. This ispossible if a system prototype is available.
-Software Engineering, 6th edition, Sommerville
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
31/52
Prototype Types
Evolutionary Prototypingo Best understood & highest priority requirements
Throw-away Prototypingo To validate or derive requirements
o Least understood
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
32/52
Prototyping
Supports: Requirements Elicitation &Requirements Validation
POC UI Prototyping
o Wireframes
oAxure
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
33/52
Business Analysis or Systems
Analysis
Production ofclearly-statedbusinessrequirementsdefinitions,which can bepassed to asystem designerto be turned intospecificationsthat are the inputto thedevelopmentprocess
BusinessAnalysis Analysing &
specifying the ITsystemrequirements insufficient detailin order toprovide a basisfor theevaluation ofsoftwarepackages or thedevelopment ofa bespoke ITsystem
SystemsAnalysis
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
34/52
What we do
A well-defined
businessproblem
A solutionbased on a
certaintechnology
Well-
documentedrequirements
Needs strong
technicalknowledge
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
35/52
The Business Analysis Process
Model
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
36/52
Investigation Techniques
Interviewing Observation Workshops Scenario Analysis Prototyping
Five Whys
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
37/52
Systems Analysis Skills
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
38/52
Analytical Skills
[Analytical skills mean] not settling for the obvious,
not accepting things at face value and not jumping to
premature conclusions. It means digging deeperand
deeper until the true situation is uncovered and the
real problem has been defined. It involves sifting
through masses of often conflicting data and
determining which is relevant and which is
not. And it involves challenging received
wisdom at every turn.
-Business Analysis, Paul & Yeates, 2006
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
39/52
Systems Analysis Skills
Dealing withambiguity
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
40/52
The Analyst as a Mixer!
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
41/52
Systems Analysis Skills
Change
Management
Customer
Management
Dealing withambiguity
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
42/52
Systems Analysis Skills
CommunicationChange
Management
Customer
Management
Dealing withambiguity
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
43/52
Communication Skills
Communication is
perhaps the most
important skill that
humans possess-Business Analysis, Paul &
Yeates, 2006
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
44/52
Systems Analysis Skills
PresentationCommunication
Self-confidence!Negotiation
Change
Management
Customer
Management
Dealing withambiguity
Business
Knowledge/Sense
Requirements
Engineering
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
45/52
Career Path
Engagement Presales Egypt
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
46/52
What you learned
The science of requirements engineering Keep an eye on the business world Broad range of positions in the industry
o Systems Analysis (like me!)o Testing (Detail-oriented, persistence)
o UI developer (talent)
o Entrepreneurs (risk-taking)
oAcademia (research)
o Engagement, Presales (customer interfacing)
o Management
When the best leader's work is done the people say,
"We did it ourselves."-Lao Tzu
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
47/52
What you learned
Study and develop yourself
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
48/52
Exercise
Whats wrong with this requirement?
The reservations clerk must be able to record
a booking. They must be able to amend or
cancel bookings
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
49/52
Answer
Not atomic. Several requirements groupedinto one entry.
Why did the text use they for a singularnoun?
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
50/52
Exercise
Write requirements for a login page for aninternal system
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
51/52
References
"Business Analysis", BCS, by Debra Paul &Donald Yeates
Software Engineering, 6th edition,Sommerville "No Silver Bullet: Essence and Accidents of
Software Engineering, IEEE, by F. Brooks
7/27/2019 Alexandria ACM Student Chapter | Systems Analysis
52/52