0% found this document useful (0 votes)
3 views

CS383Lecture6

Software engineering

Uploaded by

gogouu7
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

CS383Lecture6

Software engineering

Uploaded by

gogouu7
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

CS383 - Software Engineering

Software and Project Management

Semester: 461

Lecture: 6
Outline

● Project management

○ Manager duties

● Project planning

○ Software pricing, project scheduling, agile planning, estimation techniques

● People management

● Risk management

2
Software Project Management

● Coordinating and managing tasks and software engineers involved in a project

● Successful criteria for project management are

○ Deliver the software within agreed time

○ Keep overall costs of software and its development within budget

○ Deliver software that meets requirements specification

○ Maintain motivated, happy and well-functioning development team


3
Software management: managers’ duties

○ Planning:

■ Estimating costs and scheduling project development

■ Assign people to tasks

■ Monitor development progress and it is within agreed time and budget

■ Ensure work is carried out within standards

○ Reporting:

■ Report on the progress and write coherent document of critical information

○ Risk management:

■ Identify risk and assess them and then take actions when problems emerge

4
Software management: managers (cont.d)

○ People management:

■ Choose people to form teams

■ Identify ways of helping teams to lead to effective performance

○ Proposal writing (to win a contract to carry out an item of work):

■ Describe objectives and how they are carried out

■ Provide cost and schedule estimates with justifications

5
Project planning

● Project plan includes


○ Setting intermediate goals and milestones
○ Define tasks (breaking down problems into subproblems)
○ Scheduling tasks and estimate time and resources
■ Avoid delays by minimizing task dependencies

● The project management and plan must be documented in SPM

● There are tools support that facilitate project planning


○ Jira by atlassian, Smartsheet, Microsoft Project, Microsoft Planner,
Wrike, Nutcache 6
Project planning: ABHS example

● Consider developing software for Automated


Baggage Handling Systems
● Define milestones
○ Requirements specifications
○ System architecture and design (including
any subcomponents design)
○ Prototype 1: Baggage check-in
○ Prototype 2: Baggage routing
○ Prototype 3: Staff scheduling
○ Integrated System
● These milestones can have initial delivery
fixed dates

7
Project planning (cont.d)

● The plan, therefore, normally includes:


○ Introduction: description about the objectives and constraints (time,
budget)
○ Project organization: describe the arrangement of development
team and their roles
○ Risk analysis: identify risks and reduction strategies to manage them
○ Resource requirements: specifies the hardware and support
software required for development
○ Work breakdown: divide the work into activities and milestones
○ Project schedule: shows the dependencies between activities, the
estimate time of each milestone/deliverable, and people allocation
for each activity.
8
Project planning (cont.d)

● Typical project scheduling process

● Where possible, tasks should be self-contained (why?)

9
Project planning (cont.d)

● Example of a project schedule chart: T means task, and M means milestone


● You can also include people involved for each task. Eg. T3 (Mohammad,
Khalid, ...)

10
Project planning: estimation techniques

● There are two types of techniques can be used for effort estimation

1. Experience-based techniques: use manager’s experience of past

projects and application domains to predict the effort required.

● There are drawbacks of Experience-based techniques type:


○ Software project may not have much in common with previous
project
○ If strong experience unavailable, then, calculating effort
become hard and not accurate as possible.

11
Project planning: estimation techniques

2. Algorithmic cost modeling: formulaic approach to compute effort based on


estimates of project attributes: size, process characteristic, and the staff involved
(experience and skills).

● Algorithmic models for estimating effort in a software project are mostly


based on a simple formula:

Effort = A x SizeB x M, where:

● A: constant factor depends on organizational practices and type of software


● Size: either assessment of code size, functionality estimation, or application
points
● B: size and complexity of the system (lies between 1 and 1.5)
● M: multiplier of combining process, product and development attributes
(e.g., dependability requirements and experience of the development team)
12
Project planning: estimation techniques

● Nevertheless, initial estimation of any project are not 100% accurate


(why?)
○ Because no empirical data is available to make the estimation
○ The actual estimation was found vary by 0.25 to 4.00 of initial
estimates.
■ Eg. if initial estimation is x, then the actual estimation range
from 0.25x to 4x.
● Project estimation becomes more and more accurate as the project
progress.

13
Project planning: software pricing

● Software pricing is proposing to the customer the costs of completing the


project
○ Estimate of effort is requirement to complete each activity
○ Then, calculate the cost based on that and finally the price to the
customer
● There are parameters that should be use when calculating the costs
○ Effort costs
■ The costs of paying software engineers and managers
○ Hardware and software costs including maintenance
○ Travel and training cost

● Software pricing can be influenced by type of organization

○ economic, political, business, education, etc 14


Project planning: software pricing (cont.d)

● Thera are also other factors affecting software pricing:


○ Market opportunity
■ Quote a low price just to move into a new segment of the software
market, gain experience and to be known. Profit can be gained later.
○ Contractual terms:
■ Customer is willing to allow developing company to retain ownership
of the software code, that can be used later for similar kind of
applications.
○ Requirements volatility:
■ Requirements are likely to be changed, and therefore, you may propose
lower price at the start. Charge later when requirements change.
○ Financial health:
■ Developers may propose low price because financial difficulty.
15
● Cash flow is better than profit in financially bad times
People management

● Project manager should consider four factors in people management

○ Consistence: members should feel that their contributions are valued

fairly.

○ Respect: manager should respect everyone regardless of their diverse

skill-set

○ Inclusion: members should feel that others are listen to them and

appreciate their contribution whatsoever

○ Honesty: manager should always be honest


16
People management (cont.d)

● The successful manager ensures that the group

○ Works effectively

○ Has the resources needed

○ Is well-motivated

○ Has no misunderstanding

○ Group meets its goal

17
People management: teamwork

● Software is developed by project teams.

● Large software projects should not be tackled by a single large team (why?)

○ Risk of spent time in communication than development


○ Managing a single large team is hard: loose tracking of tasks and their completion

● Small programming teams (less than 10 members) have a number of benefits:

○ Less communication problems


○ Easy to form cohesive team
○ Quality standard can be developed
○ Members work together closely
○ Team members get to know each others
○ Refactoring and continual improvement can be easy encouraged

18
Team communication

● Team members who need a regular communication

○ Status meetings: know about the project’s

status and progress

○ At least on weekly basis

● All means of communication are recommended

○ On-site meetings are usually very effective

○ Alternative: email, virtual meetings,

telephones, formal documents ,etc.

19
Project management: meetings

● Group leader must organize successful meetings:


○ Meetings clear purpose and objective
○ Stick to the clear purpose: ensure no stray from objectives
○ Provide meeting agenda: list of issues to discuss
○ Time frame: meeting should starts and ends in defined times
○ Provide minutes: any decision made in the meeting should be
documented

● There are two types of meeting


○ Status meetings
○ Action meetings

20
Project management: status meetings

● Bring participants up-to-date on other peoples portions of the


project
○ A short status of report and circulate it

● Agenda should include written reports from people on the work


they are responsible for.
○ New business should be kept to a minimum. your individual
status report

● Status meetings are typically short: ten to fifteen minutes


○ So make sure everybody has read reports before meeting!

21
Project management: action meetings
1. Brainstorming session

○ Craft variety of possible solutions to a particular problem


○ Idea of one person often inspires ideas in other people
○ A group can produce more creative ideas than a single person
○ Don’t throw an idea away too soon
■ They may have good properties you want to exploit or stimulate other
ideas
○ People have to be encouraged to put their ideas forward:
■ Never dismiss or criticize a suggestion (until a separate evaluation phase
later)
■ Before starting a new idea of your own
● restate what the previous speaker said to their satisfaction.
● find at least one good thing to say about the previous idea.
○ At the end of a brainstorming session, the ideas must be evaluated 22
Project management: action meetings

2. Decision-making meetings

○ These meetings are fairly rare


○ Decision usually falls under one person’s area of authority and
there is no need to agree on something
○ Sometimes a decision is not clear-cut and the decision maker
wants suggestions or advice from those affected by the decision
○ A common type of decision-making meeting involves choosing
between several alternatives
○ Participants need to be familiar with the alternatives before the
meeting

23
Project Control

● Monitor the process and activities against the


plan
○ Take corrections when there is deviation
from plan
○ Realistic plan is important so that
corrections are minimum
○ Adding people into a behind schedule
project will delay it further (why?)

● It is usual that the project plan evolves as the project progress (why?)
○ Expect that time allocations are going to adjusted
■ Very important to keep accurate records of your time spent on tasks.
24
Risk management

● It involves anticipating risks that may affect the project schedule or the quality of
project
● There are three categories of risks (they can overlap):

○ Project related: affect schedule or resources.

■ Eg. essential hardware for the project will not be delivered on time

○ Product related: affect the quality or performance of the product

■ Eg. the size of the system has been underestimated (affect project and

product)

○ Business related: affect the organization developing the software

■ Eg. a competitive product is marketed before the current system is completed

25
Risk management (cont.d)

● Risk management process

26
Risk management: example 1

● Risk identification: organizational financial problems force reductions


in the project budget.

● Risk analysis:
■ Probability: very low, low, moderate, high, very high
■ Impact: catastrophic, serious, tolerable, insignificant

● Risk planning:
○ Prepare a briefing document for senior management showing how
the project is making a very important contribution to the goals of
the business and presenting reasons why cuts to the project budget
would not be cost-effective.

27
Risk management: example 2

● Risk identification: key staff is ill and unavailable at critical times in the
project

● Risk analysis:
■ Probability: very low, low, moderate, high, very high
■ Impact: catastrophic, serious, tolerable, insignificant

● Risk planning:
○ Reorganize team so that there is more overlap of work and people
therefore understand each other’s jobs.

28
Risk management: example 3

● Risk identification: it is hard to recruit staff with the required skill-set for
the project.

● Risk analysis:
■ Probability: very low, low, moderate, high, very high
■ Impact: catastrophic, serious, tolerable, insignificant

● Risk planning:
○ Alert customer to potential difficulties and the possibility of delays;
investigate buying-in components.

29

You might also like