Management Issues in Software Development - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Management Issues in Software Development

Description:

... by the candidates. Information gained by interviewing and talking with candidates. ... Extreme programming groups are are informal, democratic organisations. ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 42
Provided by: ITS8153
Category:

less

Transcript and Presenter's Notes

Title: Management Issues in Software Development


1
Management Issues in Software Development
  • By Shichao Lei
  • Base on Software Engineering
  • By Ian Sommerville

2
Why is management important?
  • Management is an important part of Software
    Engineering
  • Many projects fail because of poor management
  • Good management can significantly improve
    software development.

3
Topics covered
  • Project Management
  • Management activities
  • Project planning
  • Project scheduling
  • Risk management
  • People Management
  • Selecting staff
  • Motivating people
  • Managing groups
  • The people capability maturity model

4
Software management distinctions
  • The product is intangible
  • There are no standard software process
  • Large software projects are often 'one-off'
    projects

5
Management activities
  • ?? Proposal writing
  • ?? Project cost
  • ?? Project planning and scheduling
  • ?? Project monitoring and reviews
  • ?? Personnel selection and evaluation
  • ?? Report writing and presentations

6
Project staffing
  • Project budget may not allow for the use of
    highly-paid staff
  • Staff with the appropriate experience may not be
    available
  • An organization may wish to develop employee
    skills on a software project

7
Project planning
  • Effective management of a software project
    depends on thoroughly planning.
  • Continuous activity throughout the project.
  • Plans must be regularly revised as new
    information becomes available

8
Milestones and deliverables
  • Milestones are the end-point of a process
    activity
  • Deliverables are project products delivered to
    customers

9
Milestones and deliverables
10
Project scheduling
  • Divide project into parts and estimate time
    required to complete each task
  • Organize tasks to make optimal use of workforce
  • Minimize task dependencies to avoid delays
  • Dependent on project managers intuition and
    experience

11
Scheduling problems
  • Estimating the difficulty of problems and 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.

12
Bar charts and activity networks
  • Activity charts show task dependencies and the
    critical path
  • Bar charts show schedule against calendar time

13
Task durations and dependencies
14
Activity network
15
Activity timeline
16
Staff allocation
17
Risk management
  • Risk management is one of the main jobs of
    project managers
  • Types of Risks
  • Project risks
  • Product risks
  • Business risks

18
Process of Risk Management
  • Risk identification
  • Risk analysis
  • Risk planning
  • Risk monitoring

19
Managing people
  • People are an organisations most important
    assets.
  • People is the intellectual capital.
  • Poor people management often cause project
    failure.

20
People management factors
  • Consistency
  • Respect
  • Inclusion
  • Honesty

21
Selecting staff
  • Information that decision base on
  • Information provided by the candidates.
  • Information gained by interviewing and talking
    with candidates.
  • Recommendations and comments from other people
    who know or who have worked with the candidates.

22
Motivating people
  • An important role of a manager is to motivate the
    people working on a project.
  • Motivation is a complex issue but it appears that
    their are different types of motivation based on
  • Basic needs
  • Personal needs
  • Social needs

23
Human needs hierarchy
24
Need satisfaction
  • Social
  • Provide communal facilities
  • Allow informal communications.
  • Esteem
  • Recognition of achievements
  • Appropriate rewards.
  • Self-realization
  • Training - people want to learn more
  • Responsibility.

25
Personality types
  • The needs hierarchy is often over-simplified in
    practice.
  • Motivation should also take into account
    different personality types
  • Task-oriented
  • Self-oriented
  • Interaction-oriented.

26
Personality types
  • Task-oriented.
  • Motivated by the work they do
  • Self-oriented.
  • Motivated by individual goals - e.g. to get rich,
    to play tennis, to travel etc
  • Interaction-oriented
  • Motivated by the presence and actions of
    co-workers.

27
Managing groups
  • Most software projects is developed by project
    team.
  • Group interaction is a key factor that determine
    group performance.
  • Group composition has limited flexibility.

28
Factors influencing group working
  • Group composition.
  • Group cohesiveness.
  • Group communications.
  • Group organisation.

29
Group composition
  • An effective group should have a balance of all
    types.
  • This can be difficult to achieve software
    engineers are often task-oriented.
  • Interaction-oriented people are very important as
    they can detect and defuse tensions.

30
Group leadership
  • Leadership depends on respect not status.
  • There may be both a technical and an
    administrative leader.
  • Democratic leadership is more effective that
    autocratic leadership.

31
Group cohesiveness
  • In a cohesive group, members consider the group
    to be more important than any individual in it.

32
The advantages of cohesive group
  • Group quality standards can be developed
  • Group members work closely together so
    inhibitions caused by ignorance are reduced
  • Team members learn from each other and get to
    know each others work
  • Egoless programming where members strive to
    improve each others programs can be practised.

33
Group communications
  • Information must be exchanged on the status of
    work
  • Good communications also strengthens group
    cohesion

34
Group communications
  • Group size
  • Group structure
  • Group composition
  • The physical work environment

35
Group organisation
  • Small software engineering groups are usually
    organised informally without a rigid structure.
  • For large projects, there may be a hierarchical
    structure where different groups are responsible
    for different sub-projects.

36
Informal groups
  • The group acts as a whole
  • The group leader serves as the external interface
    of the group but does not allocate specific work
    items.
  • This approach is successful for groups where all
    members are experienced and competent.

37
Extreme programming groups
  • Extreme programming groups are are informal,
    democratic organisations.
  • Some management decisions are devolved to group
    members.
  • Programmers work in pairs

38
Working environments
  • The physical workplace
  • Comfort
  • Privacy
  • Facilities.
  • Health and safety considerations
  • Lighting
  • Heating
  • Furniture.

39
Environmental factors
  • Privacy - each engineer requires an area for
    uninterrupted work.
  • Outside awareness - people prefer to work in
    natural light.
  • Personalization - individuals adopt different
    working practices and like to organize their
    environment in different ways.

40
Workspace organisation
  • Workspaces should provide private spaces
  • Work areas that teams can work and discuss
    together are also required

41
  • Thank you!
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com