CS442
Software Project Management
Lecture 1
Dr. Riem Hamdi
riem.hamdi@must.edu.eg
List of References
Course notes
    Available on MOODLE.
Essential books (text books)
Ø   Object-Oriented Software Engineering Using UML, Patterns, and Java, 3/E, Bernd Bruegge, Adjunct, Carnegie
    Mellon University, Allen H. Dutoit, Technical University of Munich, Pressman; McGraw Hill Publications
Ø   Software Engineering, by Sommerville 10e; Pearson Publications
Recommended books
Ø   A Guide to Project Management Body on Knowledge, 3rd edition, publisher PMI Inc, USA
 Course Outline
• Hints for all facets of development, detailed project milestones and other deliverables to help
  one manage software better.
• Outline the traditional waterfall approach to software development.
• Changes for management when it comes to today’s iterative software processes.
• Project planning, project scheduling and tracking. an eye towards management (with
  emphasize on project estimation and planning), principles to managing software.
• Breakdown of tasks for project team that helps to maximize efficiently, Risk Analysis and
  management, Common pitfalls of managing software, Return on investment (ROI), Control of
  software costs, Improvement of team efficiency.
• Introduction to software Quality Assurance (SQA) and Configuration Management.
Intended Learning Outcome
a. Knowledge and Understanding Skills
1. Understand the Essential facts, concepts, principles and theories relating to computer
   applications as appropriate to the course. (A3)
2. Define Criteria and specifications appropriate to specific problems and plan strategies for
   their solution. (A4)
3. Identify Principals and techniques of generating tests which investigate the functionality of
   computer programs and computer systems and evaluating their results. (A15)
4. Describe management, economics, linguistic, and social principles relevant to computing
   and information disciplines. ( A9 )
• Outline principals and techniques for determining the requirements and practical constraints
  when developing computer-based systems.
a. Knowledge and Understanding Skills
1. Understand the Essential facts, concepts, principles and theories relating to computer
   applications as appropriate to the course. (A3)
2. Define Criteria and specifications appropriate to specific problems and plan strategies for
   their solution. (A4)
3. Identify Principals and techniques of generating tests which investigate the functionality of
   computer programs and computer systems and evaluating their results. (A15)
4. Describe management, economics, linguistic, and social principles relevant to computing
   and information disciplines. ( A9 )
• Outline principals and techniques for determining the requirements and practical constraints
  when developing computer-based systems.
b. Intellectual Skills
1. Solve computing problems and formulate solutions related to the design and
   construction of computing systems.
2. Create ideas, proposals and designs using rational and reasoned arguments for
   presentation of computing systems.
3. Report the current state of art research in a range of knowledge areas.
4. Compare between different methods, techniques, etc. related to project management.
• Apply the proposed solutions and interpret heir results.
c. Professional and Practical Skills
1. Examine a comprehensive computing knowledge and skills in projects and in deployment
   of computers to solve practical problems.
2. Analyze a mass of diverse data, assess risk, resolve security issues, and draw conclusions.
3. Sample effectively by oral, written and visual means.
4. Analyze technical reports, and a dissertation, to a professional standard; use IT skills and
   display mature computer literacy.
• summarize systems in terms of general quality attributes and possible tradeoffs presented
  within the given problem.
d. General and Transferable Skills
1.   Practice communication skills in group working, team management, time management and
     organizational skills.
2.   Manage an appropriate mix of tools and aids in preparing and presenting reports for a range of
     audiences, including management, technical, users, industry or the academic community.
3.   Apply lifelong learning presentation skills, public speaking skills, and delegation, writing/reporting
     skills, oral discussions, and effectively using various media for a variety of audiences.
4.   Show the ability to efficiently use general computing facilities and IT resources.
5.   Demonstrate independent critical thinking and problem-solving skills.
Course Learning Objectives
• Understanding project management concepts from both of the developer’s and
  project manager’s perspectives.
• Focus on project organization, communication and configuration.
• Project Planning, Project Scheduling and Tracking.
• An eye towards management (with emphasize on project estimation and
  planning).
• Principles to managing software development.
• Introduction to software Quality Assurance (SQA) and Configuration
  Management.
   Topics covered Contents
1. Introduction to Software    5. Configuration Management 9. Project Management
   Project Management             (activities & Managing      (Scheduling)
                                  Configuration Management)
2. Software Project Rational &                              10. Project Management
   Organization                6. Project management          (Classical and Agile project
                                  (conception & Models)       management activities)
3. Software Project
   Communication               7. Project management        11. Software Life Cycle
                                  (Work Breakdown Structures Processes
4. Configuration Management       - WBS)
   (Overview & concepts)                                    12.Quality Management
                               8. Project Management          Methodologies
                                  (Estimation)                (Putting it all together)
                                                                                             12
Course Contents
Wk: 01         Introduction to software project management
Wk: 02         CH 03: Project Organization and Communication
Wks: 03 - 05   CH 13 Configuration Management                     (CH25 Sommerville):
                            1.   An Overview of Configuration Management
                            2.   Configuration Management Concepts
                            3.   Configuration Management Activities
                            4.   Managing Configuration Management
