This document provides an overview of scrum as an agile framework for IT projects. It first defines what a project is and discusses different software development life cycles (SDLC) models like waterfall, V-shaped, prototyping, spiral, iterative, and agile. It then focuses on agile development, describing the agile manifesto, principles, and iron triangle. Finally, it introduces scrum as a common agile method and notes that scrum will be discussed in more detail in part 2 of the document.
2. What is Project ?
• Project is a temporary endeavor undertaken to create a unique product, service or
result.
• A project is temporary in that it has a defined beginning and end in time, and
therefore defined scope and resources.
• A Series of task that needs to be completed in order to reach a specific outcome ,to
achieve a particular goal.
3. Project Management
Project management is the application of knowledge, skills, tools
and techniques to project activities to meet the project
requirements.
4. The core components of project management
Defining the reason why a project is necessary;
Capturing project requirements, specifying quality of the deliverables, estimating resources and
timescales;
Preparing a business case to justify the investment;
Securing corporate agreement and funding;
Developing and implementing a management plan for the project;
Leading and motivating the project delivery team;
Managing the risks, issues and changes on the project;
Monitoring progress against plan;
Managing the project budget;
Maintaining communications with stakeholders and the project organization;
Provider management;
Closing the project in a controlled fashion when appropriate.
PMI’s A Guide to the Project Management Body of Knowledge (PMBOK® Guide)
5. Software Development Life Cycle SDLC
The Software development Life cycle (SDLC) is a
framework defining task performed at each step in the
software development process.
SDLC is a structure followed by a development team
within the software organization.
SDLC is a process used by the software industry to
design ,develop & Test high quality software.
6. Types of SDLC
Waterfall Model
V-Shaped Model
Evolutionary Prototyping Model
Spiral Method (SDM)
Iterative and Incremental Method
Agile development
7. Waterfall Model
The Waterfall Model is a linear sequential flow. In which progress
is seen as flowing steadily downwards (like a waterfall) through the
phases of software implementation.
This means that any phase in the development process begins only
if the previous phase is complete.
The waterfall approach does not define the process to go back to
the previous phase to handle changes in requirement.
The waterfall approach is the earliest approach and most widely
known that was used for software development.
The usage
Projects which not focus on changing the requirements, for
example, projects initiated from a request for proposals (RFPs), the
customer has a very clear documented requirements
8. V-Shaped Model
The V-model is an SDLC model where execution of
processes happens in a sequential manner in a V-
shape. It is also known as Verification and
Validation model.
It is an extension of the waterfall model, Instead of
moving down in a linear way, the process steps are
bent upwards after the implementation and coding
phase, to form the typical V shape. The major
difference between V-shaped model and waterfall
model is the early test planning in the V-shaped
model
The usage
1)Software requirements clearly defined and known
2)Software development technologies and tools are
well-known
9. Prototyping Model
It refers to the activity of creating prototypes of software
applications.
It is an activity that can occur in software development.
It used to visualize some component of the software to limit the
gap of misunderstanding the customer requirements by the
development team.
This also will reduce the iterations may occur in waterfall
approach and hard to be implemented due to the inflexibility of
the waterfall approach. So, when the final prototype is
developed, the requirement is considered to be frozen.
The usage :This process can be used with any software
developing life cycle model. While this shall be chosen when
you are developing a system has user interactions.
10. Prototyping Model…. Contd
Throwaway prototyping: Prototypes that are eventually discarded rather than
becoming a part of the finally delivered software.
Evolutionary prototyping: prototypes that evolve into the final system through
an iterative incorporation of user feedback.
11. Prototyping Model….Contd
Incremental prototyping: The final product is built as separate prototypes. In the end, the separate prototypes
are merged in an overall design.
Extreme prototyping: used in web applications mainly. Basically, it breaks down web development into three
phases, each one based on the preceding one. The first phase is a static prototype that consists mainly of HTML
pages. In the second phase, the screens are programmed and fully functional using a simulated services layer.
In the third phase, the services are implemented
12. Spiral Model (SDM)
It is combining elements of both design and
prototyping-in-stages, in an effort to combine
advantages of top-down and bottom-up concepts.
This model of development combines the features of the
prototyping model and the waterfall model.
The spiral model is favored for large, expensive, and
complicated projects.
This model uses many of the same phases as the
waterfall model, in essentially the same order, separated
by planning, risk assessment, and the building of
prototypes and simulations.
The usage :It is used in the large applications and
systems which built-in small phases or segments.
13. Iterative and Incremental Model
It is developed to overcome the weaknesses of the waterfall
model.
It starts with an initial planning and ends with deployment with
the cyclic interactions in between.
The basic idea behind this method is to develop a system
through repeated cycles (iterative) and in smaller portions at a
time (incremental), allowing software developers to take
advantage of what was learned during the development of earlier
parts or versions of the system.
It can consist of mini waterfalls or mini V-Shaped model
The usage:It is used in shrink-wrap application and large system
which built-in small phases or segments.
Also, can be used in a system has separated components, for
example, ERP system. Which we can start with the budget
module as a first iteration and then we can start with inventory
module and so forth.
14. Agile Model
It is based on iterative and incremental development, where
requirements and solutions evolve through collaboration between
cross-functional teams.
The usage
It can be used with any type of the project, but it needs more
engagement from the customer and to be interactive. Also, it can be
used when the customer needs to have some functional requirement
ready in less than three weeks and the requirements are not clear
enough.
16. What is Agile ?
Agile software development describes an approach to software development under
which requirements and solutions evolve through the collaborative effort of self-organizing
and cross-functional teams and their customer/end user.
17. Agile Manifesto
The Agile Manifesto was created as an
alternative to document-driven, heavyweight
software development processes such as the
waterfall approach. The four core values
of agile software development as stated by
the Agile Manifesto emphasize: Individuals and
interactions over processes and tools.
18. Agile Principles
The following principles are based on the Agile Manifesto. Our highest priority is to satisfy the
customer through early and continuous delivery of valuable software. Welcome changing requirements,
even late in development. Agile processes harness change for the customer's competitive advantage.
12 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 to the shorter timescale.
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.
19. 12 Principles
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) At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its
behavior accordingly.
21. The Agile umbrella
The Agile umbrella has many offerings depending on your needs.
Some of the most notable ways to be Agile :
Scrum : For collaboration and focus
Scrum is iterative, incremental and relies heavily on
frequent team communication and customer interactions.
A flexible environment for development is offered in 1-4 week
timeboxed iterations called sprints.
These short cycles allow for teams to develop a cadence, typically
measured with "story points" via velocity, and a short feedback
loop.
Frequent evaluation with stakeholders and customers ensures an
essential feature isn't overlooked and that nothing is
overdeveloped, or gold plated.
Sometimes Scrum is criticized as inefficient due to the ceremonies
requiring team attendance, like retrospectives, demos, sprint
planning and backlog grooming.
Scrum is not the most efficient method but it is very effective.
22. Kanban: For efficiency
This method is not time bound and focuses on flow.
Work is kept in a prioritized backlog and moved through columns with WIP (work
in progress) limits.
The backlog’s priority order can change fluidly.
Developers will pick up the top work item when they are able to start something
new.
Bottlenecks are revealed dynamically when column constraints are hit.
Work items are pulled from the backlog and put into production when column
constraints allow supports a just-in-time delivery made popular by Toyota's
production system.
XP (Extreme Programming) : For development practice
Features are broken into granular tasks for very short iterations, typically one to
two weeks.
As long as the team hasn't started working on a task during the iteration it can be
changed out for another task of an equivalent size.
Work is sequenced in a strict priority order and code is released quickly through
mandated engineering practices including test-driven development, pair
programming, and refactoring.
Acceptance tests take the place of requirements and specs.
The Agile umbrella
23. Lean: For eliminating waste
Everything from unnecessary documentation to slow communication is regarded as
waste and targeted for elimination to produce a better product.
If at any time quality is not met team members are empowered to stop the process.
There is no specific Lean development method.
Technically any process can be considered "lean" if it aligns with the following
values: Eliminate waste, Build quality in, accelerate learning, Defer commitment,
Deliver fast, Respect and empower People, Optimize the whole
Feature-driven Development (FDD):For organization
and reporting
Projects start with something similar to a "Sprint 0" often employed by Agile
teams that serves as a short period to setup the work that will occur in subsequent
iterations.
In FDD the initial activities are developing an overall model, building the feature
list and creating a development plan with ownership assigned by feature
Then the design and build cycle begins, each iteration lasting anywhere from a
few days up to two weeks, with small groups of features.
Sufficient time is spent on documentation and end-users participate through
reports.
FDD is not well suited for small projects due to the level of complexity and
possibility for multi-tasking.
The Agile umbrella
24. Dynamic Systems Development Method
(DSDM): For meeting deadlines and budgets
Focused on projects with tight schedules and budgets by incremental
prototyping.
Functionality and requirements are the variables rather than time or resources.
Features identified as the most important are delivered first using MoSCoW
prioritization.
DSDM strives to deliver 80% in the first of the scope in 20% of the time by
iterating in intervals, typically 2-6 weeks in length.
The Agile umbrella