1
Module1 Continue..
■ Software & Software Engineering
Reference
Software Engineering: A Practitioner’s Approach, 7/e
by Roger S. Pressman
2
Software Process
A software process is a structured set of
activities required to develop, maintain, and
manage software products.
It defines what to do and how to do it during
software development.
It is the roadmap followed by the development
team to produce high-quality software in a
predictable and efficient way.
A software process is a systematic approach
that guides software development from idea to
deployment and maintenance, ensuring quality,
cost-effectiveness, and timely delivery.
3
Main Activities in Software Process
Communication (Requirements Engineering)
Understand the problem.Collect requirements from
stakeholders.
Prepare SRS (Software Requirement Specification).
Planning
Define scope, resources, schedule, and cost.
Risk analysis and management.
Project management plan prepared.
Modeling (Design),Architectural design: overall structure.
Data design: database and data flow.Interface design: UI/UX.
Component design: algorithms and logic.
Construction (Coding & Testing)
Writing source code according to design.Unit testing,
integration testing, and system testing.
Deployment Deliver software to end-users.
Collect feedback.Maintenance and updates.
4
Characteristics of a Good Software Process
Repeatable – can be used for different projects.
Predictable – produces expected results.
Efficient – uses resources wisely.
Quality-oriented – ensures reliable and maintainable
products.
Popular Software Process Models
■Waterfall Model – Linear and sequential.
■Incremental Model – Developed in parts
(increments).
■Spiral Model – Risk-driven, iterative.
■Agile Models – Iterative, adaptive,
customer-focused.
■V-Model – Testing-oriented extension of
waterfall.
6
Agile Development
Agile Development is a software development
approach that emphasizes:
Iterative development (small releases instead
of one big release).
Customer collaboration (continuous feedback).
Flexibility to change (adapts to new
requirements quickly).
Working software over documentation (focus
on delivering value).
It was introduced formally in the Agile
Manifesto (2001), which outlined core values
and principles.
7
Principles of Agile
Development
■Deliver working software frequently (every
few weeks).
■Welcome changing requirements, even late
in development.
■Close, daily collaboration between business
and developers.
■Build projects around motivated individuals.
■Continuous attention to technical excellence
and good design.
■Regularly reflect and adapt process for
improvement.
8
Agile Process (How it Works)
■Project divided into iterations
■Each iteration includes:
■ Requirement gathering (from customer).
■ Design + Coding.
■ Testing + Feedback.
■ Delivery of a small working product.
■Customer reviews the iteration provides
→
feedback changes are incorporated in the
→
next cycle.
■This cycle continues until the final product is
ready.
Popular Agile Models / Frameworks
■Scrum – uses sprints, roles (Product Owner,
Scrum Master, Development Team).
■Extreme Programming (XP) – focuses on
coding practices like pair programming,
continuous integration.
■Kanban – visual task management with
boards and cards.
■Lean Software Development – focuses on
reducing waste and improving flow.
Advantages of Agile
■Fast delivery of working software.
■High customer satisfaction.
■Flexible to changing requirements.
■Encourages teamwork and communication.
■Reduced risk due to early and continuous
testing.
Disadvantages of Agile
■Requires constant customer involvement.
■Difficult to estimate cost and time at the
start.
■Not suitable for very large, complex
projects without experienced teams.
Agile Development is a flexible, iterative
approach that focuses on early delivery,
customer collaboration, and adaptability
to change.
Extreme Programming (XP)
■Extreme Programming (XP) is an Agile
software development methodology that
focuses on:
■Customer satisfaction
■Frequent releases
■High-quality code
■Embracing changing requirements
It was developed by Kent Beck in the late
1990s, mainly for projects with rapidly
changing requirements.
Advantages of XP
■High customer satisfaction (continuous
involvement).
■Better code quality due to TDD, refactoring,
and pair programming.
■Rapid adaptation to changing
requirements.
■Frequent releases reduce risk.
Disadvantages of XP
■Requires very skilled developers.
■Pair programming and TDD may increase
initial development cost.
■Continuous customer involvement may not
always be possible.
■Not suitable for very large, distributed
teams.
15
What do you mean by a frame work activity ?
In Software Engineering, a framework activity refers to the basic,
umbrella-level activities that are common to most software development
processes, regardless of the specific model (like Waterfall, Agile, Spiral,
etc.).
They provide a structured set of steps that guide the overall
development of software. These activities remain the same across
projects, though their implementation may vary.
Main Framework Activities:
Communication – Gathering requirements and interacting with
stakeholders to understand needs.
Planning – Estimating resources, scheduling tasks, and managing risks.
Modeling – Creating design representations (data models, architectural
models, etc.).
Construction – Coding and testing the software product.
Deployment – Delivering the product to users, getting feedback, and
maintaining it.
Framework activities are the high-level building blocks of the
software process that ensure systematic development.
16
Umbrella activities?
Activities that run across all framework activities to support and improve the software
process.
■ These are not one-time steps, but ongoing tasks that apply throughout the project
lifecycle:
■ Software Project Tracking and Control – Monitoring project progress, making
adjustments to stay on schedule and budget.
■ Risk Management – Identifying, analyzing, and reducing risks that may affect
project success.
■ Software Quality Assurance (SQA) – Ensuring standards, processes, and quality
guidelines are followed.
■ Formal Technical Reviews – Conducting structured reviews of requirements,
design, and code to detect errors early.
■ Measurement and Metrics – Collecting data to evaluate process and product
quality.
■ Software Configuration Management (SCM) – Handling changes to software,
version control, and maintaining consistency.
■ Reusability Management – Identifying and using reusable components to reduce
cost and effort.
■ Work Product Preparation and Production – Documentation, reports, and other
deliverables created along the way.
17
Umbrella
Activities
■ Software project management
■ Formal technical reviews
■ Software quality assurance
■ Software configuration management
■ Work product preparation and
production
■ Reusability management
■ Measurement
■ Risk management
Thank You…
■Next-Software Project Management

