UNIT -1
Software Project Management
SPM is a proper way of planning and leading software projects. It is
a part of project management in which software projects are planned,
implemented, monitored and controlled.
• What is Software Project?
A project is a big task that is assigned to complete a desktop
application or web application. The project has a starting and ending time.
• What is Software Project Management?
Software Project management is a management of software
producing activities in such a way that software should be created within
time, within budget and with less effort.
Need of Software Project Management:
• Software is an non-physical product. Software development is a new stream in
business and there is very little experience in building software products. Most of
the software products are made to fit client’s requirements.
• The most important is that the basic technology changes and advances so
frequently and rapidly that experience of one product may not be applied to the
other one. Such type of business and environmental constraints increase risk in
software development hence it is essential to manage software projects
efficiently.
• It is necessary for an organization to deliver quality product, keeping the cost
within client’s budget constrain and deliver the project as per scheduled. Hence
in order, software project management is necessary to incorporate user
requirements along with budget and time constraints.
SPM consists of several different type of
managements:
1.Conflict Management:
Conflict management is the process to restrict the negative features of conflict while
increasing the positive features of conflict.
The goal of conflict management is to improve learning and group results including efficacy
or performance in an organizational setting. Properly managed conflict can enhance group
results.
2.Risk Management:
Risk management is the analysis and identification of risks that is followed by synchronized
and economical implementation of resources to minimize, operate and control the possibility
or effect of unfortunate events or to maximize the realization of opportunities.
3.Requirement Management:
It is the process of analyzing, prioritizing, tracing and documenting on requirements and then
supervising change and communicating to pertinent stakeholders. It is a continuous process
during a project.
4.Change Management:
Change management is a systematic approach for dealing with the transition or
transformation of an organization’s goals, processes or technologies. The purpose of change
management is to execute strategies for effecting change, controlling change and helping
people to adapt to change.
5.Software Configuration Management:
Software configuration management is the process of controlling and tracing changes in the
software, part of the larger cross-disciplinary field of configuration management. Software
configuration management include revision control and the inauguration of baselines.
6.Release Management:
Release Management is the task of planning, controlling and scheduling the build in
deploying releases. Release management ensures that organization delivers new and
enhanced services required by the customer, while protecting the integrity of existing
services.
Advantages of Software Project Management:
• It helps in planning of software development.
• Implementation of software development is made easy.
• Monitoring and controlling are aspects of software project
management.
• It overall manages to save time and cost for software
development.
Components /Aspects of Software Project Management:
Components of SPM: Planning
Organizing
Staffing
Leading
Controlling
Components Of Software Project
Management:
• Planning
• Organizing
• Staffing
• Leading (Directing)
• Controlling
In Planning, the project manager along with his/her team plan all the
activities that will be or that can be involved in the production of
software.
• In Organizing, the project team is decided, organized and assign
responsibilities to every member of the team.
• In Staffing, the Software team is selected for doing the assign tasks and
training of the team is also a part of staffing.
• Leading is an ability to work with the team, to motivate the team, and to lead
the team in such a way that can be fruitful and software should be produced
within time and within budget.
• Controlling is an activity in which we control all the things involved in
software production.
Controlling activities if activities take more time than assign time.
Controlling risk by risk assessment.
Controlling faults and errors by software testing etc.
Challenges In Software Project Management
• Unclear and undefined expectations
• Time constraint
• Changing project requirements and priorities
• Poor communication
• Skills management
• Changing technologies
• Keeping everyone on the same page
• Motivating team members
• Project cancellation
• Estimation
• High competition
• Upgrade to a new system
• Quality testing
• Managing risks
Opportunities/Applications of Software Project Management
1.Effortless project planning
2.Balanced resource management
3.Real-time project budget management
4.Solid up-to-the-minute reporting
5.Effective internal & external communication
6.Enhanced customer satisfaction
7.Clear, organized plans improve team collaboration
8.Defining everyone’s role eliminates confusion
9.Well-defined goals improve team effectiveness
10.Defining a communication plan keeps your team aligned and focused
11.Project management tools help increase efficiency
Tips for Managing a Software Project
1. Assemble the right team.
2. Define the project scope
3. Define deadlines and milestones.
4. Establish individual and team goals.
5. Set the tone right away
6. Communicate early and often.
7. Make meetings meaningful.
8. Gather requirements, then let the team work.
9. Identify measurable and practical KPIs(Key Performance Indicators)
10. Keep the team in the loop
11. Set your team up for success
12. Manage risk and resolve issues quickly.
13. Test often, then test again.
14. Recognize hard work.
15. Evaluate the project regularly.
Project Management Tools and Techniques
These strategies and tools are properly necessary so that we can get the
job done without spending more and more of our revenue and manpower,
because if we spend that much energy on work activities without a proper
direction in mind then we are in for serious trouble down the road.
Project Management Techniques
1. Classic technique
The classical technique is an amazing procedure that includes a proper plan to
cover all of the upcoming work activities, which tasks are to be performed and
what should be the chain of application that defines which task to do first,
allocating proper resources to the tasks according to their importance
Where to use: The Classical procedure is amazing for running projects that are
performed by a team that is small in number
2. Waterfall technique
The Waterfall technique is based on your project management tasks to be dealt with
in a properly sequential form where the next task is only performed and
performed well when the previous task has been completed
Where to use: The waterfall technique is a fantastic technique that is used for
complex projects that can not be dealt with by the classical approach
3. Agile Project Management
It is the most famous and outstanding in its application because it deals with projects
in a way quite different from other traditional procedures, such as the Agile Project
Management technique.
The Agile approach is basically crushing the big project steps into shorter sprints
that help in a detailed analysis of the whole process during the development stage.
Where to use: The Agile project management technique is used in projects whose
development unravels in short but precise increments performed by small but highly
collaborative teams.
4. Rational Unified Process (RUP):
Rational Unified Process prescribes implementing a sequential or iterative developmental
process like the Waterfall technique
Where to use: The RUP procedure is applied to software development projects where the
whole process is broken down into pieces and also where the end-user input and
satisfaction is a key factors of the project.
5. Program Evaluation and Review Technique:
Program Evaluation and Review Technique (PERT) is an incredible software management
technique that is very widely used in a lot of different areas and industries
The main feature that this technique has it performs an effective analysis of the tasks
that are performed within the project. That helps the team to keep track of all of their
developmental activities and fix their weaknesses.
Where to use: The program Evaluation and Review Technique is best suited for those
large and long-term projects where there are a lot of non-routine tasks with ever-changing
stakes. Also, the requirements for these projects can change according to the
circumstances or a number of factors but PERT can handle them just fine.
6. Critical Path Technique:
The Critical Path Technique is an amazing procedure that is used for projects and different tasks to
schedule and plan the work activities
This is an incredible technique that is used to detect and confirm the longest path for the tasks to be
performed.
Where to use: Critical Path Technique is more commonly used for very complex projects that have a lot
of different tasks. And the development team has no idea what to complete first so that they can meet the
deadlines and complete the project in a good time without wasting precious time and energy on doing
everything at once
7. Critical Chain Technique:
Critical Chain Technique is an incredible derivation from the PERT and Critical Path Methodologies of
project management
The CCT suggests that the work should be done on the basis of prioritization and also the
dependencies relative to the project should be analyzed properly while the time spent on different
activities should be optimized more carefully
Where to use: Like the Program Evaluation and Review Technique and The Critical Path Technique, the
Critical chain Technique is used in very complex projects it is best suited for the projects where the
resources are limited.
8. Extreme Project Management (XPM):
The Extreme Project Management technique has a more loose and optimistic
approach when it comes to planning a project. It insists that the approach
should be open and there should be a reduction of formalism in the company’s
culture and the behaviour of the management should not be stern and
deterministic
Where to use: XPM technique is commonly used in large projects where the
complexity and uncertainty are high. This is because there are a large number of
uncertain and unpredictable factors involved in the project that need to be
addressed
Project Management Tools:
While the techniques are important, you also need specific tools that you can use to properly
implement during the development page and achieve your desired results.
1.Process Modeling and Management tools :
Process modeling simply means to model software processes. At first, developers need to fully
understand process and work of software, then only they can be able to model process. This
tool represents key elements of process that are important.
2.Project Planning tools :
Project planning simply means to plan and set up project for successful development within
timeframe. It includes defined stages or steps to define objectives of project with designated
resources, clarify scope of what should be done, and then develop list of tasks that are needed
to be done to complete it. Tools used for project planning can be CPM (Critical Path
Method) and PERT (Program Evaluation and Review Technique). Both of them are used for
finding parallelism, eliminating bottlenecks in projects, and scheduling activities of project.
Some tools that make planning of project in efficient way are Trello, Nifty, Asana, Team Gantt,
etc.
3.Risk Analysis tools :
Risk analysis simply means to identify and analyze errors or defects or any issue that can cause
negative impact and result in the changed outcome and objectives of project. The analysis is done so
that organization can fix issue or remove error to avoid effect caused by them. These tools help in
identifying risks and are useful for binding risk table
Some tools and techniques are Delphi technique, Information gathering technique, Checklist analysis,
etc.
4.Project Management tools :
Project management simply means to track or control progress and tasks of project. These tools are
extension of project planning tools.
These tools are generally used to update pans if require and schedule project. These tools make Project
Management more effective and efficient. Some tools are Gantt chart, mind map, WBS chart (Work
Breakdown Structure), etc.
5.Metrics and Management tools :
Metric management tools are very good for software as they provide very quick and easy way to
track software development, set goals, and measure performance. These tools help in capturing and
finding out specific metrics that are useful and provide overall measure of quality. These tools focus
more on process and product characteristics. For example, “defects per function point”, “Line Of
Code/person-month”.
6.Quality Assurance tools :
Quality assurance in software engineering simply means to maintain level of
quality of software product by focusing on each step of process of development
or production and delivery. It prevents mistakes and any defects or errors in
manufactured products. These are actually metrics tools that audit source code to
ensure compliance with language standards. Some tools that are used for both
Quality management plan and to control quality process are Pareto Diagrams,
control charts, histograms and scatter diagrams, etc.
7.Database Management tools :
Database management simply means to organize, store, and retrieve data from
computer in efficient manner. It provides consistent interfaces for project for all
data, in particular, configuration objects are primary repository elements. Some
best database management tools are MySQL workbench, SolarWinds Database
Performance Analyzer, TablePlus, TeamDesk, etc.
What is project human resource management?
Project human resource (HR) management is an element of project
management concerned with organizing, managing, and leading a project team.
The team includes everyone who has assigned roles and responsibilities for
completing the project.
• Plan human resource management:
In this phase, the project manager (PM) identifies the roles and
responsibilities needed to fulfill the project goals. From this, the manager drafts
a team structure and staffing plan.
• Acquire the project team:
The project manager chooses staff members to fill the various roles and
ensures their availability and willingness to serve on the project team.
• Develop team members:
This includes team building, skills development, and other efforts to
enhance the team's performance.
• Manage the team:
The project manager tracks performance, offers feedback, resolves
conflicts, and eliminates roadblocks to optimize performance.
How to develop a human resource management plan
1. Introduce the plan
• A formal HR management plan includes an introduction explaining the purpose of the plan, what
it includes, and how the team can use it to inform its decision-making process and keep the
project on track.
2. Assign roles and responsibilities
• Setting clear roles and responsibilities is critical to a successful project. To do that, you need to assess the skills
and staff power needed to complete each project activity and create a structure for the resulting team.
Team members typically fall into these categories:
• Project manager: Manages all aspects of the project from planning to execution and is ultimately responsible
for its success or failure.
• Project sponsor: Authorizes and funds the project, advocates for it, approves changes, and formally accepts
deliverables.
• Stakeholders: Validate the project scope and deliverables and actively participate in project management.
• Line managers: Participate in planning, provide resources and staff, and manage activities within their project
area.
• Team members: Contribute work or expertise directly to the project.
3. Write a staffing management plan
• This phase of the planning ensures that everyone you're depending on to keep your project moving is available and
prepared to do the work when the time comes. You need to spell out all aspects of staffing the project, including.
• How and when staff members will be acquired
• Time requirements for each team member throughout the project
• How and when skills will be developed as needed
• How performance reviews will be conducted
• How results will be recognized and rewarded
• How and when team members will be released from the project
• Safety and compliance needs created by the project
4. Training and development
• In addition to skills training, a project manager needs to consider ways to onboard project team members and get
them working productively together. This might include an orientation to the project or team-building exercises to
introduce team members who might be working together for the first time.
• Some team members may require training to use productivity tools and other technology for the project. As the
project progresses, the project manager may need to provide individual coaching, dispute resolution, and feedback
to keep everyone working effectively for the good of the team.
5. Rewards and recognition
• Employees often have to step out of their comfort zones or put in extra effort to keep a project on track. Officially
recognizing their efforts and accomplishments can keep the team motivated and provide a record of their
performance to carry into future assignments.
What Is Cost Estimation:
In project management, cost estimation is the summation of
individual cost elements, using established estimating methods
Basic characteristics of credible cost estimates as including:
• Clear identification of tasks
• Broad participation in preparing estimates
• Availability of valid data
• Standardized structures for the estimates
• Provisions for program uncertainties
• Recognition of inflation
• Excluded costs
• Independent reviews of estimates
• Revision of estimates for significant program changes
Why Is Cost Estimation Important?
Cost estimation and cost management are essential parts of project management. The
project manager is responsible for making the most accurate project budget
Cost Estimation Techniques
1. Analogous Estimating
2. Parametric Estimating
3. Bottom-Up Estimating
4. Three-point Estimate
5. Reserve Analysis
6. Cost of Quality
7. Dynamic Tools
How to Estimate Costs in 10 Steps
• 1. Define Cost Estimate’s Purpose
• 2. Develop Estimating Plan
• 3. Define Characteristics
• 4. Determine Cost Estimating Techniques
• 5. Identify Rule, Assumptions and Obtain Data
• 6. Develop Point Estimate
• 7. Conduct Sensitivity Analysis
• 8. Conduct Risk and Uncertainty Analysis
• 9. Document the Estimate and Present to Management
• 10. Update Cost Estimate
Agile Software Development
Agile Methodology:
• Agile methodology is a project management approach that prioritizes cross-
functional collaboration and continuous improvement.
• It divides projects into smaller phases and guides teams through cycles of
planning, execution, and evaluation.
• 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. Therefore,
an Agile approach enables project teams to adapt faster and easier
compared to other project methodologies.
• Agile methodology is an approach to project management that uses 4
values and 12 principles to organize projects.
Agile Software Development
The 4 values of the Agile Manifesto are:
1. Individuals and interactions over processes and tools
2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan
The 12 Agile principles:
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable
software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the
customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference for shorter timescales.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and
trust them to get the job done.
Agile Software Development
6. The most efficient and effective method of conveying information to and within a development
team is face-to-face conversation
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be
able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity – the art of maximizing the amount of work not done – is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. The team discusses how to become more effective at regular intervals, then tunes and adjusts its
behaviour accordingly.
You can run an Agile project using several different frameworks. Some of the more popular ones
include:
• Scrum
• Kanban
• Extreme Programming
Agile Software Development Life Cycle
Theories for Agile Management
• Agile management is a modern approach to project management and product
development that emphasizes flexibility, collaboration, customer-centricity, and
iterative progress.
• It is based on a set of principles outlined in the Agile Manifesto, which was
created in 2001 by a group of software developers.
Several theories underpin the principles and practices of Agile management. Let's
explore some of the key theories
Complex Adaptive Systems (CAS) Theory:
• Agile management draws heavily from the Complex Adaptive Systems theory,
which views organizations and projects as complex systems comprising
numerous interconnected elements
• CAS theory recognizes that projects are subject to unpredictable and changing
environments, and Agile methodologies
Theories for Agile Management
Empirical Process Control Theory:
• Agile management utilizes empirical process control, which is a feedback-
driven approach to decision-making.
• The three pillars of empirical process control in Agile are transparency,
inspection, and adaptation. Agile teams regularly inspect the progress and
outcomes of their work,
Lean Thinking Theory:
• Lean Thinking, derived from the Toyota Production System, is a
management philosophy focused on eliminating waste, increasing efficiency,
and continuously improving processes.
• Lean principles help Agile teams deliver high-quality products and services
with shorter lead times and better customer satisfaction.
Theories for Agile Management
Theory of Constraints (TOC):
• The Theory of Constraints posits that any system is limited by at least one constraint that
prevents it from achieving higher performance.
• This can include addressing bottlenecks, ensuring collaboration between team members, and
optimizing the flow of work. By removing constraints.
Human-Centric Theory:
• The human-centric theory recognizes that motivated and empowered individuals are more
likely to contribute creatively and efficiently to the project's success.
Game Theory and Servant Leadership:
• Agile management also incorporates aspects of game theory, where team members are
encouraged to cooperate, communicate openly, and work together to achieve common goals.
• Servant leadership is a leadership philosophy within Agile that focuses on serving the team's
needs, enabling them to perform at their best, and removing obstacles
Traditional Model Vs Agile Model:
Traditional project management:
Traditional project management is an established methodology where
projects are run in a sequential cycle: initiation, planning, execution,
monitoring, and closure. The traditional project management emphasizes
linear processes, documentation, upfront planning, and prioritization. As per
the conventional method, time and budget are variable, and requirements
are fixed, due to which it often faces budget and timeline issues.
Benefits of traditional methodology
• Clearly defined objectives
• Ultimate control
• Clear documentation
• More accountability
Agile Project Management:
• While Agile is a general approach used for software development, it relies heavily on teamwork,
collaboration, time-boxing tasks, and the flexibility to respond to change as quickly as possible.
• The Agile Manifesto has four essential values:
More focus on individuals and interactions than processes and tools
Working software is more important than comprehensive documentation
Customer collaboration is more vital than negotiation
The process should respond to change rather than blindly follow a plan
Benefits of Agile Project Management:
• Flexible prioritization
• Early and predictable delivery
• Predictable costs and schedules
• Improves quality
• More transparency
• Agile follows an iterative process where projects are divided into sprints of a shorter span. Unlike the
traditional approach, less time is spent on upfront planning and prioritization as agile is more flexible in
changes and specifications developments.
Difference between Traditional and Agile Project Methodology:
Characteristics Agile approach Traditional approach
Organizational structure Iterative Linear
Scale of projects Small and medium scale Large-scale
User requirements Interactive input Clearly defined before implementation
Involvement of clients High Low
Development model Evolutionary delivery Life cycle
Customer involvement Customers are involved from the time work is being performed
Customers get involved early in the project but
not once the execution has started
Escalation management When problems occur, the entire team works together to resolve it Escalation to managers when problem arise
Model preference Agile model favors adaption Traditional model favors anticipation
Product or process Less focus on formal and directive processes More serious about processes than the product
Test documentation Tests are planned one sprint at a time Comprehensive test planning
Effort estimation Scrum master facilitates and the team does the estimation
Project manager provides estimates and gets
approval from PO for the entire project
Reviews and approvals Reviews are done after each iteration Excessive reviews and approvals by leaders
Classification of Agile Methods:
Agile methods can be classified into several categories based on their focus, principles,
and practices.
• Iterative Agile Methods:
• Scrum: Scrum is one of the most popular Agile frameworks. It employs fixed-length
iterations called sprints, typically lasting two to four weeks. Scrum defines specific
roles (Product Owner, Scrum Master, and Development Team) and ceremonies (Sprint
Planning, Daily Stand-ups, Sprint Review, and Sprint Retrospective).
• Extreme Programming (XP): XP emphasizes engineering practices and focuses on
continuous integration, test-driven development, pair programming, and collective
code ownership. It promotes short development cycles, frequent releases, and a
sustainable pace of work.
• Flow-Based Agile Methods:
• Kanban: Kanban is a flow-based Agile approach that visualizes work items on a
Kanban board. It limits work in progress (WIP) to optimize flow, reduce bottlenecks,
and deliver work items efficiently. Kanban provides flexibility in managing varying
workloads and priorities.
Classification of Agile Methods:
• Lean Agile Methods:
• Lean Software Development: Inspired by Lean Manufacturing principles, this Agile
method aims to eliminate waste, optimize the whole process, build quality in, and
empower the team. Lean Software Development emphasizes delivering value to
customers quickly and efficiently.
• Feature-Driven Development (FDD): FDD is a model-driven Agile method that focuses
on design and progress tracking. It divides the development process into specific feature
sets, which are then developed and integrated into the system.
• Adaptive Agile Methods:
• Dynamic Systems Development Method (DSDM): DSDM is an adaptive Agile
approach that emphasizes collaboration, frequent delivery, and continuous user
involvement. It provides a framework for delivering projects on time and within budget
while maintaining high-quality standards.
• Crystal: Crystal is a family of Agile methods tailored for different project sizes and
complexities. It emphasizes teamwork, communication, and lightweight processes.
Classification of Agile Methods:
• Hybrid Agile Methods:
• Agile Project Management (AgilePM): AgilePM combines Agile principles with
project management practices from the traditional waterfall model. It provides a
structured framework for managing Agile projects within a more formal project
management environment.
• Disciplined Agile Delivery (DAD): DAD is a hybrid Agile approach that allows
organizations to tailor their development process to their unique needs. It
incorporates practices from Scrum, Kanban, XP, and other methodologies.
It's essential to choose the Agile method that best suits the specific project's
requirements, team dynamics, and organizational culture. Some teams may
adopt a single Agile approach, while others might create a customized
hybrid approach to meet their needs effectively. Flexibility and a continuous
improvement mindset are fundamental principles of Agile methods, enabling
teams to adapt and refine their processes for optimal results.
SCRUM:
• The software development term scrum was first used in a 1986 paper titled
"The New Product Development Game". The term is borrowed from
rugby, where a scrum is a formation of players. The term scrum was chosen
by the paper's authors because it emphasizes teamwork.
• Scrum is a subset of Agile. It is a lightweight process framework for agile
development, and the most widely-used one.
• Scrum is an agile project management methodology or framework used
primarily for software development projects with the goal of delivering
new software capability every 2-4 weeks.
• Scrum is an agile framework for developing, delivering, and sustaining
complex products, with an initial emphasis on software development,
although it has been used in other fields including research, sales,
marketing and advanced technologies.
Agile scrum methodology:
• Agile scrum methodology is a project management system that relies on incremental
development. Each iteration consists of two- to four-week sprints, where each sprint's
goal is to build the most important features first and come out with a potentially
deliverable product. More features are built into the product in subsequent sprints
and are adjusted based on stakeholder and customer feedback between sprints.
• Whereas other project management methods emphasize building an entire product in
one iteration from start to finish, agile scrum methodology focuses on delivering
several iterations of a product to provide stakeholders with the highest business value
in the least amount of time.
• Agile scrum methodology has several benefits. First, it encourages products to be
built faster, since each set of goals must be completed within each sprint's time
frame. It also requires frequent planning and goal setting, which helps the scrum
team focus on the current sprint's objectives and increase productivity.
Lifecycle of Scrum:
• Sprint:
A Sprint is a time-box of one month or less. A new Sprint
starts immediately after the completion of the previous
Sprint.
• Release:
When the product is completed then it goes to the Release
stage.
• Sprint Review:
If the product still have some non-achievable features then it
will be checked in this stage and then the product is passed
to the Sprint Retrospective stage.
• Sprint Retrospective:
In this stage quality or status of the product is checked.
• Product Backlog:
According to the prioritize features the product is organized.
• Sprint Backlog:
Sprint Backlog is divided into two parts Product assigned
features to sprint and Sprint planning meeting.
How Scrum Works?
• Scrum software development starts with a wish list of features — a product backlog. The team
meets to discuss:
• The backlog.
• What still needs to be completed.
• How long it will take.
• Scrum relies on an agile software development concept called sprints:
• Sprints are periods of time when software development is actually done.
• A sprint usually lasts from one week to one month to complete an item from the backlog.
• The goal of each sprint is to create a saleable product.
• Each sprint ends with a sprint review.
• Then the team chooses another piece of backlog to develop — which starts a new sprint.
• Sprints continue until the project deadline or the project budget is spent.
• In daily scrums, teams meet to discuss their progress since the previous meeting and make
plans for that day.
• The meetings should be brief — no longer than 15 minutes.
• Each team member needs to be present and prepared.
• The ScrumMaster keeps the team focused on the goal.
How Scrum Works
What are the benefits of agile scrum methodology?
Here are some of the collective benefits of agile scrum methodology:
• Flexibility and adaptability
• Creativity and innovation
• Lower costs
• Quality improvement
• Organizational synergy
• Employee satisfaction
• Customer satisfaction
LEAN PRODUCTION:
• Lean Production, also known as Lean Manufacturing, is a production
philosophy and management approach that originated from the Toyota
Production System (TPS) in the 1940s and 1950s.
• It is a systematic method for identifying and eliminating waste, improving
efficiency, and delivering value to customers more effectively.
• Lean Production aims to create a streamlined and highly efficient
production process by optimizing resources and minimizing unnecessary
activities, resulting in higher productivity and improved quality.
Lean – Agile/Scrum relationship
Lean
Scrum Team
Scrum Team
Lean Principles
• Lean Principles - to
reduce waste without
frustrating customers
• Agile - to reduce cost
to make changes that
reduce time to market
• Eliminate Waste
• Embed Quality
• At every opportunity add quality to your process from the backlog to the demo
• Learn First
• One needs to learn as quickly as possible as part of successive elaboration
• Deliver Fast
• Get working software (product) in front of stakeholders as quickly as you can
• Improve Constantly
• Inspect and Adapt is a major tenant of Scrum and Agile development
• Respect People
• The team are the ones that know the work and know best how to organize to get the best throughput
• Think Systems
• Keep the overall system in mind as you develop success increments of what will eventfully become your product
The 7 principles of Lean development:

SOFTWARE PROJECT MANAGEMENT PART 1-.pptx

  • 1.
  • 2.
    Software Project Management SPMis a proper way of planning and leading software projects. It is a part of project management in which software projects are planned, implemented, monitored and controlled. • What is Software Project? A project is a big task that is assigned to complete a desktop application or web application. The project has a starting and ending time. • What is Software Project Management? Software Project management is a management of software producing activities in such a way that software should be created within time, within budget and with less effort.
  • 3.
    Need of SoftwareProject Management: • Software is an non-physical product. Software development is a new stream in business and there is very little experience in building software products. Most of the software products are made to fit client’s requirements. • The most important is that the basic technology changes and advances so frequently and rapidly that experience of one product may not be applied to the other one. Such type of business and environmental constraints increase risk in software development hence it is essential to manage software projects efficiently. • It is necessary for an organization to deliver quality product, keeping the cost within client’s budget constrain and deliver the project as per scheduled. Hence in order, software project management is necessary to incorporate user requirements along with budget and time constraints.
  • 4.
    SPM consists ofseveral different type of managements: 1.Conflict Management: Conflict management is the process to restrict the negative features of conflict while increasing the positive features of conflict. The goal of conflict management is to improve learning and group results including efficacy or performance in an organizational setting. Properly managed conflict can enhance group results. 2.Risk Management: Risk management is the analysis and identification of risks that is followed by synchronized and economical implementation of resources to minimize, operate and control the possibility or effect of unfortunate events or to maximize the realization of opportunities.
  • 5.
    3.Requirement Management: It isthe process of analyzing, prioritizing, tracing and documenting on requirements and then supervising change and communicating to pertinent stakeholders. It is a continuous process during a project. 4.Change Management: Change management is a systematic approach for dealing with the transition or transformation of an organization’s goals, processes or technologies. The purpose of change management is to execute strategies for effecting change, controlling change and helping people to adapt to change. 5.Software Configuration Management: Software configuration management is the process of controlling and tracing changes in the software, part of the larger cross-disciplinary field of configuration management. Software configuration management include revision control and the inauguration of baselines. 6.Release Management: Release Management is the task of planning, controlling and scheduling the build in deploying releases. Release management ensures that organization delivers new and enhanced services required by the customer, while protecting the integrity of existing services.
  • 6.
    Advantages of SoftwareProject Management: • It helps in planning of software development. • Implementation of software development is made easy. • Monitoring and controlling are aspects of software project management. • It overall manages to save time and cost for software development.
  • 7.
    Components /Aspects ofSoftware Project Management: Components of SPM: Planning Organizing Staffing Leading Controlling
  • 8.
    Components Of SoftwareProject Management: • Planning • Organizing • Staffing • Leading (Directing) • Controlling In Planning, the project manager along with his/her team plan all the activities that will be or that can be involved in the production of software.
  • 9.
    • In Organizing,the project team is decided, organized and assign responsibilities to every member of the team. • In Staffing, the Software team is selected for doing the assign tasks and training of the team is also a part of staffing. • Leading is an ability to work with the team, to motivate the team, and to lead the team in such a way that can be fruitful and software should be produced within time and within budget. • Controlling is an activity in which we control all the things involved in software production. Controlling activities if activities take more time than assign time. Controlling risk by risk assessment. Controlling faults and errors by software testing etc.
  • 10.
    Challenges In SoftwareProject Management • Unclear and undefined expectations • Time constraint • Changing project requirements and priorities • Poor communication • Skills management • Changing technologies • Keeping everyone on the same page • Motivating team members • Project cancellation • Estimation • High competition • Upgrade to a new system • Quality testing • Managing risks
  • 11.
    Opportunities/Applications of SoftwareProject Management 1.Effortless project planning 2.Balanced resource management 3.Real-time project budget management 4.Solid up-to-the-minute reporting 5.Effective internal & external communication 6.Enhanced customer satisfaction 7.Clear, organized plans improve team collaboration 8.Defining everyone’s role eliminates confusion 9.Well-defined goals improve team effectiveness 10.Defining a communication plan keeps your team aligned and focused 11.Project management tools help increase efficiency
  • 12.
    Tips for Managinga Software Project 1. Assemble the right team. 2. Define the project scope 3. Define deadlines and milestones. 4. Establish individual and team goals. 5. Set the tone right away 6. Communicate early and often. 7. Make meetings meaningful. 8. Gather requirements, then let the team work. 9. Identify measurable and practical KPIs(Key Performance Indicators) 10. Keep the team in the loop 11. Set your team up for success 12. Manage risk and resolve issues quickly. 13. Test often, then test again. 14. Recognize hard work. 15. Evaluate the project regularly.
  • 13.
    Project Management Toolsand Techniques These strategies and tools are properly necessary so that we can get the job done without spending more and more of our revenue and manpower, because if we spend that much energy on work activities without a proper direction in mind then we are in for serious trouble down the road. Project Management Techniques 1. Classic technique The classical technique is an amazing procedure that includes a proper plan to cover all of the upcoming work activities, which tasks are to be performed and what should be the chain of application that defines which task to do first, allocating proper resources to the tasks according to their importance Where to use: The Classical procedure is amazing for running projects that are performed by a team that is small in number
  • 14.
    2. Waterfall technique TheWaterfall technique is based on your project management tasks to be dealt with in a properly sequential form where the next task is only performed and performed well when the previous task has been completed Where to use: The waterfall technique is a fantastic technique that is used for complex projects that can not be dealt with by the classical approach 3. Agile Project Management It is the most famous and outstanding in its application because it deals with projects in a way quite different from other traditional procedures, such as the Agile Project Management technique. The Agile approach is basically crushing the big project steps into shorter sprints that help in a detailed analysis of the whole process during the development stage. Where to use: The Agile project management technique is used in projects whose development unravels in short but precise increments performed by small but highly collaborative teams.
  • 15.
    4. Rational UnifiedProcess (RUP): Rational Unified Process prescribes implementing a sequential or iterative developmental process like the Waterfall technique Where to use: The RUP procedure is applied to software development projects where the whole process is broken down into pieces and also where the end-user input and satisfaction is a key factors of the project. 5. Program Evaluation and Review Technique: Program Evaluation and Review Technique (PERT) is an incredible software management technique that is very widely used in a lot of different areas and industries The main feature that this technique has it performs an effective analysis of the tasks that are performed within the project. That helps the team to keep track of all of their developmental activities and fix their weaknesses. Where to use: The program Evaluation and Review Technique is best suited for those large and long-term projects where there are a lot of non-routine tasks with ever-changing stakes. Also, the requirements for these projects can change according to the circumstances or a number of factors but PERT can handle them just fine.
  • 16.
    6. Critical PathTechnique: The Critical Path Technique is an amazing procedure that is used for projects and different tasks to schedule and plan the work activities This is an incredible technique that is used to detect and confirm the longest path for the tasks to be performed. Where to use: Critical Path Technique is more commonly used for very complex projects that have a lot of different tasks. And the development team has no idea what to complete first so that they can meet the deadlines and complete the project in a good time without wasting precious time and energy on doing everything at once 7. Critical Chain Technique: Critical Chain Technique is an incredible derivation from the PERT and Critical Path Methodologies of project management The CCT suggests that the work should be done on the basis of prioritization and also the dependencies relative to the project should be analyzed properly while the time spent on different activities should be optimized more carefully Where to use: Like the Program Evaluation and Review Technique and The Critical Path Technique, the Critical chain Technique is used in very complex projects it is best suited for the projects where the resources are limited.
  • 17.
    8. Extreme ProjectManagement (XPM): The Extreme Project Management technique has a more loose and optimistic approach when it comes to planning a project. It insists that the approach should be open and there should be a reduction of formalism in the company’s culture and the behaviour of the management should not be stern and deterministic Where to use: XPM technique is commonly used in large projects where the complexity and uncertainty are high. This is because there are a large number of uncertain and unpredictable factors involved in the project that need to be addressed
  • 18.
    Project Management Tools: Whilethe techniques are important, you also need specific tools that you can use to properly implement during the development page and achieve your desired results. 1.Process Modeling and Management tools : Process modeling simply means to model software processes. At first, developers need to fully understand process and work of software, then only they can be able to model process. This tool represents key elements of process that are important. 2.Project Planning tools : Project planning simply means to plan and set up project for successful development within timeframe. It includes defined stages or steps to define objectives of project with designated resources, clarify scope of what should be done, and then develop list of tasks that are needed to be done to complete it. Tools used for project planning can be CPM (Critical Path Method) and PERT (Program Evaluation and Review Technique). Both of them are used for finding parallelism, eliminating bottlenecks in projects, and scheduling activities of project. Some tools that make planning of project in efficient way are Trello, Nifty, Asana, Team Gantt, etc.
  • 19.
    3.Risk Analysis tools: Risk analysis simply means to identify and analyze errors or defects or any issue that can cause negative impact and result in the changed outcome and objectives of project. The analysis is done so that organization can fix issue or remove error to avoid effect caused by them. These tools help in identifying risks and are useful for binding risk table Some tools and techniques are Delphi technique, Information gathering technique, Checklist analysis, etc. 4.Project Management tools : Project management simply means to track or control progress and tasks of project. These tools are extension of project planning tools. These tools are generally used to update pans if require and schedule project. These tools make Project Management more effective and efficient. Some tools are Gantt chart, mind map, WBS chart (Work Breakdown Structure), etc. 5.Metrics and Management tools : Metric management tools are very good for software as they provide very quick and easy way to track software development, set goals, and measure performance. These tools help in capturing and finding out specific metrics that are useful and provide overall measure of quality. These tools focus more on process and product characteristics. For example, “defects per function point”, “Line Of Code/person-month”.
  • 20.
    6.Quality Assurance tools: Quality assurance in software engineering simply means to maintain level of quality of software product by focusing on each step of process of development or production and delivery. It prevents mistakes and any defects or errors in manufactured products. These are actually metrics tools that audit source code to ensure compliance with language standards. Some tools that are used for both Quality management plan and to control quality process are Pareto Diagrams, control charts, histograms and scatter diagrams, etc. 7.Database Management tools : Database management simply means to organize, store, and retrieve data from computer in efficient manner. It provides consistent interfaces for project for all data, in particular, configuration objects are primary repository elements. Some best database management tools are MySQL workbench, SolarWinds Database Performance Analyzer, TablePlus, TeamDesk, etc.
  • 21.
    What is projecthuman resource management? Project human resource (HR) management is an element of project management concerned with organizing, managing, and leading a project team. The team includes everyone who has assigned roles and responsibilities for completing the project.
  • 22.
    • Plan humanresource management: In this phase, the project manager (PM) identifies the roles and responsibilities needed to fulfill the project goals. From this, the manager drafts a team structure and staffing plan. • Acquire the project team: The project manager chooses staff members to fill the various roles and ensures their availability and willingness to serve on the project team. • Develop team members: This includes team building, skills development, and other efforts to enhance the team's performance. • Manage the team: The project manager tracks performance, offers feedback, resolves conflicts, and eliminates roadblocks to optimize performance.
  • 23.
    How to developa human resource management plan 1. Introduce the plan • A formal HR management plan includes an introduction explaining the purpose of the plan, what it includes, and how the team can use it to inform its decision-making process and keep the project on track. 2. Assign roles and responsibilities • Setting clear roles and responsibilities is critical to a successful project. To do that, you need to assess the skills and staff power needed to complete each project activity and create a structure for the resulting team. Team members typically fall into these categories: • Project manager: Manages all aspects of the project from planning to execution and is ultimately responsible for its success or failure. • Project sponsor: Authorizes and funds the project, advocates for it, approves changes, and formally accepts deliverables. • Stakeholders: Validate the project scope and deliverables and actively participate in project management. • Line managers: Participate in planning, provide resources and staff, and manage activities within their project area. • Team members: Contribute work or expertise directly to the project.
  • 24.
    3. Write astaffing management plan • This phase of the planning ensures that everyone you're depending on to keep your project moving is available and prepared to do the work when the time comes. You need to spell out all aspects of staffing the project, including. • How and when staff members will be acquired • Time requirements for each team member throughout the project • How and when skills will be developed as needed • How performance reviews will be conducted • How results will be recognized and rewarded • How and when team members will be released from the project • Safety and compliance needs created by the project 4. Training and development • In addition to skills training, a project manager needs to consider ways to onboard project team members and get them working productively together. This might include an orientation to the project or team-building exercises to introduce team members who might be working together for the first time. • Some team members may require training to use productivity tools and other technology for the project. As the project progresses, the project manager may need to provide individual coaching, dispute resolution, and feedback to keep everyone working effectively for the good of the team. 5. Rewards and recognition • Employees often have to step out of their comfort zones or put in extra effort to keep a project on track. Officially recognizing their efforts and accomplishments can keep the team motivated and provide a record of their performance to carry into future assignments.
  • 25.
    What Is CostEstimation: In project management, cost estimation is the summation of individual cost elements, using established estimating methods Basic characteristics of credible cost estimates as including: • Clear identification of tasks • Broad participation in preparing estimates • Availability of valid data • Standardized structures for the estimates • Provisions for program uncertainties • Recognition of inflation • Excluded costs • Independent reviews of estimates • Revision of estimates for significant program changes
  • 26.
    Why Is CostEstimation Important? Cost estimation and cost management are essential parts of project management. The project manager is responsible for making the most accurate project budget Cost Estimation Techniques 1. Analogous Estimating 2. Parametric Estimating 3. Bottom-Up Estimating 4. Three-point Estimate 5. Reserve Analysis 6. Cost of Quality 7. Dynamic Tools
  • 27.
    How to EstimateCosts in 10 Steps • 1. Define Cost Estimate’s Purpose • 2. Develop Estimating Plan • 3. Define Characteristics • 4. Determine Cost Estimating Techniques • 5. Identify Rule, Assumptions and Obtain Data • 6. Develop Point Estimate • 7. Conduct Sensitivity Analysis • 8. Conduct Risk and Uncertainty Analysis • 9. Document the Estimate and Present to Management • 10. Update Cost Estimate
  • 28.
    Agile Software Development AgileMethodology: • Agile methodology is a project management approach that prioritizes cross- functional collaboration and continuous improvement. • It divides projects into smaller phases and guides teams through cycles of planning, execution, and evaluation. • 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. Therefore, an Agile approach enables project teams to adapt faster and easier compared to other project methodologies. • Agile methodology is an approach to project management that uses 4 values and 12 principles to organize projects.
  • 29.
    Agile Software Development The4 values of the Agile Manifesto are: 1. Individuals and interactions over processes and tools 2. Working software over comprehensive documentation 3. Customer collaboration over contract negotiation 4. Responding to change over following a plan The 12 Agile principles: 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for shorter timescales. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  • 30.
    Agile Software Development 6.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity – the art of maximizing the amount of work not done – is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. The team discusses how to become more effective at regular intervals, then tunes and adjusts its behaviour accordingly. You can run an Agile project using several different frameworks. Some of the more popular ones include: • Scrum • Kanban • Extreme Programming
  • 31.
  • 32.
    Theories for AgileManagement • Agile management is a modern approach to project management and product development that emphasizes flexibility, collaboration, customer-centricity, and iterative progress. • It is based on a set of principles outlined in the Agile Manifesto, which was created in 2001 by a group of software developers. Several theories underpin the principles and practices of Agile management. Let's explore some of the key theories Complex Adaptive Systems (CAS) Theory: • Agile management draws heavily from the Complex Adaptive Systems theory, which views organizations and projects as complex systems comprising numerous interconnected elements • CAS theory recognizes that projects are subject to unpredictable and changing environments, and Agile methodologies
  • 33.
    Theories for AgileManagement Empirical Process Control Theory: • Agile management utilizes empirical process control, which is a feedback- driven approach to decision-making. • The three pillars of empirical process control in Agile are transparency, inspection, and adaptation. Agile teams regularly inspect the progress and outcomes of their work, Lean Thinking Theory: • Lean Thinking, derived from the Toyota Production System, is a management philosophy focused on eliminating waste, increasing efficiency, and continuously improving processes. • Lean principles help Agile teams deliver high-quality products and services with shorter lead times and better customer satisfaction.
  • 34.
    Theories for AgileManagement Theory of Constraints (TOC): • The Theory of Constraints posits that any system is limited by at least one constraint that prevents it from achieving higher performance. • This can include addressing bottlenecks, ensuring collaboration between team members, and optimizing the flow of work. By removing constraints. Human-Centric Theory: • The human-centric theory recognizes that motivated and empowered individuals are more likely to contribute creatively and efficiently to the project's success. Game Theory and Servant Leadership: • Agile management also incorporates aspects of game theory, where team members are encouraged to cooperate, communicate openly, and work together to achieve common goals. • Servant leadership is a leadership philosophy within Agile that focuses on serving the team's needs, enabling them to perform at their best, and removing obstacles
  • 35.
  • 36.
    Traditional project management: Traditionalproject management is an established methodology where projects are run in a sequential cycle: initiation, planning, execution, monitoring, and closure. The traditional project management emphasizes linear processes, documentation, upfront planning, and prioritization. As per the conventional method, time and budget are variable, and requirements are fixed, due to which it often faces budget and timeline issues. Benefits of traditional methodology • Clearly defined objectives • Ultimate control • Clear documentation • More accountability
  • 37.
    Agile Project Management: •While Agile is a general approach used for software development, it relies heavily on teamwork, collaboration, time-boxing tasks, and the flexibility to respond to change as quickly as possible. • The Agile Manifesto has four essential values: More focus on individuals and interactions than processes and tools Working software is more important than comprehensive documentation Customer collaboration is more vital than negotiation The process should respond to change rather than blindly follow a plan Benefits of Agile Project Management: • Flexible prioritization • Early and predictable delivery • Predictable costs and schedules • Improves quality • More transparency • Agile follows an iterative process where projects are divided into sprints of a shorter span. Unlike the traditional approach, less time is spent on upfront planning and prioritization as agile is more flexible in changes and specifications developments.
  • 38.
    Difference between Traditionaland Agile Project Methodology: Characteristics Agile approach Traditional approach Organizational structure Iterative Linear Scale of projects Small and medium scale Large-scale User requirements Interactive input Clearly defined before implementation Involvement of clients High Low Development model Evolutionary delivery Life cycle Customer involvement Customers are involved from the time work is being performed Customers get involved early in the project but not once the execution has started Escalation management When problems occur, the entire team works together to resolve it Escalation to managers when problem arise Model preference Agile model favors adaption Traditional model favors anticipation Product or process Less focus on formal and directive processes More serious about processes than the product Test documentation Tests are planned one sprint at a time Comprehensive test planning Effort estimation Scrum master facilitates and the team does the estimation Project manager provides estimates and gets approval from PO for the entire project Reviews and approvals Reviews are done after each iteration Excessive reviews and approvals by leaders
  • 39.
    Classification of AgileMethods: Agile methods can be classified into several categories based on their focus, principles, and practices. • Iterative Agile Methods: • Scrum: Scrum is one of the most popular Agile frameworks. It employs fixed-length iterations called sprints, typically lasting two to four weeks. Scrum defines specific roles (Product Owner, Scrum Master, and Development Team) and ceremonies (Sprint Planning, Daily Stand-ups, Sprint Review, and Sprint Retrospective). • Extreme Programming (XP): XP emphasizes engineering practices and focuses on continuous integration, test-driven development, pair programming, and collective code ownership. It promotes short development cycles, frequent releases, and a sustainable pace of work. • Flow-Based Agile Methods: • Kanban: Kanban is a flow-based Agile approach that visualizes work items on a Kanban board. It limits work in progress (WIP) to optimize flow, reduce bottlenecks, and deliver work items efficiently. Kanban provides flexibility in managing varying workloads and priorities.
  • 40.
    Classification of AgileMethods: • Lean Agile Methods: • Lean Software Development: Inspired by Lean Manufacturing principles, this Agile method aims to eliminate waste, optimize the whole process, build quality in, and empower the team. Lean Software Development emphasizes delivering value to customers quickly and efficiently. • Feature-Driven Development (FDD): FDD is a model-driven Agile method that focuses on design and progress tracking. It divides the development process into specific feature sets, which are then developed and integrated into the system. • Adaptive Agile Methods: • Dynamic Systems Development Method (DSDM): DSDM is an adaptive Agile approach that emphasizes collaboration, frequent delivery, and continuous user involvement. It provides a framework for delivering projects on time and within budget while maintaining high-quality standards. • Crystal: Crystal is a family of Agile methods tailored for different project sizes and complexities. It emphasizes teamwork, communication, and lightweight processes.
  • 41.
    Classification of AgileMethods: • Hybrid Agile Methods: • Agile Project Management (AgilePM): AgilePM combines Agile principles with project management practices from the traditional waterfall model. It provides a structured framework for managing Agile projects within a more formal project management environment. • Disciplined Agile Delivery (DAD): DAD is a hybrid Agile approach that allows organizations to tailor their development process to their unique needs. It incorporates practices from Scrum, Kanban, XP, and other methodologies. It's essential to choose the Agile method that best suits the specific project's requirements, team dynamics, and organizational culture. Some teams may adopt a single Agile approach, while others might create a customized hybrid approach to meet their needs effectively. Flexibility and a continuous improvement mindset are fundamental principles of Agile methods, enabling teams to adapt and refine their processes for optimal results.
  • 42.
    SCRUM: • The softwaredevelopment term scrum was first used in a 1986 paper titled "The New Product Development Game". The term is borrowed from rugby, where a scrum is a formation of players. The term scrum was chosen by the paper's authors because it emphasizes teamwork. • Scrum is a subset of Agile. It is a lightweight process framework for agile development, and the most widely-used one. • Scrum is an agile project management methodology or framework used primarily for software development projects with the goal of delivering new software capability every 2-4 weeks. • Scrum is an agile framework for developing, delivering, and sustaining complex products, with an initial emphasis on software development, although it has been used in other fields including research, sales, marketing and advanced technologies.
  • 43.
    Agile scrum methodology: •Agile scrum methodology is a project management system that relies on incremental development. Each iteration consists of two- to four-week sprints, where each sprint's goal is to build the most important features first and come out with a potentially deliverable product. More features are built into the product in subsequent sprints and are adjusted based on stakeholder and customer feedback between sprints. • Whereas other project management methods emphasize building an entire product in one iteration from start to finish, agile scrum methodology focuses on delivering several iterations of a product to provide stakeholders with the highest business value in the least amount of time. • Agile scrum methodology has several benefits. First, it encourages products to be built faster, since each set of goals must be completed within each sprint's time frame. It also requires frequent planning and goal setting, which helps the scrum team focus on the current sprint's objectives and increase productivity.
  • 44.
    Lifecycle of Scrum: •Sprint: A Sprint is a time-box of one month or less. A new Sprint starts immediately after the completion of the previous Sprint. • Release: When the product is completed then it goes to the Release stage. • Sprint Review: If the product still have some non-achievable features then it will be checked in this stage and then the product is passed to the Sprint Retrospective stage. • Sprint Retrospective: In this stage quality or status of the product is checked. • Product Backlog: According to the prioritize features the product is organized. • Sprint Backlog: Sprint Backlog is divided into two parts Product assigned features to sprint and Sprint planning meeting.
  • 45.
    How Scrum Works? •Scrum software development starts with a wish list of features — a product backlog. The team meets to discuss: • The backlog. • What still needs to be completed. • How long it will take. • Scrum relies on an agile software development concept called sprints: • Sprints are periods of time when software development is actually done. • A sprint usually lasts from one week to one month to complete an item from the backlog. • The goal of each sprint is to create a saleable product. • Each sprint ends with a sprint review. • Then the team chooses another piece of backlog to develop — which starts a new sprint. • Sprints continue until the project deadline or the project budget is spent. • In daily scrums, teams meet to discuss their progress since the previous meeting and make plans for that day. • The meetings should be brief — no longer than 15 minutes. • Each team member needs to be present and prepared. • The ScrumMaster keeps the team focused on the goal.
  • 46.
  • 47.
    What are thebenefits of agile scrum methodology? Here are some of the collective benefits of agile scrum methodology: • Flexibility and adaptability • Creativity and innovation • Lower costs • Quality improvement • Organizational synergy • Employee satisfaction • Customer satisfaction
  • 48.
    LEAN PRODUCTION: • LeanProduction, also known as Lean Manufacturing, is a production philosophy and management approach that originated from the Toyota Production System (TPS) in the 1940s and 1950s. • It is a systematic method for identifying and eliminating waste, improving efficiency, and delivering value to customers more effectively. • Lean Production aims to create a streamlined and highly efficient production process by optimizing resources and minimizing unnecessary activities, resulting in higher productivity and improved quality.
  • 49.
    Lean – Agile/Scrumrelationship Lean Scrum Team Scrum Team Lean Principles • Lean Principles - to reduce waste without frustrating customers • Agile - to reduce cost to make changes that reduce time to market
  • 50.
    • Eliminate Waste •Embed Quality • At every opportunity add quality to your process from the backlog to the demo • Learn First • One needs to learn as quickly as possible as part of successive elaboration • Deliver Fast • Get working software (product) in front of stakeholders as quickly as you can • Improve Constantly • Inspect and Adapt is a major tenant of Scrum and Agile development • Respect People • The team are the ones that know the work and know best how to organize to get the best throughput • Think Systems • Keep the overall system in mind as you develop success increments of what will eventfully become your product The 7 principles of Lean development: