Module-04 SEPM
Module-04 SEPM
)
                          R. L. JALAPPA INSTITUTE OF TECHNOLOGY
                 (Approved by AICTE, New Delhi, Affiliated to VTU, Belagavi & Accredited by NAAC “A” Grade)
                                       Kodigehalli, Doddaballapur- 561 203
                Department of CS&E (Artificial Intelligence & Machine Learning)
Module-04
Introduction
      All projects, including software projects, aim to meet specific objectives and
       satisfy real needs.
 Ensuring that these objectives are met is the primary aim of project management.
      Knowing the current state of the project is essential to predict whether it will meet
       its objectives in the future.
Definition of a Project:
                                                                                          P a g e 1 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Planning Emphasis:
      Most beneficial for activities that fall between routine and highly uncertain
       exploratory projects.
      There is a hazy boundary where the first instance of a routine task can resemble a
       project.
      Conversely, developing a system similar to previous ones can have significant
       routine elements.
                                                                                          P a g e 2 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Financial Stakes:
Consequences of Mismanagement:
      Poor management of ICT projects can lead to reduced funding for essential
       services like hospitals.
                                                                                        P a g e 3 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
                                                                                            P a g e 4 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
      Disadvantage: Expertise gained during the project may be lost when the team
       disbands at the project's end.
      Invisibility:
          o   Unlike physical artifacts (e.g., bridges), software progress is not
              immediately visible.
          o   Software project management involves making the invisible progress
              visible.
      Complexity:
          o   Software products are more complex per dollar/pound/euro spent compared
              to other engineered artifacts.
      Conformity:
          o   Traditional engineers work with consistent physical laws (e.g., cement and
              steel).
          o   Software developers must conform to the inconsistent requirements of
              human clients and organizations.
          o   Organizations can exhibit "organizational stupidity" due to lapses in
              memory, communication, or decision-making.
      Flexibility:
          o   Software's ease of change is a strength but also a challenge.
                                                                                       P a g e 5 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Contract Management
In-House Projects:
Outsourced Projects:
      The book primarily addresses the concerns of technical project managers on the
       supplier side.
                                                                                           P a g e 6 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Would you like more details on what those three processes typically involve, or any specific
details about Figure 1.2 if you have it?
The feasibility study and subsequent phases of project development are critical steps in
determining whether a project is worth pursuing and ensuring its successful execution.
Here's a structured overview based on the information provided:
Feasibility Study
      Purpose: To assess whether a project has a valid business case and is worth
       starting.
      Activities:
           o   Gather information about the requirements of the proposed application.
           o   Identify the aims of the stakeholders and determine the means to achieve
               them.
           o   Estimate developmental and operational costs.
           o   Evaluate the value of the benefits of the new system.
           o   For large systems, the feasibility study itself could be a separate project
               with its own plan.
           o   It could also be part of a strategic planning exercise examining a range of
               potential software developments.
           o   Assess a program of development that includes multiple projects.
                                                                                               P a g e 7 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Planning
      Initiation: Begins if the feasibility study indicates that the project is viable.
      Approach:
           o   Create an outline plan for the entire project.
           o   Develop a detailed plan for the first stage.
           o   Planning for later stages is postponed until more detailed and accurate
               information is available after the earlier stages are completed.
Project Execution
                                                                                           P a g e 8 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Understanding and properly executing these phases are essential for the successful
development and implementation of a project, ensuring that it meets stakeholder needs
and achieves its intended benefits.
Requirements Analysis
Start:
Purpose:
 Establish what potential users and their managers require of the new system.
Types of Requirements:
   1. Functional Requirements:
            o   What the system should do.
            o   Example: Dispatching an ambulance in response to an emergency call.
   2. Quality Requirements:
            o   How well the functions must work.
            o   Example: Transaction time affected by hardware, software performance,
                and human operation speed.
System Requirements:
                                                                                        P a g e 9 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Architecture Design
Purpose:
                                                                              P a g e 10 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Components:
Considerations:
Detailed Design
Purpose:
Process:
Integration
Purpose:
Process:
                                                                                     P a g e 11 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Qualification Testing
