SlideShare a Scribd company logo
1 of 70
Download to read offline
1Chapter 22 Project management
 Software pricing
 Plan-driven development
 Project scheduling
 Agile planning
 Estimation techniques
 Project planning involves breaking down the work into
parts and assign these to project team members,
anticipate problems that might arise and prepare
tentative solutions to those problems.
 The project plan, which is created at the start of a
project, is used to communicate how the work will be
done to the project team and customers, and to help
assess progress on the project.
 At the proposal stage, when you are bidding for a
contract to develop or provide a software system.
 During the project startup phase, when you have to plan
who will work on the project, how the project will be
broken down into increments, how resources will be
allocated across your company, etc.
 Periodically throughout the project, when you modify
your plan in the light of experience gained and
information from monitoring the progress of the work.
 Planning may be necessary with only outline software
requirements.
 The aim of planning at this stage is to provide
information that will be used in setting a price for the
system to customers.
Chapter 22 Project management 6
 Estimates are made to discover the cost, to the
developer, of producing a software system.
 You take into account, hardware, software, travel, training
and effort costs.
 There is not a simple relationship between the
development cost and the price charged to the customer.
 Broader organisational, economic, political and business
considerations influence the price charged.
Factor Description
Market opportunity A development organization may quote a low price because
it wishes to move into a new segment of the software
market. Accepting a low profit on one project may give the
organization the opportunity to make a greater profit later.
The experience gained may also help it develop new
products.
Cost estimate
uncertainty
If an organization is unsure of its cost estimate, it may
increase its price by a contingency over and above its
normal profit.
Contractual terms A customer may be willing to allow the developer to retain
ownership of the source code and reuse it in other projects.
The price charged may then be less than if the software
source code is handed over to the customer.
Factor Description
Requirements volatility If the requirements are likely to change, an organization
may lower its price to win a contract. After the contract is
awarded, high prices can be charged for changes to the
requirements.
Financial health Developers in financial difficulty may lower their price to
gain a contract. It is better to make a smaller than normal
profit or break even than to go out of business. Cash flow
is more important than profit in difficult economic times.
Chapter 22 Project management 10
 Plan-driven or plan-based development is an approach
to software engineering where the development process
is planned in detail.
 Plan-driven development is based on engineering project
management techniques and is the ‘traditional’ way of
managing large software development projects.
 A project plan is created that records the work to be
done, who will do it, the development schedule and the
work products.
 Managers use the plan to support project decision
making and as a way of measuring progress.
 The arguments in favor of a plan-driven approach are
that early planning allows organizational issues
(availability of staff, other projects, etc.) to be closely
taken into account, and that potential problems and
dependencies are discovered before the project starts,
rather than once the project is underway.
 The principal argument against plan-driven development
is that many early decisions have to be revised because
of changes to the environment in which the software is to
be developed and used.
 In a plan-driven development project, a project plan sets
out the resources available to the project, the work
breakdown and a schedule for carrying out the work.
 Plan sections
 Introduction
 Project organization
 Risk analysis
 Hardware and software resource requirements
 Work breakdown
 Project schedule
 Monitoring and reporting mechanisms
Plan Description
Quality plan Describes the quality procedures and standards that
will be used in a project.
Validation plan Describes the approach, resources, and schedule used
for system validation.
Configuration management plan Describes the configuration management procedures
and structures to be used.
Maintenance plan Predicts the maintenance requirements, costs, and
effort.
Staff development plan Describes how the skills and experience of the project
team members will be developed.
 Project planning is an iterative process that starts when
you create an initial project plan during the project
startup phase.
 Plan changes are inevitable.
 As more information about the system and the project
team becomes available during the project, you should
regularly revise the plan to reflect requirements, schedule
and risk changes.
 Changing business goals also leads to changes in project
plans. As business goals change, this could affect all
projects, which may then have to be re-planned.
Chapter 22 Project management 17
 Project scheduling is the process of deciding how the
work in a project will be organized as separate tasks,
and when and how these tasks will be executed.
 You estimate the calendar time needed to complete each
task, the effort required and who will work on the tasks
that have been identified.
 You also have to estimate the resources needed to
complete each task, such as the disk space required on
a server, the time required on specialized hardware,
such as a simulator, and what the travel budget will be.
 Split project into tasks and estimate time and resources
required to complete each task.
 Organize tasks concurrently to make optimal
use of workforce.
 Minimize task dependencies to avoid delays
caused by one task waiting for another to complete.
 Dependent on project managers intuition and
experience.
 Milestones are points in the schedule against which you
can assess progress, for example, the handover of the
system for testing.
 Deliverables are work products that are delivered to the
customer, e.g. a requirements document for the system.
 Estimating the difficulty of problems and hence the cost
of developing a solution is hard.
 Productivity is not proportional to the number of people
working on a task.
 Adding people to a late project makes it later because of
communication overheads.
 The unexpected always happens. Always allow
contingency in planning.
 Graphical notations are normally used to illustrate the
project schedule.
 These show the project breakdown into tasks. Tasks
should not be too small. They should take about a week
or two.
 Bar charts are the most commonly used representation
