21CSC303J Software
Engineering and Project
Management
Unit-1
• The evolving role of software
• Changing nature of software
• Generic view of process: Software engineering –A layered technology, a
process frame work, software project management
• Life cycle activities
• Process models- the water fall model, incremental model, the
evolutionary process model, the unified process, conventional, Agile, XP,
Scrum
• Project Initiation Management- Project charter, project scope, project
objectives, practical considerations
1. Correction
2. Adaptation
3. Enhancement
4. Prevention
Frame work Activities
Life Cycle Activities
Planning,
Requirements Analysis,
Design,
Coding,
Testing,
Deployment, and
Maintenance
Process Model
Water Fall Model
The waterfall model, sometimes called the classic life cycle model
Incremental Process Model
Evolutionary Process Model
Prototyping and
Spiral models.
Prototyping
Spiral Model
WINWIN spiral model
win condition is a mutually agreed upon outcome that is
negotiated among stakeholders of a project
Concurrent Development model
Rational Unified Process Model
Unified Process
Inception Phase
Elaboration Phase
Construction Phase
Transition Phase
Agile Methodology
• Agile is a project management approach developed as a more flexible
and efficient way to get products to market.
• The word ‘agile’ refers to the ability to move quickly and easily.
The Agile method works in ongoing sprints of project planning and
execution, enabling you to continuously adapt and mature your plan,
scope, and design throughout the project.
Agile projects require an iterative approach, which supports
incremental, frequent, and consistent delivery of workable products to
your customer or client.
This innovative approach ensures your project team can consistently
deliver concrete products without being delayed by changes and
evolving requirements.
5 Stages of the Agile Life Cycle:
1.Project Initiation: During this stage, an agile project charter is developed to discuss the project vision
and ROI(Return On Investment) justification.
2. Planning:
Building a Backlog: Discuss and create a backlog at the story level.
Upskilling and Cross-Skilling: Emphasize the importance of team members learning new skills
or honing existing ones.
Value Stream Management: Integrate data-driven decision-making into the planning process
with value stream management.
User Stories: Describe what the end-user expects from the product, including the user type and
the reason for the feature.
Business Context: Consider the larger business opportunity and its impact on project viability.
Risk Assessment: Assess and estimate the project's potential risks.
Milestone Development: Create an initial release plan that includes critical milestones.
Prioritization: Make certain that the backlog items are prioritized based on their business value
and dependencies.
3. Development
produce high-quality, functional products in small increments called sprints or
iterations
4. Production
ensuring that the product is produced and deployed efficiently.
5.Retirement:
Products are retired for a variety of reasons. Most of the time, this is because a
newer release is being deployed, and/or the older release is no longer
supported. In this case, the newer system may receive some final, minor
software updates.
The Scrum framework
The Scrum methodology was developed in the 1990s based on a Harvard Business
Review article titled “The New New Product Development Game.”
Most project managers would name Scrum as the most popular Agile framework.
As with other Agile frameworks, Scrum entails an iterative approach to project
management.
The Scrum methodology prescribes breaking a project down into sprints that typically
only last one to four weeks.
Each sprint ends with the completion of a workable version or draft of the final project
deliverable.
The Scrum approach’s short iterations enable your team to continuously deliver a
working version of the final product.
Scrum was initially designed using a software model that follows a set of roles,
responsibilities, and meetings.
It’s flexible enough to be used for any complex project in any industry but works best
when your project results in a concrete product rather than a service.
The Scrum Process
There are three phases in Scrum.
1.Outline planning phase where you establish the general objectives
for the project and design the software architecture.
2. Sprint cycles, where each cycle develops an increment of the
system.
3. Project closure phase wraps up the project, completes required
‘Scrum master’ is a facilitator who arranges daily meetings, tracks the backlog of
work to be done, records decisions, measures progress against the backlog, and
communicates with customers and management outside of the team. The
innovative feature of Scrum is its central phase, namely the sprint cycles.
A Scrum sprint is a planning unit in which the work to be done is assessed, features
are selected for development, and the software is implemented. Key characteristics
of this process are:
1. Sprints are fixed length, normally 2–4 weeks. They correspond to the
development of a release of the system in XP.
2. The starting point for planning is the product backlog, which is the list of work to
be done on the project. During the assessment phase of the sprint, this is reviewed,
and priorities and risks are assigned. The customer is closely involved in this
process and can introduce new requirements or tasks at the beginning of each
sprint.
3. The selection phase involves all of the project team who work with the customer
to select the features and functionality to be developed during the sprint.
4. Once these are agreed, the team organizes themselves to develop the software.
5. At the end of the sprint, the work done is reviewed and presented to
Extreme programming
(XP)
The most commonly used XP
practices are:
• Test-driven development (TDD),
• Code refactoring,
• Continuous integration,
• Pair programming, and
• Coding standards.
Project Initiation Management
Project Initiation:
Project initiation processes formally start a new project or project
phase.
The output of project initiation is The Project Charter or Project
Initiation Document. The other output is Preliminary Scope
Statement.
Project Charter
Project charter contains
Project Scope
A scope statement is a document used to develop and confirm a
common understanding of the project scope. It should include
a project justification
a brief description of the project’s products
a summary of all project deliverables
a statement of what determines project success
Project Objectives
Project objectives in software project management
•Identify project requirements
•Determine what features and functionalities are needed to meet stakeholder
expectations
•Establish realistic expectations
•Communicate with stakeholders to ensure they understand what the project will
deliver
•Allocate resources efficiently
•Ensure that the project has the resources it needs to be successful
•Manage risks
•Identify and assess potential risks early on, and develop strategies to mitigate
them
User Story: A user story is the smallest unit of work in an agile framework. It’s
an end goal
What is INVEST?
The acronym INVEST helps to remember a widely accepted set of criteria,
or checklist, to assess the quality of a user story. If the story fails to meet
one of these criteria, the team may want to reword it, or even consider a
rewrite (which often translates into physically tearing up the old story
card and writing a new one).
A good user story should be:
•“I” ndependent (of all others)
•“N” egotiable (not a specific contract for features)
•“V” aluable (or vertical)
•“E” stimable (to a good approximation)
•“S” mall (so as to fit within an iteration)
User stories describe the why and the what behind the day-
to-day work of development team members, often expressed
as persona + need + purpose. Understanding their role as the
source of truth for what your team is delivering, but also why,
is key to a smooth process.
Software Engineering And Project Management Basics
Software Engineering And Project Management Basics
Software Engineering And Project Management Basics

Software Engineering And Project Management Basics

  • 1.
  • 2.
    Unit-1 • The evolvingrole of software • Changing nature of software • Generic view of process: Software engineering –A layered technology, a process frame work, software project management • Life cycle activities • Process models- the water fall model, incremental model, the evolutionary process model, the unified process, conventional, Agile, XP, Scrum • Project Initiation Management- Project charter, project scope, project objectives, practical considerations
  • 23.
    1. Correction 2. Adaptation 3.Enhancement 4. Prevention
  • 27.
  • 29.
    Life Cycle Activities Planning, RequirementsAnalysis, Design, Coding, Testing, Deployment, and Maintenance
  • 30.
    Process Model Water FallModel The waterfall model, sometimes called the classic life cycle model
  • 33.
  • 36.
  • 37.
  • 38.
  • 39.
    WINWIN spiral model wincondition is a mutually agreed upon outcome that is negotiated among stakeholders of a project
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
    Agile Methodology • Agileis a project management approach developed as a more flexible and efficient way to get products to market. • The word ‘agile’ refers to the ability to move quickly and easily. The Agile method works in ongoing sprints of project planning and execution, enabling you to continuously adapt and mature your plan, scope, and design throughout the project. Agile projects require an iterative approach, which supports incremental, frequent, and consistent delivery of workable products to your customer or client. This innovative approach ensures your project team can consistently deliver concrete products without being delayed by changes and evolving requirements.
  • 48.
    5 Stages ofthe Agile Life Cycle: 1.Project Initiation: During this stage, an agile project charter is developed to discuss the project vision and ROI(Return On Investment) justification. 2. Planning: Building a Backlog: Discuss and create a backlog at the story level. Upskilling and Cross-Skilling: Emphasize the importance of team members learning new skills or honing existing ones. Value Stream Management: Integrate data-driven decision-making into the planning process with value stream management. User Stories: Describe what the end-user expects from the product, including the user type and the reason for the feature. Business Context: Consider the larger business opportunity and its impact on project viability. Risk Assessment: Assess and estimate the project's potential risks. Milestone Development: Create an initial release plan that includes critical milestones. Prioritization: Make certain that the backlog items are prioritized based on their business value and dependencies.
  • 49.
    3. Development produce high-quality,functional products in small increments called sprints or iterations 4. Production ensuring that the product is produced and deployed efficiently. 5.Retirement: Products are retired for a variety of reasons. Most of the time, this is because a newer release is being deployed, and/or the older release is no longer supported. In this case, the newer system may receive some final, minor software updates.
  • 50.
    The Scrum framework TheScrum methodology was developed in the 1990s based on a Harvard Business Review article titled “The New New Product Development Game.” Most project managers would name Scrum as the most popular Agile framework. As with other Agile frameworks, Scrum entails an iterative approach to project management. The Scrum methodology prescribes breaking a project down into sprints that typically only last one to four weeks. Each sprint ends with the completion of a workable version or draft of the final project deliverable. The Scrum approach’s short iterations enable your team to continuously deliver a working version of the final product. Scrum was initially designed using a software model that follows a set of roles, responsibilities, and meetings. It’s flexible enough to be used for any complex project in any industry but works best when your project results in a concrete product rather than a service.
  • 51.
    The Scrum Process Thereare three phases in Scrum. 1.Outline planning phase where you establish the general objectives for the project and design the software architecture. 2. Sprint cycles, where each cycle develops an increment of the system. 3. Project closure phase wraps up the project, completes required
  • 53.
    ‘Scrum master’ isa facilitator who arranges daily meetings, tracks the backlog of work to be done, records decisions, measures progress against the backlog, and communicates with customers and management outside of the team. The innovative feature of Scrum is its central phase, namely the sprint cycles. A Scrum sprint is a planning unit in which the work to be done is assessed, features are selected for development, and the software is implemented. Key characteristics of this process are: 1. Sprints are fixed length, normally 2–4 weeks. They correspond to the development of a release of the system in XP. 2. The starting point for planning is the product backlog, which is the list of work to be done on the project. During the assessment phase of the sprint, this is reviewed, and priorities and risks are assigned. The customer is closely involved in this process and can introduce new requirements or tasks at the beginning of each sprint. 3. The selection phase involves all of the project team who work with the customer to select the features and functionality to be developed during the sprint. 4. Once these are agreed, the team organizes themselves to develop the software. 5. At the end of the sprint, the work done is reviewed and presented to
  • 59.
  • 61.
    The most commonlyused XP practices are: • Test-driven development (TDD), • Code refactoring, • Continuous integration, • Pair programming, and • Coding standards.
  • 62.
    Project Initiation Management ProjectInitiation: Project initiation processes formally start a new project or project phase. The output of project initiation is The Project Charter or Project Initiation Document. The other output is Preliminary Scope Statement.
  • 63.
  • 64.
  • 66.
    Project Scope A scopestatement is a document used to develop and confirm a common understanding of the project scope. It should include a project justification a brief description of the project’s products a summary of all project deliverables a statement of what determines project success
  • 67.
    Project Objectives Project objectivesin software project management •Identify project requirements •Determine what features and functionalities are needed to meet stakeholder expectations •Establish realistic expectations •Communicate with stakeholders to ensure they understand what the project will deliver •Allocate resources efficiently •Ensure that the project has the resources it needs to be successful •Manage risks •Identify and assess potential risks early on, and develop strategies to mitigate them
  • 68.
    User Story: Auser story is the smallest unit of work in an agile framework. It’s an end goal What is INVEST? The acronym INVEST helps to remember a widely accepted set of criteria, or checklist, to assess the quality of a user story. If the story fails to meet one of these criteria, the team may want to reword it, or even consider a rewrite (which often translates into physically tearing up the old story card and writing a new one). A good user story should be: •“I” ndependent (of all others) •“N” egotiable (not a specific contract for features) •“V” aluable (or vertical) •“E” stimable (to a good approximation) •“S” mall (so as to fit within an iteration)
  • 69.
    User stories describethe why and the what behind the day- to-day work of development team members, often expressed as persona + need + purpose. Understanding their role as the source of truth for what your team is delivering, but also why, is key to a smooth process.