SE_Agile_Framework_Activities.pptxhhbbbbj

  • 1.
    1 Module1 Continue.. ■ Software& Software Engineering Reference Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman
  • 2.
    2 Software Process A softwareprocess is a structured set of activities required to develop, maintain, and manage software products. It defines what to do and how to do it during software development. It is the roadmap followed by the development team to produce high-quality software in a predictable and efficient way. A software process is a systematic approach that guides software development from idea to deployment and maintenance, ensuring quality, cost-effectiveness, and timely delivery.
  • 3.
    3 Main Activities inSoftware Process Communication (Requirements Engineering) Understand the problem.Collect requirements from stakeholders. Prepare SRS (Software Requirement Specification). Planning Define scope, resources, schedule, and cost. Risk analysis and management. Project management plan prepared. Modeling (Design),Architectural design: overall structure. Data design: database and data flow.Interface design: UI/UX. Component design: algorithms and logic. Construction (Coding & Testing) Writing source code according to design.Unit testing, integration testing, and system testing. Deployment Deliver software to end-users. Collect feedback.Maintenance and updates.
  • 4.
    4 Characteristics of aGood Software Process Repeatable – can be used for different projects. Predictable – produces expected results. Efficient – uses resources wisely. Quality-oriented – ensures reliable and maintainable products.
  • 5.
    Popular Software ProcessModels ■Waterfall Model – Linear and sequential. ■Incremental Model – Developed in parts (increments). ■Spiral Model – Risk-driven, iterative. ■Agile Models – Iterative, adaptive, customer-focused. ■V-Model – Testing-oriented extension of waterfall.
  • 6.
    6 Agile Development Agile Developmentis a software development approach that emphasizes: Iterative development (small releases instead of one big release). Customer collaboration (continuous feedback). Flexibility to change (adapts to new requirements quickly). Working software over documentation (focus on delivering value). It was introduced formally in the Agile Manifesto (2001), which outlined core values and principles.
  • 7.
    7 Principles of Agile Development ■Deliverworking software frequently (every few weeks). ■Welcome changing requirements, even late in development. ■Close, daily collaboration between business and developers. ■Build projects around motivated individuals. ■Continuous attention to technical excellence and good design. ■Regularly reflect and adapt process for improvement.
  • 8.
    8 Agile Process (Howit Works) ■Project divided into iterations ■Each iteration includes: ■ Requirement gathering (from customer). ■ Design + Coding. ■ Testing + Feedback. ■ Delivery of a small working product. ■Customer reviews the iteration provides → feedback changes are incorporated in the → next cycle. ■This cycle continues until the final product is ready.
  • 9.
    Popular Agile Models/ Frameworks ■Scrum – uses sprints, roles (Product Owner, Scrum Master, Development Team). ■Extreme Programming (XP) – focuses on coding practices like pair programming, continuous integration. ■Kanban – visual task management with boards and cards. ■Lean Software Development – focuses on reducing waste and improving flow.
  • 10.
    Advantages of Agile ■Fastdelivery of working software. ■High customer satisfaction. ■Flexible to changing requirements. ■Encourages teamwork and communication. ■Reduced risk due to early and continuous testing.
  • 11.
    Disadvantages of Agile ■Requiresconstant customer involvement. ■Difficult to estimate cost and time at the start. ■Not suitable for very large, complex projects without experienced teams. Agile Development is a flexible, iterative approach that focuses on early delivery, customer collaboration, and adaptability to change.
  • 12.
    Extreme Programming (XP) ■ExtremeProgramming (XP) is an Agile software development methodology that focuses on: ■Customer satisfaction ■Frequent releases ■High-quality code ■Embracing changing requirements It was developed by Kent Beck in the late 1990s, mainly for projects with rapidly changing requirements.
  • 13.
    Advantages of XP ■Highcustomer satisfaction (continuous involvement). ■Better code quality due to TDD, refactoring, and pair programming. ■Rapid adaptation to changing requirements. ■Frequent releases reduce risk.
  • 14.
    Disadvantages of XP ■Requiresvery skilled developers. ■Pair programming and TDD may increase initial development cost. ■Continuous customer involvement may not always be possible. ■Not suitable for very large, distributed teams.
  • 15.
    15 What do youmean by a frame work activity ? In Software Engineering, a framework activity refers to the basic, umbrella-level activities that are common to most software development processes, regardless of the specific model (like Waterfall, Agile, Spiral, etc.). They provide a structured set of steps that guide the overall development of software. These activities remain the same across projects, though their implementation may vary. Main Framework Activities: Communication – Gathering requirements and interacting with stakeholders to understand needs. Planning – Estimating resources, scheduling tasks, and managing risks. Modeling – Creating design representations (data models, architectural models, etc.). Construction – Coding and testing the software product. Deployment – Delivering the product to users, getting feedback, and maintaining it. Framework activities are the high-level building blocks of the software process that ensure systematic development.
  • 16.
    16 Umbrella activities? Activities thatrun across all framework activities to support and improve the software process. ■ These are not one-time steps, but ongoing tasks that apply throughout the project lifecycle: ■ Software Project Tracking and Control – Monitoring project progress, making adjustments to stay on schedule and budget. ■ Risk Management – Identifying, analyzing, and reducing risks that may affect project success. ■ Software Quality Assurance (SQA) – Ensuring standards, processes, and quality guidelines are followed. ■ Formal Technical Reviews – Conducting structured reviews of requirements, design, and code to detect errors early. ■ Measurement and Metrics – Collecting data to evaluate process and product quality. ■ Software Configuration Management (SCM) – Handling changes to software, version control, and maintaining consistency. ■ Reusability Management – Identifying and using reusable components to reduce cost and effort. ■ Work Product Preparation and Production – Documentation, reports, and other deliverables created along the way.
  • 17.
    17 Umbrella Activities ■ Software projectmanagement ■ Formal technical reviews ■ Software quality assurance ■ Software configuration management ■ Work product preparation and production ■ Reusability management ■ Measurement ■ Risk management
  • 18.