Wk: 06         Exam #1
Wk: 07-08      CH 14: Project Management               (CH 22 Sommerville):
                            1.   Work break down structure
                            2.   Estimation
                            3.   Scheduling
                            4.   Project Organization
Wk: 09         CH 15: Software Life Cycle
                            1.   Standard for Developing Life Cycle Processes
                            2.   Characterizing the Maturity of Software Life Cycle Models
                            3.   Life Cycle Models
Wk: 10         CH 16: Methodologies: Putting It All Together
                            1.   Methodologies (Scrum)
                            2.   Scrum and XP
Wk: 11         Quality Management: SQA overview                       (CH 24 Sommerville)
Wk: 12         Exam #2
Wk: 13         Revision on all chapters, Q&A lecture
Wk: 14         Final practical presentations
Grading Breakdown
 § Two Exams [60 points]
    § Assignment contributions [5 points]
    § Exam #1& Exam #2 [25 points each]
 § Final Practical exam [30 points]
    § All details will be announced after Exam #1
 § Final written examination [60 Points]
Congratulations!
        You made it with an A*
Course Strategy
• Interactive lectures (contribution, you may be called on randomly to answer
  questions.)
• linking academic syllabus with the practical business cases
• The Lecture will end with a   Q? or assignment to be answered or
  presented by a student in following lecture.
• Course will move quickly.
• Each subject builds on previous ones. BE PUNCTUAL!
DEFINE
• Management
• Project
• Software
Dr. Riem M. Hamdi   CS 442 Software PM   Page 17
   “Software Project Management is
            the process of
planning and leading software projects.
        It is a sub-discipline of
          Project Management
    in which software projects are
planned, implemented, monitored and controlled.”
                                             Wikipedia
The course main objectives 1/3
• Explaining project management concepts from both of the developer’s and
  project manager’s perspectives.
• Creating communication infrastructure in the software project
• Managing different communication activities in the software project
• Rationale Management (concepts, activities, management) .
• Applying Configuration Management (overview, concepts, activities, plan,
  build, integration) in the software project.
The course main objectives 2/3
• Assess the software project costs by applying estimation principles and
  approaches.
• Construct software project scheduling (dependency diagrams, times of
  activities; critical path and slack times; project duration; how to live with a
  given deadline; optimization; rearrangement).
• Formulate software project organization (Different organization forms;
  Binding roles to people in organizations; Relationships between roles;
  Identifying people).
The course main objectives 3/3
• Analyze software project by applying the WBS concepts (work and tasks
  sizes; WBS; Different Approaches for developing; Notations; Heuristics and
  examples; Using WBS in large projects).
• Identifying Software Life Cycle and Unified Process (Standard for
  Developing Life Cycle Processes; Characterizing the Maturity of Software
  Life Cycle Models; Life Cycle Models).
• Compare software project management methodologies (concepts; documents;
  roles; activities).
 Object-Oriented Software Engineering
      Using UML, Patterns, and Java
An of Software Project Management
       An overview of Software Project Management
!!!!
       Goal                                                                Inspiration
       You can easily customize this goal template with your own
       information. To replace any placeholder text (such as this), just
       select it and enter your own.
       Actions/Tasks
       This week
!!!!                                                                       What does success look like?   Reward
       This month                                                          Resources
       Within 6 months                                                     Reflection
       Example Goal                                                     Inspiration
       Create and send applications for my seven top college choices,
       meeting all deadlines.
                                                                                                                 “I don't
                                                                                                                I'm up focus on wh
                                                                                                                       ag              a
                                                                                                                on my ainst. I focust
       Actions / tasks                                                                                                 goals a
                                                                                                                 to igno        n d
                                                                                                                         re the r I try
       This week                                                                                                  -Venus         est.”
                                                                                                                          William
       o Review application requirements for each school                                                                            s
       o Gather common information needed for all applications
!!!!   o Identify different specific requirements needed for each
         school
       o Create application schedule with deadlines, including
                                                                        What does success look like?
                                                                        All applications completed
                                                                                                            Reward
                                                                                                            Bike trip!
         financial aid dates
                                                                        and submitted on time.
       This month                                                       Resources
       o   Complete common/basic application portions                   •   Official test scores and grades
       o   Gather school-specific application information               •   Work/volunteer history, with dates and people
       o   Draft personal and school-specific essays                    •   Extracurricular activities
       o   Contact teachers and employers for recommendations           •   Recommendations
       o   Prepare information needed for financial aid applications    •   School Web sites and contact information
           and send by deadlines.                                       •   Financial aid sites and contact information
       Within 6 months                                                  Reflection
       o Complete personal and school-specific essays, including        * When it’s all over, reflect on the process and the outcome. *
         proofreading
       o Complete school-specific application portions
       o Follow-up on recommendations; send thank you notes
       o Submit applications by deadlines!
Quiz
List the five project management stages.