Purpose:
Process:
Installation
Purpose:
Activities:
Acceptance Support
Purpose:
Activities:
      Correct errors.
      Implement agreed extensions and improvements.
      Software maintenance as a series of minor software projects.
                                                                               P a g e 12 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Planning an Activity
Foundation:
      Method:
          o    Relates to a type of activity in general.
          o    Provides a systematic approach, e.g., steps to test software.
      Plan:
          o    Converts methods into real activities.
          o    Identifies details for each activity:
                       Start and end dates.
                       Responsible personnel.
                       Tools and materials needed, including information.
                                                                                 P a g e 13 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Interrelationship:
Purpose:
Categories
                                                                                         P a g e 14 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Outsourced Projects
Objective-Driven Development
                                                                                      P a g e 15 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Stakeholders
Categories of Stakeholders:
       o   Internal to the Project Team: Under direct managerial control of the project
           leader.
       o   External to the Project Team but within the Same Organization: For
           example, users assisting with system testing; requires negotiated commitment.
       o   External to Both the Project Team and the Organization: Includes
           customers or users benefiting from the system and contractors working on the
           project; relationships based on contracts.
Theory W: Proposed by Boehm and Ross, where the project manager aims to create win-
win situations for all parties involved.
                                                                                         P a g e 16 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Setting Objectives
1. Project Owners: Stakeholders who own the project control its financing and set the
   objectives.
2. Objectives Definition: Objectives define what the project team must achieve for
   project success and identify shared intentions among stakeholders.
3. Outcome Focused: Objectives focus on desired outcomes (post-conditions) rather
   than specific tasks.
      o   Example: "The project will be a success if customers can order our products
          online" vs. "to build an e-commerce website".
4. Multiple Routes to Success: There are often several ways to meet an objective,
   which is advantageous.
5. Project Authority: When multiple stakeholders claim project ownership, a project
   steering committee (or similar body) with overall authority is needed to set, monitor,
   and modify objectives.
6. Project Manager's Role: The project manager runs the project daily and reports
   regularly to the steering committee.
                                                                                        P a g e 17 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
SMART Objectives
Measures of Effectiveness
Business Case
Justification or Business Case
1. Purpose: Ensure that the effort and expense of the project are worthwhile in terms of
   eventual benefits.
2. Cost-Benefit Analysis: Part of the project's feasibility study that itemizes and
   quantifies costs and benefits.
                                                                                      P a g e 18 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
1. Control Development Costs: Ensure costs do not rise to a level that exceeds the
   value of benefits.
2. Maintain System Features: Do not reduce features to a level where expected
   benefits cannot be realized.
3. Adhere to Delivery Dates: Avoid delays that result in an unacceptable loss of
   benefits.
1. Ensuring Project Success: The project plan should aim to preserve the business case
   for the project.
2. Problems in Projects: Every non-trivial project will have problems, and stakeholders
   may have different views on success and failure.
Distinguishing Objectives
                                                                                        P a g e 19 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
1. Project Success: A project can be deemed successful if it meets its project objectives.
2. Business Failure: Despite meeting project objectives, the application might not meet
   the business case (e.g., a product doesn't sell, or a website isn't used).
3. Business Success: A project could be late and over budget, yet still be a business
   success if the deliverables generate long-term benefits that outweigh the costs.
1. Broader View: Incorporate business issues into project management (e.g., market
   surveys, competitor analysis, focus groups, prototyping, and evaluation by potential
   users).
2. Sequence of Projects: Recognize that projects are often part of a sequence, where
   technical skills and expertise developed in earlier projects benefit later ones.
Long-Term Benefits
1. Technical Learning: Increases costs on early projects but provides long-term benefits
   through quicker, cheaper, and more accurate deployment of learned technologies.
2. Reusable Assets: Additional software assets, such as reusable code, provide long-
   term value.
3. Customer Relationships: Building trust with clients over multiple projects can lead
   to repeat business, which is more cost-effective than acquiring new clients.
Outsourcing Considerations
                                                                                          P a g e 20 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
What is Management?
                                                                                      P a g e 21 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Project management is carried out over three well-defined stages, regardless of the