for project schedules. They show the schedule as
activities or resources against time.
Task Effort (person-
days)
Duration (days) Dependencies
T1 15 10
T2 8 15
T3 20 15 T1 (M1)
T4 5 10
T5 5 10 T2, T4 (M3)
T6 10 5 T1, T2 (M4)
T7 25 20 T1 (M1)
T8 75 25 T4 (M2)
T9 10 15 T3, T6 (M5)
T10 20 15 T7, T8 (M6)
T11 10 10 T9 (M7)
T12 20 10 T10, T11 (M8)
Chapter 22 Project management 27
 Agile methods of software development are iterative
approaches where the software is developed and
delivered to customers in increments.
 Unlike plan-driven approaches, the functionality of these
increments is not planned in advance but is decided
during the development.
 The decision on what to include in an increment depends
on progress and on the customer’s priorities.
 The customer’s priorities and requirements change so it
makes sense to have a flexible plan that can
accommodate these changes.
 Release planning, which looks ahead for several months
and decides on the features that should be included in a
release of a system.
 Iteration planning, which has a shorter term outlook, and
focuses on planning the next increment of a system. This
is typically 2-4 weeks of work for the team.
 The system specification in XP is based on user stories that reflect
the features that should be included in the system.
 The project team read and discuss the stories and rank them in
order of the amount of time they think it will take to implement the
story.
 Release planning involves selecting and refining the stories that will
reflect the features to be implemented in a release of a system and
the order in which the stories should be implemented.
 Stories to be implemented in each iteration are chosen, with the
number of stories reflecting the time to deliver an iteration (usually 2
or 3 weeks).
 The price charged for a system does not just depend on its
estimated development costs; it may be adjusted depending on the
market and organizational priorities.
 Plan-driven development is organized around a complete project
plan that defines the project activities, the planned effort, the activity
schedule and who is responsible for each activity.
 Project scheduling involves the creation of graphical representations
the project plan. Bar charts show the activity duration and staffing
timelines, are the most commonly used schedule representations.
 The XP planning game involves the whole team in project planning.
The plan is developed incrementally and, if problems arise, is
adjusted. Software functionality is reduced instead of delaying
delivery of an increment.
Chapter 22 Project management 33
 Process Measures
 Time, effort, cost
 Productivity
 Earned value
 Fault, failure, change
 Product Measures
 Functionality (FP)
 Size
 Price
 Modularity
 Other ..
Software System (Functions & Quality)
Calendar time Cost
No notion of unpredictable events here
Failure, Fault
LOC, FP
 Days, weeks, months, on calendar
 Virtual, from project start
 Month1, month2, … etc
 Typically used in planning
 Actual
 September 12
 Typically used in controlling
 Time taken by staff to complete a task
 Depends on calendar time and on people employed
 Measured in person hours (IEEE 1045)
 person day, person month, person year depend on
national and corporation parameters
 Converts in cost
 Staff cost = person hours * cost per hour
 1 person works 6 hours  6 ph
 2 persons work 3 hour  6 ph
 6 persons work 1 hour  6ph
 Always linked
 Mathematical link. 6 ph can last
 6 calendar hours if 1 person works
 3 calendar hours if 2 persons work in parallel
 1 calendar hour if 6 persons work in parallel
 Practical constraint
 Is it feasible?
 One woman makes a baby in 9 months
 9 women make a baby in one month?
 Cost to user
 acquisition, maintenance, normal operation, initial
operation (training, overheads)
 Cost to vendor
 Staff
• Person hour * cost per hour
 W / wout overheads
 hardware, software
 offices, telephone, ...
 Upfront costs
 market analysis, feasibility studies
 development costs
 maintenance costs
 Hardware (target platform)
 Hardware (development platform)
 Personnel (by far main cost in most cases)
 salaries, office space, travel ..
 Technical
 administrative
 Estimates are made to discover the cost, to the
developer, of producing a software system
 There is not a simple relationship between the
development cost and the price charged to the customer
 Broader organizational, economic, political and business
considerations influence the price charged
 Of source code
 LOC (Lines of Code)
 Of documents
 Number of pages
 Number of words, characters, figures, tables
 Of entire project
 Function points (see later)
 LOC
• In this case LOCs virtually include all documents (non code)
produced in the application
• Ex. project produces 10 documents (1000 pages) and 1000
LOCs. By convention project size is 1000 LOCs
 What to count
 w/wout comments
 w/wout declarations
 w/wout blank lines
 What to include or exclude
 Libraries, calls to services etc
 Reused components
 Comparison for different languages not meaningful
 C vs Java? Java vs C++? C vs ASM?
 Output/effort
 What is output in software?
 Size/effort = LOC / effort
 Functionality/effort = FP/effort
 Object Points / effort
 The lower level the language, the more productive the
programmer
 The same functionality takes more code to implement in a
lower-level language than in a high-level language
 The more verbose the programmer, the higher the
productivity
 Measures of productivity based on lines of code suggest
that programmers who write verbose code are more
productive than programmers who write compact code
 Real-time embedded systems, 40- 160 LOC/P-month
 Systems programs , 150-400 LOC / P-month
 Commercial applications, 200-800 LOC/P-month
 Source: Sommerville
 All metrics based on size/effort are flawed because they
do not take quality into account
 Productivity may generally be increased at the cost of
quality
 It is not clear how productivity/quality metrics are related
 If change is constant then an approach based on
counting lines of code is not meaningful
 Failure
 malfunction perceived by the user
 Fault
 Defect in the system, may cause failure or not
 Data to collect
 calendar time, project time, execution time
 effect (bad data, loss of data, ...)
 location (product type, id)
 gravity (human injury, economic loss, ..)
 user profile
 related fault(s)
 Measures
 classification, count per class
 average time intervals
 Measures
 n open failures
 duration/effort to close a failure
 n failures discovered per V & V activity
 fault/failure density
• faults/failures per module
• faults/failures per fp
• faults/failures per loc
 changes per document
 Good: <1fault/1KLOC
 Bad: >10fault/1KLOC
 Faults found in operation, 12 months after release
 Prerelease:
 10-30 fault/1KLOC
 Factor 10 between pre and post release
Chapter 22 Project management 57
 Once a process model is finalized for a software development,
software project management begins with a set of activities that are
collectively called Project Planning.
 Project planning encompasses five major activities
 Estimation
 Scheduling
 Risk analysis
 Quality Management planning
 Change Management planning
 Before the project can begin, the software team should estimate
 Cost for the work to be done
 Resources required,
 Time that will elapse from start to finish
Chapter 22 Project management 58
 Estimation for a software engineering requires
 Experience
 Access to good historical information (metrics from past
projects)
 Courage to commit to quantitative predictions when
qualitative information exists.
 Factors that affect reliability of estimation
 Project Complexity
 Project Size
 Degree of structural uncertainty
Chapter 22 Project management 59
 Past (Similar) project experience
 Base estimation on similar previous projects if the customer
business conditions, the software engineering environment,
deadlines are roughly equivalent.
 Conventional estimation – Decomposition Techniques
 Task breakdown and effort estimates
 Size (e.g. of Code (LOC), Function Point (FP)) estimates.
 Empirical Models
 Uses empirically derived formulas to predict effort as a function
of Lines of Codes or Function Point or Object Point
 Automated Tools
 Used to implement a specific empirical model
Chapter 22 Project management 60
 Since EEM reflects the population of projects from which it
has been derived, this model is domain sensitive.
 Structure of Estimation Models
𝑬 = 𝑨 + 𝑩 ∗ 𝒆 𝒗
𝑪
 Where 𝐴, 𝐵, 𝐶 are empirically derived constants
 𝐸: is effort in Person-Months
 𝑒 𝑣: is the estimation variable (either LOC or FP or OP)
 Majority of estimation models have some form of project
adjustment component that enables E to be adjusted by other
project characteristics (e.g., Problems Complexity, Staff
Experience, development environment)
Chapter 22 Project management 62
 COnstructive COst MOdel – II by Barry Boehm
 Application Composition model: used during the early
stages software engineering.
 Early design stage model: used once requirements have
been stabilized and basic software architecture has been
established.
 Post-Architecture-stage model: used during the
construction of the software.
 The sizing information followed by this model is the
indirect software measure object points.
Chapter 22 Project management 63
 Object Points is computed using counts of the number of
 Screens (at the user interface)
 Reports
 Components likely to be required to build the application.
 Each object instance (e.g., a screen or report) is classified into
one of three complexity levels (i.e., Simple, Medium, or Difficult).
 In essence, complexity is a function of
 Number and source of the client and server data tables that are
required to generate the screen or report.
 Number of views or sections presented as part of the screen or
report.
Chapter 22 Project management 64
 Once complexity is determined, the number of screen, reports,
components are weighted according to following table.
 The object point count is then determined by multiplying the original
number of object instances by the weighting factor in the figure and
summing to obtain a total object point count.
 When component based development or general software reuse is
to be applied, the percent of reuse (%reuse) is estimated and the
object point count is adjusted:
𝑁𝑂𝑃 = 𝑜𝑏𝑗𝑒𝑐𝑡 𝑝𝑜𝑖𝑛𝑡𝑠 ∗ [(100 − %𝑟𝑒𝑢𝑠𝑒)/100]
 Where NOP is defined as new object points 65
Object Type
Complexity Weight
Simple Medium Difficult
Screens 1 2 3
Reports 2 5 8
3GL Component 10
 Now the estimate of project effort is computed as follows
𝑬𝒔𝒕𝒊𝒎𝒂𝒕𝒆𝒅 𝑬𝒇𝒇𝒐𝒓𝒕 =
𝑵𝑶𝑷
𝑷𝑹𝑶𝑫
 Productivity rate can be derived from following table based on
developer experience and organization maturity:
Chapter 22 Project management 66
Developer’s Experience/capability Very low Low Normal High Very High
Environment maturity/capability Very low Low Normal High Very High
PROD 4 7 13 25 50
 Use COCOMO-II model to estimate the effort required to build
software for a simple ATM that produces 12 screen, 10
reports, and will require approximately 80% as new software
components. Assume average complexity and average
developer/environment maturity. Use the application
composition model with object point
 Given
Chapter 22 Project management 67
Object Count Complexity Weight Factor Total Objects
Screen 12 Simple 1 12
Report 10 Simple 2 20
3GL Components 0 N/A N/A 0
Total Objects Points: 32
 It is given that 80% of components have to be newly
