Introduction
Introduction
Introduction
Management
By Mesfin Belachew /PhD/
Assistant Professor,
7/2/23 HiLCoE 1
Software Engineering
Fundamentals
7/2/23 HiLCoE 2
Software Engineering Fundamentals
• Software Engineering Fundamentals
Software is a set of programs, routines and symbolic
languages that control the function of the hardware
and direct its operation. A language that enables
computer to work.
7/2/23 HiLCoE 3
Software Engineering Fundamentals
• SW Characteristics (external):-
– Logical rather than physical
– Doesn’t wear-out
– SW capacity will not satisfy the growing demand users requirement
– Requires Maintenance (often more than once, in life time)
• SW Characteristics (Internal):-
– Reliability- ability of the software to provide desired functionality
– Usability - extent to which the software can be used with ease
– Efficiency - use system resources in effective and efficient manner
– Maintainability – ease to extend functionality, improve performance, or correct errors
– Portability – ease to transfer software from one platform to another
7/2/23 HiLCoE 4
Software Engineering Fundamentals ….
7/2/23 HiLCoE 6
Software Engineering Fundamentals ….
• Application of Software:-
– Applicable in all fields, area
– Application Categories (Classification):-
• System Software
• Real-time Software (responds to external environment)
• Embedded Software
• Business Software
• Engineering and Scientific Software
• Web-based Software
• Artificial Intelligence Software, etc.
7/2/23 HiLCoE 7
Software Engineering Fundamentals ….
Software engineering is the application of a
systematic, disciplined, quantifiable
approach to the development, operation,
and maintenance of software Definition by IEEE
P2 S1 S3 S4
P1 S2
Problem
P3 P4
S1 S2
P1 P2 Solution
P3 P4
S3 S4
7/2/23 HiLCoE 9
Software Engineering Fundamentals ….
• The following Q‘s must be asked & answered in SE:-
• What is the problem to be solved? Requirement
• What are the characteristics of the entity that used
Design
to solve the problem?
• How will the entity (solution) be realized? Planning
• How will the entity be constructed?
Construction
• What approach will be used to uncover errors made
in the design and construction? Testing
• How will the entity be supported over the long time?
Maintenance
7/2/23 HiLCoE 10
Process, Methods and Tools in
Software Engineering
7/2/23 HiLCoE 11
Process, Methods and Tools
• Software Engineering is a layered technology,
• Commitment to Quality
• Layered from:- – The main objective of the engineering approach
– Commitment to Quality – Quality is the center point for all type of Engineering, including in SW
7/2/23 HiLCoE 13
SW Process Models
• Two major types of software processes: Plan-driven and Agile
process
– Plan-driven processes are processes where all of the process
activities are planned in advance and progress is measured against
this plan.
– In agile processes, planning is incremental and it is easier to change
the process to reflect changing customer requirements.
– In practice, most practical processes include elements of both plan-
driven and agile approaches.
– There are no right or wrong software processes.
7/2/23 HiLCoE 14
SW Process Models ….
• Traditional Software Development (uncontrolled SW
Development Model)
7/2/23 HiLCoE 15
SW Process Models ….
• The main goal of modeling the process is to follow reputable,
predictable process or methodology that improve productivity and
quality
• All SW development can be characterized as problem solving loop, in
reality each stage itself is a loop
7/2/23 HiLCoE 16
SW Process Models ….
• Reasons why we model the process
1. To form a common understanding of the activities, resources and
constraints evolved in SW development
2. To help development team find inconsistencies, redundancies and
omissions in the process
3. Used to visualize the required budget, constraints, risk, etc. at
early stage of system development
7/2/23 HiLCoE 17
SW Process Models ….
• Types of Software Process Models
– There are different types of SW process models introduced
in SW Engineering
– Some of them are:-
• Water Fall Model • Concurrent Development
• V-Model Model
• Prototype Model • Win-Win Spiral Model
• Spiral Model • Incremental Model
• Phased Model, • etc.
• Chaos Model
• RAD Model
7/2/23 HiLCoE 18
Introduction Software Projects
7/2/23 HiLCoE 19
Introduction SW Projects
• What Is a Project?
– A project is “a temporary endeavor undertaken to create a unique
product, service, or result.”*
7/2/23 HiLCoE 21
Introduction SW Projects …..
• Project Attributes …..
– Drive change in organization (aim to move the organization from one state to another
better state)
Value 2
Value 1
7/2/23 HiLCoE 22
Introduction SW Projects …..
• Who and why project is initiated
– Who:
• Primary customer or sponsor
• Organization leaders in general
– Why (factors):
• Meet regulatory, legal, or social requirements,
• Satisfy stakeholder requests or needs,
• Implement or change business or technology strategies,
• Create, improve, or fix products, processes, or services
7/2/23 HiLCoE 23
Introduction SW Projects …..
• The triple Constraint of every project:-
– Scope goals: What work will be done?
– Time goals: How long should it take to
complete?
– Cost goals: What should it cost?
• One cannot adjust or alter one side of it
without in effect, altering the other sides.
7/2/23 HiLCoE 24
Introduction SW Projects …..
• Project Management
– The art of managing projects to a successful completion.
– By balancing the triple constraints (Scope, Time ad Cost)
• Where are time, cost, scope in the definition of Project?
• …. temporary endeavor undertaken to create a unique
product, service or result …..
7/2/23 HiLCoE 25
Introduction SW Projects …..
SW Product Development
Te
ch
s
ol
n
ol
To
og
Products
y
Methods
7/2/23 HiLCoE 26
Introduction SW Projects …..
SW Product Development
et
O
Or oIP
pe e
ic
Co acl
Te
rn
V
nt
ch
ed
UM va
s
XM L
Ja
ol
n
L
ol
To
og
Products
y
Methods
Software Design/Engineering SW Project Management
7/2/23 HiLCoE 27
Project, Program & Portfolio
• Project: temporary endeavor undertaken to create a unique product,
service, or result
• Program is group of related projects, subsidiary programs and program
activities
• Portfolio: is a collection of project, programs and subsidiary portfolios
• The management is also called:
Portfolio Management
Program Management
Project Management
7/2/23 HiLCoE 28
Project, Program & Portfolio …..
• Examples Portfolio Management
Program Management
7/2/23 HiLCoE 29
SW Process Models ….
Assignment One:- Explain with your own words the following
briefly. Do not copy from any source.
1.1 Software and Software Engineering,
1.2 Project, Program and Portfolio,
1.3 What will be the effect on scope and cost if a project is
delayed for several months.
7/2/23 HiLCoE 30
Software Project Management
7/2/23 HiLCoE 31
Introduction SW Projects
• Why Project Management:-
§ Software projects have several properties that make them very
different (unique) to other kinds of engineering project.
§ The product is intangible (unable to touch or grasped).
§ We don’t have much experience
§ Large software projects are often custom-made (made to customer's
order)
§ The technology changes very quickly
§ SW/IT Projects failure is very high
7/2/23 HiLCoE 32
Introduction SW Projects …..
• SW Project Failures
§ According to Wrike, online PM SW, 2015, 39% of all projects succeed
(delivered on time, on budget, within scope). 43% are challenged (late,
over budget, with fewer scope) 18% fail (either cancelled prior to
completion or delivered and never used).
§ This will be even worst in the developing nations:-
§ lack human resources that are needed to carry out these projects
effectively and efficiently to guarantee the project success
§ Limited fund to implement the project
§ Other priorities, like political, social, economical
7/2/23 HiLCoE 33
Introduction SW Projects …..
• Why Software Projects Fail ?
– Not Enough Time (deadline date is decided before the project starts and is
non-negotiable)
– Insufficient Budget ("lowest price most successful candidate" policy)
– Poor Communication (communication with the customer, users, team)
– Never Reviewing Project Progress (ill milestone to check progress)
– Inadequate Testing (no intermediate test, test left until end life cycle, no
test under production environment)
– Lack of Quality Assurance (low quality product, unsatisfied customers)
– Not Conforming to Industry Standards (quality, procedure, etc.
standards)
7/2/23 HiLCoE 34
Introduction SW Projects …..
• Project success is measured with many success metrics (customer
satisfaction, cost and time/schedule performance, quality, ROI, employee
satisfaction, etc.)
• According to the survey made by a company called Wrike, (from 100%)
7/2/23 HiLCoE 35
Introduction SW Projects …..
SW Success & Project Overruns
61%
Project resolution results from CHAOS research for years 2004 to 2012.
7/2/23 HiLCoE 36
Introduction SW Projects …..
• Comparing Software Development Size (small<1 million USD,
large>10 million USD)
7/2/23 HiLCoE 37
Introduction SW Projects …..
• How to improve IT Project failure:- (some)
– Skilled team members in the project (~ 48%)
– Use methodology in the PM (like PMBoK, PRINCE, etc.)
– Qualified/Skilled project managers (knowledge and skill, leaders)
– Proper technology and tools (for testing and quality assurances,
etc.)
– Proper resource allocation and management (people, budget, etc.)
– Better risk identification and mitigation
7/2/23 HiLCoE 38
Introduction SW Projects …..
• Use methodology in the PM:-
7/2/23 HiLCoE 39
Introduction SW Projects …..
• With better skilled project managers and with better
management processes:-
– increase the success rate
– reduce the overruns (time & cost),
– increase % of features delivered
• Role of the Project Manager:-
– planning, scheduling,
– coordinating, and
– working with people to achieve project goals.
7/2/23 HiLCoE 40
Introduction SW Projects …..
• Suggested skills for Project Managers:-
– Communication skills: Listens, persuades.
– Organizational skills: Plans, sets goals, analyzes.
– Team-building skills: Shows empathy, motivates, promotes esprit de
corps.
– Leadership skills: Sets examples, provides vision (big picture),
delegates, positive, energetic.
– Coping skills: Flexible, creative, patient, persistent.
– Technology skills: Experience, project knowledge.
7/2/23 HiLCoE 41