methodology used:
1. Project Initiation:
       o   Initial Planning: Undertaken immediately after the feasibility study and
           before starting requirements analysis and specification.
       o   Estimations: Estimating cost, duration, and effort.
       o   Scheduling: Developing schedules for manpower and resources based on
           estimations.
       o   Staffing: Organizing staff and making staffing plans.
       o   Risk Management: Identifying, analyzing, and planning to mitigate risks.
       o   Miscellaneous Plans: Creating quality assurance plans, configuration
           management plans, etc.
2. Project Execution:
       o   Monitoring: Tracking the progress of the project.
       o   Control: Taking corrective actions to ensure the project stays on track.
3. Project Closing:
       o   Completing all activities logically.
       o   Formally closing all contracts.
                                                                                       P a g e 22 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
   Initial project planning is crucial and occurs right after the feasibility study phase.
   Involves estimating project attributes such as cost, duration, and effort, which
    influence subsequent project activities.
   Regular revision of initial plans as the project progresses ensures alignment with the
    project's evolving requirements and constraints.
By focusing on planning, monitoring, and control, project managers aim to guide projects
to successful completion while adapting to changes and resolving issues as they arise.
Project planning is a critical responsibility of the project manager, involving several well-
defined activities.
These activities include estimation, scheduling, staffing, risk management, and creating
miscellaneous plans.
Estimation
                                                                                              P a g e 23 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
Scheduling
      Based on the estimations of effort and duration, schedules for manpower and other
       resources are developed.
Staffing
Risk Management
Miscellaneous Plans
After the initiation of development activities, project monitoring and control activities are
undertaken to ensure the project proceeds as planned. These activities involve:
                                                                                         P a g e 24 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
      As the project progresses, the project manager gains more detailed knowledge
       about the project, allowing for more accurate planning.
      The project parameters are periodically re-estimated, incorporating new
       information and changes in project conditions.
      This iterative process involves continuous feedback between monitoring, control,
       and plan revision activities, allowing the project manager to adjust subsequent
       activities with increasing confidence.
Management Control
Management control involves setting objectives for a system and monitoring its
performance. This process transforms raw data into useful information to guide decision-
making. Here's a breakdown:
   1. Setting Objectives:
          o   Establish clear goals for the system or project.
   2. Monitoring Performance:
                                                                                             P a g e 25 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
By following these steps, management can effectively control the system, ensuring it
meets its objectives and identifying areas that require attention or improvement.
                                                                                         P a g e 26 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
                                                                                         P a g e 27 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
         o    Managers must assess the impact of decisions carefully. While one branch
              might meet its deadline early, transferring staff could delay another branch.
3. Modeling Consequences:
         o    Various solutions are modeled to predict their impact before implementation.
              This ensures informed decision-making and minimizes risks.
4. Implementing Solutions:
         o    Once a decision is made, it’s crucial to implement it effectively.
5. Continuous Review and Adjustment:
         o    Progress is continually monitored and data processed to assess the
              effectiveness of implemented solutions.
         o    Adjustments are made as new information becomes available or circumstances
              change.
6. Dynamic Nature of Project Planning:
         o    Project plans are not static documents but evolve throughout the project
              lifecycle.
         o    While extensive planning is essential, successful project execution depends on
              adaptive management and intelligent decision-making.
1. Long-Term Planning:
     o       Projects were planned in detail upfront, often with extensive documentation and
             fixed requirements.
                                                                                              P a g e 28 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
                                                                                            P a g e 29 | 30
SOFTWARE ENGINEERING & PROJECT MANAGEMENT
   o   Projects are more flexible, allowing for continuous adaptation and adjustment
       based on evolving requirements and feedback.
3. Customer Engagement and Feedback:
   o   Customers are actively involved throughout the development process, with their
       feedback encouraged and incorporated iteratively.
   o   Incremental delivery models facilitate regular customer feedback loops, enabling
       continuous improvement and alignment with customer needs.
4. Enhanced Quality Management:
   o   Quality management is integrated throughout the development process, focusing
       on iterative improvement and customer satisfaction.
   o   Project managers play a crucial role in assessing project progress dynamically and
       ensuring quality in all intermediate artifacts.
5. Change Management (Configuration Management):
   o   Change management is integral to handling continuous customer feedback and
       evolving requirements.
   o   Version control and baseline management become essential to manage multiple
       iterations and versions of the product effectively.
P a g e 30 | 30