developed. So remaining 20% can be reused.
 Now compute new object points as
 𝑵𝑶𝑷 = 𝒐𝒃𝒋𝒆𝒄𝒕 𝒑𝒐𝒊𝒏𝒕𝒔 ∗ [(𝟏𝟎𝟎 − %𝒓𝒆𝒖𝒔𝒆)/𝟏𝟎𝟎]
 𝑵𝑶𝑷 = 𝟑𝟐 ∗ [(𝟏𝟎𝟎 − 𝟐𝟎)/𝟏𝟎𝟎]
 𝑵𝑶𝑷 = 𝟐𝟓. 𝟔 𝒐𝒃𝒋𝒆𝒄𝒕 𝒑𝒐𝒊𝒏𝒕𝒔
 Since productivity is average, we can assume PROD = 13
 Hence,
 effort = NOP/PROD = 25.6 / 13 = 1.96 person-months
Chapter 22 Project management 68
 Estimation techniques for software may be experience-
based, where managers judge the effort required, or
algorithmic, where the effort required is computed from
other estimated project parameters.
 The COCOMO II costing model is an algorithmic cost
model that uses project, product, hardware and
personnel attributes as well as product size and
complexity attributes to derive a cost estimate.
Chapter 22 Project management 70

More Related Content

What's hot

Software project management Software economics
Software project management Software economicsSoftware project management Software economics
Software project management Software economicsREHMAT ULLAH
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
 
Software project planning
Software project planningSoftware project planning
Software project planningrajvir_kaur
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimationKanchana Devi
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)Priya Tomar
 
Programming team structure
Programming team structureProgramming team structure
Programming team structureNancyBeaulah_R
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - StaffingTanishqRongta1
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimationumair khan
 
Software Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project ManagementSoftware Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project ManagementAhsan Rahim
 
SDPM - Lecture 9 - Managing people and organizing teams
SDPM - Lecture 9 - Managing people and organizing teamsSDPM - Lecture 9 - Managing people and organizing teams
SDPM - Lecture 9 - Managing people and organizing teamsOpenLearningLab
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software EngineeringMuhammad Yousuf Abdul Qadir
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)Syed Muhammad Hammad
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project ManagementReetesh Gupta
 
Software management renaissance
Software management renaissanceSoftware management renaissance
Software management renaissanceKuppusamy P
 
SPM Activity Planning Introduction
SPM Activity Planning IntroductionSPM Activity Planning Introduction
SPM Activity Planning IntroductionKanchana Devi
 
Project control and process instrumentation
Project control and process instrumentationProject control and process instrumentation
Project control and process instrumentationKuppusamy P
 

What's hot (20)

Software project management Software economics
Software project management Software economicsSoftware project management Software economics
Software project management Software economics
 
Spm unit 1
Spm unit 1Spm unit 1
Spm unit 1
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Software project planning
Software project planningSoftware project planning
Software project planning
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 
Spm software effort estimation
Spm software effort estimationSpm software effort estimation
Spm software effort estimation
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - Staffing
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimation
 
Software Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project ManagementSoftware Project Management | An Overview of the Software Project Management
Software Project Management | An Overview of the Software Project Management
 
SDPM - Lecture 9 - Managing people and organizing teams
SDPM - Lecture 9 - Managing people and organizing teamsSDPM - Lecture 9 - Managing people and organizing teams
SDPM - Lecture 9 - Managing people and organizing teams
 
And or graph
And or graphAnd or graph
And or graph
 
Software project management- Software Engineering
Software project management- Software EngineeringSoftware project management- Software Engineering
Software project management- Software Engineering
 
Software design
Software designSoftware design
Software design
 
Software Project Management( lecture 1)
Software Project Management( lecture 1)Software Project Management( lecture 1)
Software Project Management( lecture 1)
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Software management renaissance
Software management renaissanceSoftware management renaissance
Software management renaissance
 
SPM Activity Planning Introduction
SPM Activity Planning IntroductionSPM Activity Planning Introduction
SPM Activity Planning Introduction
 
Project control and process instrumentation
Project control and process instrumentationProject control and process instrumentation
Project control and process instrumentation
 

Viewers also liked

Planning And Project Management
Planning And Project ManagementPlanning And Project Management
Planning And Project ManagementST. JAMES COLLEGE
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machinesAmr E. Mohamed
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignAmr E. Mohamed
 
SE2_Lec 16_ Software Design
SE2_Lec 16_ Software DesignSE2_Lec 16_ Software Design
SE2_Lec 16_ Software DesignAmr E. Mohamed
 
SE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of EthicsSE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of EthicsAmr E. Mohamed
 
Project Planning Basics - Everything you need to start managing a project
Project Planning Basics - Everything you need to start managing a projectProject Planning Basics - Everything you need to start managing a project
Project Planning Basics - Everything you need to start managing a projectKeely Killpack, PhD
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesAmr E. Mohamed
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentAmr E. Mohamed
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1Amr E. Mohamed
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsAmr E. Mohamed
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementAmr E. Mohamed
 
Dsp foehu lec 01 - signals and systems
Dsp foehu   lec 01 - signals and systemsDsp foehu   lec 01 - signals and systems
Dsp foehu lec 01 - signals and systemsAmr E. Mohamed
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelAmr E. Mohamed
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsAmr E. Mohamed
 
SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsAmr E. Mohamed
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringAmr E. Mohamed
 
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsDSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsAmr E. Mohamed
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationAmr E. Mohamed
 

Viewers also liked (20)

Planning And Project Management
Planning And Project ManagementPlanning And Project Management
Planning And Project Management
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machines
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural Design
 
SE2_Lec 16_ Software Design
SE2_Lec 16_ Software DesignSE2_Lec 16_ Software Design
SE2_Lec 16_ Software Design
 
SE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of EthicsSE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of Ethics
 
Project Planning Basics - Everything you need to start managing a project
Project Planning Basics - Everything you need to start managing a projectProject Planning Basics - Everything you need to start managing a project
Project Planning Basics - Everything you need to start managing a project
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use Cases
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project Management
 
Dsp foehu lec 01 - signals and systems
Dsp foehu   lec 01 - signals and systemsDsp foehu   lec 01 - signals and systems
Dsp foehu lec 01 - signals and systems
 
SE2_Lec 18_ Coding
SE2_Lec 18_ CodingSE2_Lec 18_ Coding
SE2_Lec 18_ Coding
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 
Project planning and project work plan
Project planning and project work planProject planning and project work plan
Project planning and project work plan
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle Models
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software Enginerring
 
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsDSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and Specification
 

Similar to Project management planning and scheduling techniques

SE18_Lec 13_ Project Planning
SE18_Lec 13_ Project PlanningSE18_Lec 13_ Project Planning
SE18_Lec 13_ Project PlanningAmr E. Mohamed
 
Chapter7 database management system.pptx
Chapter7 database management system.pptxChapter7 database management system.pptx
Chapter7 database management system.pptxMohammedNouh7
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9Ian Sommerville
 
7 Project planning for software engineering.pptx
7 Project planning for software engineering.pptx7 Project planning for software engineering.pptx
7 Project planning for software engineering.pptxgezaegebre1
 
Lecture6
Lecture6Lecture6
Lecture6soloeng
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Managementghayour abbas
 
Software project scheduling
Software project schedulingSoftware project scheduling
Software project schedulinglokareminakshi
 
Project mangement part 1
Project mangement part 1Project mangement part 1
Project mangement part 1ghulam MUSTAFA
 
Scope and Time Management
Scope and Time ManagementScope and Time Management
Scope and Time ManagementSabrinaScott22
 
Software Project Management (SPM)
Software Project Management (SPM)Software Project Management (SPM)
Software Project Management (SPM)RubySaud
 
Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality planKittitouch Suteeca
 

Similar to Project management planning and scheduling techniques (20)

SE18_Lec 13_ Project Planning
SE18_Lec 13_ Project PlanningSE18_Lec 13_ Project Planning
SE18_Lec 13_ Project Planning
 
Ch23
Ch23Ch23
Ch23
 
Chapter7 database management system.pptx
Chapter7 database management system.pptxChapter7 database management system.pptx
Chapter7 database management system.pptx
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 
MIS Project management
MIS Project managementMIS Project management
MIS Project management
 
7 Project planning for software engineering.pptx
7 Project planning for software engineering.pptx7 Project planning for software engineering.pptx
7 Project planning for software engineering.pptx
 
Computing Project
Computing Project Computing Project
Computing Project
 
Lecture6
Lecture6Lecture6
Lecture6
 
SWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project ManagementSWE-401 - 3. Software Project Management
SWE-401 - 3. Software Project Management
 
Software project scheduling
Software project schedulingSoftware project scheduling
Software project scheduling
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 
Project Scheduling
Project SchedulingProject Scheduling
Project Scheduling
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 
Software
SoftwareSoftware
Software
 
Project mangement part 1
Project mangement part 1Project mangement part 1
Project mangement part 1
 
Project management
Project managementProject management
Project management
 
Scope and Time Management
Scope and Time ManagementScope and Time Management
Scope and Time Management
 
Software Project Management (SPM)
Software Project Management (SPM)Software Project Management (SPM)
Software Project Management (SPM)
 
Pep
PepPep
Pep
 
Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality plan
 

More from Amr E. Mohamed

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingAmr E. Mohamed
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systemsAmr E. Mohamed
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transformAmr E. Mohamed
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systemsAmr E. Mohamed
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignDSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignAmr E. Mohamed
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)Amr E. Mohamed
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsAmr E. Mohamed
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - IntroductionAmr E. Mohamed
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)Amr E. Mohamed
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformDSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsAmr E. Mohamed
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsAmr E. Mohamed
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignAmr E. Mohamed
 

More from Amr E. Mohamed (20)

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systems
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transform
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systems
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
 
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignDSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformDSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital Filters
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-Transform
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
 

Recently uploaded

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

Project management planning and scheduling techniques

  • 1. 1Chapter 22 Project management
  • 2.  Software pricing  Plan-driven development  Project scheduling  Agile planning  Estimation techniques
  • 3.  Project planning involves breaking down the work into parts and assign these to project team members, anticipate problems that might arise and prepare tentative solutions to those problems.  The project plan, which is created at the start of a project, is used to communicate how the work will be done to the project team and customers, and to help assess progress on the project.
  • 4.  At the proposal stage, when you are bidding for a contract to develop or provide a software system.  During the project startup phase, when you have to plan who will work on the project, how the project will be broken down into increments, how resources will be allocated across your company, etc.  Periodically throughout the project, when you modify your plan in the light of experience gained and information from monitoring the progress of the work.
  • 5.  Planning may be necessary with only outline software requirements.  The aim of planning at this stage is to provide information that will be used in setting a price for the system to customers.
  • 6. Chapter 22 Project management 6
  • 7.  Estimates are made to discover the cost, to the developer, of producing a software system.  You take into account, hardware, software, travel, training and effort costs.  There is not a simple relationship between the development cost and the price charged to the customer.  Broader organisational, economic, political and business considerations influence the price charged.
  • 8. Factor Description Market opportunity A development organization may quote a low price because it wishes to move into a new segment of the software market. Accepting a low profit on one project may give the organization the opportunity to make a greater profit later. The experience gained may also help it develop new products. Cost estimate uncertainty If an organization is unsure of its cost estimate, it may increase its price by a contingency over and above its normal profit. Contractual terms A customer may be willing to allow the developer to retain ownership of the source code and reuse it in other projects. The price charged may then be less than if the software source code is handed over to the customer.
  • 9. Factor Description Requirements volatility If the requirements are likely to change, an organization may lower its price to win a contract. After the contract is awarded, high prices can be charged for changes to the requirements. Financial health Developers in financial difficulty may lower their price to gain a contract. It is better to make a smaller than normal profit or break even than to go out of business. Cash flow is more important than profit in difficult economic times.
  • 10. Chapter 22 Project management 10
  • 11.  Plan-driven or plan-based development is an approach to software engineering where the development process is planned in detail.  Plan-driven development is based on engineering project management techniques and is the ‘traditional’ way of managing large software development projects.  A project plan is created that records the work to be done, who will do it, the development schedule and the work products.  Managers use the plan to support project decision making and as a way of measuring progress.
  • 12.  The arguments in favor of a plan-driven approach are that early planning allows organizational issues (availability of staff, other projects, etc.) to be closely taken into account, and that potential problems and dependencies are discovered before the project starts, rather than once the project is underway.  The principal argument against plan-driven development is that many early decisions have to be revised because of changes to the environment in which the software is to be developed and used.
  • 13.  In a plan-driven development project, a project plan sets out the resources available to the project, the work breakdown and a schedule for carrying out the work.  Plan sections  Introduction  Project organization  Risk analysis  Hardware and software resource requirements  Work breakdown  Project schedule  Monitoring and reporting mechanisms
  • 14. Plan Description Quality plan Describes the quality procedures and standards that will be used in a project. Validation plan Describes the approach, resources, and schedule used for system validation. Configuration management plan Describes the configuration management procedures and structures to be used. Maintenance plan Predicts the maintenance requirements, costs, and effort. Staff development plan Describes how the skills and experience of the project team members will be developed.
  • 15.  Project planning is an iterative process that starts when you create an initial project plan during the project startup phase.  Plan changes are inevitable.  As more information about the system and the project team becomes available during the project, you should regularly revise the plan to reflect requirements, schedule and risk changes.  Changing business goals also leads to changes in project plans. As business goals change, this could affect all projects, which may then have to be re-planned.
  • 16.
  • 17. Chapter 22 Project management 17
  • 18.  Project scheduling is the process of deciding how the work in a project will be organized as separate tasks, and when and how these tasks will be executed.  You estimate the calendar time needed to complete each task, the effort required and who will work on the tasks that have been identified.  You also have to estimate the resources needed to complete each task, such as the disk space required on a server, the time required on specialized hardware, such as a simulator, and what the travel budget will be.
  • 19.  Split project into tasks and estimate time and resources required to complete each task.  Organize tasks concurrently to make optimal use of workforce.  Minimize task dependencies to avoid delays caused by one task waiting for another to complete.  Dependent on project managers intuition and experience.
  • 20.  Milestones are points in the schedule against which you can assess progress, for example, the handover of the system for testing.  Deliverables are work products that are delivered to the customer, e.g. a requirements document for the system.
  • 21.
  • 22.  Estimating the difficulty of problems and hence the cost of developing a solution is hard.  Productivity is not proportional to the number of people working on a task.  Adding people to a late project makes it later because of communication overheads.  The unexpected always happens. Always allow contingency in planning.
  • 23.  Graphical notations are normally used to illustrate the project schedule.  These show the project breakdown into tasks. Tasks should not be too small. They should take about a week or two.  Bar charts are the most commonly used representation for project schedules. They show the schedule as activities or resources against time.
  • 24. Task Effort (person- days) Duration (days) Dependencies T1 15 10 T2 8 15 T3 20 15 T1 (M1) T4 5 10 T5 5 10 T2, T4 (M3) T6 10 5 T1, T2 (M4) T7 25 20 T1 (M1) T8 75 25 T4 (M2) T9 10 15 T3, T6 (M5) T10 20 15 T7, T8 (M6) T11 10 10 T9 (M7) T12 20 10 T10, T11 (M8)
  • 25.
  • 26.
  • 27. Chapter 22 Project management 27
  • 28.  Agile methods of software development are iterative approaches where the software is developed and delivered to customers in increments.  Unlike plan-driven approaches, the functionality of these increments is not planned in advance but is decided during the development.  The decision on what to include in an increment depends on progress and on the customer’s priorities.  The customer’s priorities and requirements change so it makes sense to have a flexible plan that can accommodate these changes.
  • 29.  Release planning, which looks ahead for several months and decides on the features that should be included in a release of a system.  Iteration planning, which has a shorter term outlook, and focuses on planning the next increment of a system. This is typically 2-4 weeks of work for the team.
  • 30.
  • 31.  The system specification in XP is based on user stories that reflect the features that should be included in the system.  The project team read and discuss the stories and rank them in order of the amount of time they think it will take to implement the story.  Release planning involves selecting and refining the stories that will reflect the features to be implemented in a release of a system and the order in which the stories should be implemented.  Stories to be implemented in each iteration are chosen, with the number of stories reflecting the time to deliver an iteration (usually 2 or 3 weeks).
  • 32.  The price charged for a system does not just depend on its estimated development costs; it may be adjusted depending on the market and organizational priorities.  Plan-driven development is organized around a complete project plan that defines the project activities, the planned effort, the activity schedule and who is responsible for each activity.  Project scheduling involves the creation of graphical representations the project plan. Bar charts show the activity duration and staffing timelines, are the most commonly used schedule representations.  The XP planning game involves the whole team in project planning. The plan is developed incrementally and, if problems arise, is adjusted. Software functionality is reduced instead of delaying delivery of an increment.
  • 33. Chapter 22 Project management 33
  • 34.  Process Measures  Time, effort, cost  Productivity  Earned value  Fault, failure, change  Product Measures  Functionality (FP)  Size  Price  Modularity  Other ..
  • 35. Software System (Functions & Quality) Calendar time Cost No notion of unpredictable events here Failure, Fault LOC, FP
  • 36.  Days, weeks, months, on calendar  Virtual, from project start  Month1, month2, … etc  Typically used in planning  Actual  September 12  Typically used in controlling
  • 37.  Time taken by staff to complete a task  Depends on calendar time and on people employed  Measured in person hours (IEEE 1045)  person day, person month, person year depend on national and corporation parameters  Converts in cost  Staff cost = person hours * cost per hour
  • 38.  1 person works 6 hours  6 ph  2 persons work 3 hour  6 ph  6 persons work 1 hour  6ph
  • 39.  Always linked  Mathematical link. 6 ph can last  6 calendar hours if 1 person works  3 calendar hours if 2 persons work in parallel  1 calendar hour if 6 persons work in parallel  Practical constraint  Is it feasible?  One woman makes a baby in 9 months  9 women make a baby in one month?
  • 40.  Cost to user  acquisition, maintenance, normal operation, initial operation (training, overheads)  Cost to vendor  Staff • Person hour * cost per hour  W / wout overheads  hardware, software  offices, telephone, ...
  • 41.  Upfront costs  market analysis, feasibility studies  development costs  maintenance costs
  • 42.  Hardware (target platform)  Hardware (development platform)  Personnel (by far main cost in most cases)  salaries, office space, travel ..  Technical  administrative
  • 43.  Estimates are made to discover the cost, to the developer, of producing a software system  There is not a simple relationship between the development cost and the price charged to the customer  Broader organizational, economic, political and business considerations influence the price charged
  • 44.  Of source code  LOC (Lines of Code)  Of documents  Number of pages  Number of words, characters, figures, tables
  • 45.  Of entire project  Function points (see later)  LOC • In this case LOCs virtually include all documents (non code) produced in the application • Ex. project produces 10 documents (1000 pages) and 1000 LOCs. By convention project size is 1000 LOCs
  • 46.  What to count  w/wout comments  w/wout declarations  w/wout blank lines  What to include or exclude  Libraries, calls to services etc  Reused components  Comparison for different languages not meaningful  C vs Java? Java vs C++? C vs ASM?
  • 47.  Output/effort  What is output in software?  Size/effort = LOC / effort  Functionality/effort = FP/effort  Object Points / effort
  • 48.  The lower level the language, the more productive the programmer  The same functionality takes more code to implement in a lower-level language than in a high-level language  The more verbose the programmer, the higher the productivity  Measures of productivity based on lines of code suggest that programmers who write verbose code are more productive than programmers who write compact code
  • 49.
  • 50.
  • 51.  Real-time embedded systems, 40- 160 LOC/P-month  Systems programs , 150-400 LOC / P-month  Commercial applications, 200-800 LOC/P-month  Source: Sommerville
  • 52.  All metrics based on size/effort are flawed because they do not take quality into account  Productivity may generally be increased at the cost of quality  It is not clear how productivity/quality metrics are related  If change is constant then an approach based on counting lines of code is not meaningful
  • 53.  Failure  malfunction perceived by the user  Fault  Defect in the system, may cause failure or not
  • 54.  Data to collect  calendar time, project time, execution time  effect (bad data, loss of data, ...)  location (product type, id)  gravity (human injury, economic loss, ..)  user profile  related fault(s)  Measures  classification, count per class  average time intervals
  • 55.  Measures  n open failures  duration/effort to close a failure  n failures discovered per V & V activity  fault/failure density • faults/failures per module • faults/failures per fp • faults/failures per loc  changes per document
  • 56.  Good: <1fault/1KLOC  Bad: >10fault/1KLOC  Faults found in operation, 12 months after release  Prerelease:  10-30 fault/1KLOC  Factor 10 between pre and post release
  • 57. Chapter 22 Project management 57
  • 58.  Once a process model is finalized for a software development, software project management begins with a set of activities that are collectively called Project Planning.  Project planning encompasses five major activities  Estimation  Scheduling  Risk analysis  Quality Management planning  Change Management planning  Before the project can begin, the software team should estimate  Cost for the work to be done  Resources required,  Time that will elapse from start to finish Chapter 22 Project management 58
  • 59.  Estimation for a software engineering requires  Experience  Access to good historical information (metrics from past projects)  Courage to commit to quantitative predictions when qualitative information exists.  Factors that affect reliability of estimation  Project Complexity  Project Size  Degree of structural uncertainty Chapter 22 Project management 59
  • 60.  Past (Similar) project experience  Base estimation on similar previous projects if the customer business conditions, the software engineering environment, deadlines are roughly equivalent.  Conventional estimation – Decomposition Techniques  Task breakdown and effort estimates  Size (e.g. of Code (LOC), Function Point (FP)) estimates.  Empirical Models  Uses empirically derived formulas to predict effort as a function of Lines of Codes or Function Point or Object Point  Automated Tools  Used to implement a specific empirical model Chapter 22 Project management 60
  • 61.
  • 62.  Since EEM reflects the population of projects from which it has been derived, this model is domain sensitive.  Structure of Estimation Models 𝑬 = 𝑨 + 𝑩 ∗ 𝒆 𝒗 𝑪  Where 𝐴, 𝐵, 𝐶 are empirically derived constants  𝐸: is effort in Person-Months  𝑒 𝑣: is the estimation variable (either LOC or FP or OP)  Majority of estimation models have some form of project adjustment component that enables E to be adjusted by other project characteristics (e.g., Problems Complexity, Staff Experience, development environment) Chapter 22 Project management 62
  • 63.  COnstructive COst MOdel – II by Barry Boehm  Application Composition model: used during the early stages software engineering.  Early design stage model: used once requirements have been stabilized and basic software architecture has been established.  Post-Architecture-stage model: used during the construction of the software.  The sizing information followed by this model is the indirect software measure object points. Chapter 22 Project management 63
  • 64.  Object Points is computed using counts of the number of  Screens (at the user interface)  Reports  Components likely to be required to build the application.  Each object instance (e.g., a screen or report) is classified into one of three complexity levels (i.e., Simple, Medium, or Difficult).  In essence, complexity is a function of  Number and source of the client and server data tables that are required to generate the screen or report.  Number of views or sections presented as part of the screen or report. Chapter 22 Project management 64
  • 65.  Once complexity is determined, the number of screen, reports, components are weighted according to following table.  The object point count is then determined by multiplying the original number of object instances by the weighting factor in the figure and summing to obtain a total object point count.  When component based development or general software reuse is to be applied, the percent of reuse (%reuse) is estimated and the object point count is adjusted: 𝑁𝑂𝑃 = 𝑜𝑏𝑗𝑒𝑐𝑡 𝑝𝑜𝑖𝑛𝑡𝑠 ∗ [(100 − %𝑟𝑒𝑢𝑠𝑒)/100]  Where NOP is defined as new object points 65 Object Type Complexity Weight Simple Medium Difficult Screens 1 2 3 Reports 2 5 8 3GL Component 10
  • 66.  Now the estimate of project effort is computed as follows 𝑬𝒔𝒕𝒊𝒎𝒂𝒕𝒆𝒅 𝑬𝒇𝒇𝒐𝒓𝒕 = 𝑵𝑶𝑷 𝑷𝑹𝑶𝑫  Productivity rate can be derived from following table based on developer experience and organization maturity: Chapter 22 Project management 66 Developer’s Experience/capability Very low Low Normal High Very High Environment maturity/capability Very low Low Normal High Very High PROD 4 7 13 25 50
  • 67.  Use COCOMO-II model to estimate the effort required to build software for a simple ATM that produces 12 screen, 10 reports, and will require approximately 80% as new software components. Assume average complexity and average developer/environment maturity. Use the application composition model with object point  Given Chapter 22 Project management 67 Object Count Complexity Weight Factor Total Objects Screen 12 Simple 1 12 Report 10 Simple 2 20 3GL Components 0 N/A N/A 0 Total Objects Points: 32
  • 68.  It is given that 80% of components have to be newly developed. So remaining 20% can be reused.  Now compute new object points as  𝑵𝑶𝑷 = 𝒐𝒃𝒋𝒆𝒄𝒕 𝒑𝒐𝒊𝒏𝒕𝒔 ∗ [(𝟏𝟎𝟎 − %𝒓𝒆𝒖𝒔𝒆)/𝟏𝟎𝟎]  𝑵𝑶𝑷 = 𝟑𝟐 ∗ [(𝟏𝟎𝟎 − 𝟐𝟎)/𝟏𝟎𝟎]  𝑵𝑶𝑷 = 𝟐𝟓. 𝟔 𝒐𝒃𝒋𝒆𝒄𝒕 𝒑𝒐𝒊𝒏𝒕𝒔  Since productivity is average, we can assume PROD = 13  Hence,  effort = NOP/PROD = 25.6 / 13 = 1.96 person-months Chapter 22 Project management 68
  • 69.  Estimation techniques for software may be experience- based, where managers judge the effort required, or algorithmic, where the effort required is computed from other estimated project parameters.  The COCOMO II costing model is an algorithmic cost model that uses project, product, hardware and personnel attributes as well as product size and complexity attributes to derive a cost estimate.
  • 70. Chapter 22 Project management 70