Uploaded by dilshan.freeads+1

SAD Task 1

advertisement
Task 1
1.1. System Development Life Cycle Methodology
Introduction of SDLC Method
Software development life cycle is called SDLC. Developing, designing, and
maintaining a software project using this method ensures that all features and user needs,
goals, and objectives are taken into account. SDLC improves the quality of software
projects and the overall software development process.
Stages of Software Development Life Cycle




Requirement Gathering & Analysis Phase
Design Phase
Development Phase
Testing Phase
 Deployment & Maintenance Phase
Requirement Gathering & Analysis Phase
The first and most important phase of an SDLC, it is essential to the
success of a software project. Communication between project teams,
stakeholders, and end users occurs during this phase when both functional and
non-functional needs are acquired from clients.
Developers can:



Identify the prototype's system needs;
Consider alternatives to current prototypes.
Carry out analysis and research to identify end-user needs.
This will prevent squandering money or resources while
collaborating with other development teams in the same space.
Design Phase
The major development phase must come before the design phase.
The creators will first go into depth about the features and the entire
application:




Interfaces for use
Interfaces with systems
Networks and necessary network components
Database
They usually convert the SRS document they produce into a more
logical format so that it may be used as code. Based on the specifications
in the SRS document, an architectural design for the project is suggested.
Plans for operations, training, and upkeep are created so that developers
are aware of what to accomplish at each point of the next cycle.
Development managers will create a project document when
everything is finished that will make references to following phases of the
SDLC.
Development Phase
the life cycle of a new company. Companies concentrate on
establishing themselves during the development stage by carrying out
tasks including market research, product development, and the building of
new production facilities.
Economists refer to the many stages of a firm's existence as the
"life cycle" of the business. Although this cycle's development stage
comes first, it is followed by phases of market introduction, growth,
maturity, and decline.
Testing Phase
The testing approach is included in almost all levels of the SDLC.
However, the testing step of the SDLC is when any bugs or defects in the
system are checked for, reported, and fixed. During this stage, the active
system or project is transferred to a test environment where various testing
procedures are carried out. Until the project meets the quality
requirements outlined in the SRS document during the requirement
collecting phase, this testing is carried out.
The following are included in the testing phase:
 Testing the entire system
 Putting the system through several test kinds
 Reporting and resolving all bugs and problems
Deployment & Maintenance Phase
Once the system testing is complete during this phase of the
SDLC, it is prepared for launch. By doing UAT, or user acceptance
testing, on the system in a genuine business setting, it may be first issued
for a small number of users.
Involved in the Deployment & Maintenance Phase are:




The delivery system is ready.
The apparatus is put into operation.
Errors that may have previously gone unnoticed are fixed.
Improving the internal system of a data center.
Advantages of System Development Life Cycle Methodology
 With SDLC, one can address the objectives and issues to ensure that the project is
carried out with the utmost accuracy and precision.
 The SDLC prohibits project participants from moving on before the previous
steps have been completed and approved.
 Before moving on to the installation step, every installation in a project that has
been completed utilizing the SDLC has undergone the requisite inspections.
 Project participants may continue the software development process without
running into any issues if a clear SDLC is in place.
 SDLC delivers the best control with the fewest issues, enabling the project
participants to carry out their work without interruption.
Disadvantages of System Development Life Cycle
 Because of the presumptions established at the beginning of the system
development project, if different unanticipated events complicate the development
process, that might result in further difficulties down the road. For instance, if
recently installed gear is ineffective, it may raise the expenses and length of time
needed for the development.
 Some methods are not adaptable.
 The total cost of the software project may be difficult to predict at the outset.
 It might take longer for development teams to complete testing at the conclusion
of the process.
1.2. What Is Traditional Methodology
The steps of a process take place in order according to the linear classical
project management (waterfall) paradigm. Its idea relies on reliable resources and
expertise. Every project adheres to the same life cycle, which is represented in the
above image and comprises stages like feasibility, planning, designing,
constructing, testing, manufacturing, and support.
The entire project is prepared in advance with no room for adjusting
needs. This strategy makes the assumption that while requirements are flexible,
time and cost are not. Since there is no room for modifying the criteria once the
project development process has begun, this strategy is not suitable for large
projects.
Types of Traditional Methodology
Waterfall Model
Prototype Model
Spiral Model
 Waterfall Model
The initial introduced
process model was the waterfall
model. A linear sequential life
cycle model is the name given to
it. Both using and
comprehending it are really easy.
A waterfall paradigm requires
that each step be finished before
moving on to the next. Between
them, there is no overlap. The
SDLC technique for software
development that is the oldest is
the waterfall model. In a linear, sequential flow, the waterfall model depicts
the software development process. This indicates that a step of the
development process can only start if the one before it is complete. The stages
do not overlap in this waterfall model. The waterfall technique was the first
widely used SDLC model in software engineering to ensure project success.
The "waterfall" technique divides the entire software development process
into many segments. The outcome of one phase frequently serves as the input
for the stage that follows in this waterfall methodology.
Steps of Waterfall Model
1. Requirement Gathering and analysis
In this stage, every potential need for the system that will be created is
gathered and outlined in a requirement specification document.
2. System Design
In this phase, the first phase's required specifications are examined, and the
system design is created. In addition to describing the overall system architecture, this
system design aids in identifying the hardware and system requirements.
3. Implementation
The system is initially built as tiny programs known as units with input from
the system design, and is then combined in the next phase. Unit testing is the process
of creating each unit and evaluating it for functionality.
4. Integration and Testing
After each unit has undergone testing during the implementation phase, the
entire system is merged. Following integration, the entire system is examined for
errors and failures.
5. Deployment of system
Once the product has undergone functional and non-functional testing, it is
either published to the market or deployed in the customer's environment.
6. Maintenance
Various problems might arise in a client environment. Patches are published
to address certain problems. Additionally, improved versions of the product are
issued. To bring about these changes in the surroundings of the consumer,
maintenance is performed.
When to Use the Waterfall Model?
The waterfall approach is most frequently used in product development and
software engineering, with less frequent use in other projects and sectors.
The waterfall model is used only if the project meets the following criteria.





All specifications are known, understood, and established.
No unclear criteria exist.
The task is brief and straightforward.
The environment is steady for development, and resources are qualified and
readily available.
The employed tools and methods are static rather than dynamic.
Advantages & Disadvantages of Waterfall Model
Advantages of Waterfall Model
The ability to departmentalize and exercise control is one of waterfall
development's benefits. A product can move through the stages of the
development process model one at a time by setting deadlines for each step
and following a timetable. Conceptualization is followed by design,
implementation, testing, installation, troubleshooting, and finally operation
and maintenance in the development process. The stages of development are
carried out in a certain order.








Straightforward and simple to use
Because of the model's rigidity, it is simple to manage. Specific
deliverables and a review procedure are included at each phase.
Each phase is handled and finished separately.
Works effectively for smaller projects with clearly defined criteria.
There are distinct stages.
Easily understandable benchmarks
Simple to organize assignments
Results and processes have been well-documented.
Disadvantages of Waterfall Model
Waterfall development has the drawback of not allowing for a lot of
reflection or correction. It is quite challenging to go back and fix something
that wasn't carefully thought out or documented during the idea stage after an
application has entered the testing phase.
 It takes till the end of the life cycle for any functioning software to be
generated.
 Risk and uncertainty are quite high.
 Unsuitable as a model for intricate and object-oriented designs.
 Ineffective paradigm for continuing, protracted projects.
 Not appropriate for projects where there is a moderate to high
probability of requirements changing. So, with this process model, risk
and uncertainty are considerable.
 It is challenging to gauge development within phases.
 unable to adapt to changing needs.
 The project life cycle can be terminated by changing the scope.

Integration is completed in a "big-bang" at the very end, which
prevents the early detection of any business or technology bottlenecks
or issues.
 Prototype Model
One of the most commonly used models for the software development
life cycle is the prototype model. When consumers are unsure about the exact
project needs in advance, they utilize this paradigm. According to this
concept, a preliminary version of the finished product is created, tested, and
repeatedly improved in response to consumer input until a final, acceptable
prototype is attained.
Customers can view the product early in its life cycle thanks to the
system's partial operation in this process model, which occurs before or during
the analysis phase. Client interviews and the creation of an imperfect highlevel paper model are the first steps in the procedure. This document is used to
construct the initial prototype, which only covers the most fundamental
functionality as specified by the client. The prototype is further improved to
fix problems once the consumer notes them. The procedure keeps on until the
user accepts the prototype and is happy with the working model.
Types of Prototype Models
a. Rapid Throwaway Prototyping –
This method offers a useful technique to evaluate ideas and get feedback
from clients. This technique does not require that a created prototype be a part of
the final, authorized prototype. A higher-quality final prototype is produced as a
consequence of the designers' use of customer feedback to prevent unnecessary
errors.
b. Evolutionary Prototyping –
This method entails gradually modifying the first created prototype based
on client feedback until it receives final approval. It offers a superior process that
is quicker and easier to use than Rapid Throwaway Prototyping. This is because
for developers, having to start from scratch with each iteration of the process, may
occasionally be quite unpleasant.
c. Incremental Prototyping –
This sort of incremental prototyping involves breaking the ultimate
planned product down into smaller prototypes that are each made individually.
The prototypes are finally assembled in the right sequence to produce the finished
product once each component has been properly developed. The complexity of
the development process is greatly reduced by this approach by segmenting the
target into smaller components and creating each component individually. There
is a lot less time between the start of the project and the final delivery since all
system components are prototyped and tested concurrently.
d. Extreme Prototyping –
This method is mostly used in the creation of websites. There are three
separate, subsequent portions to it.

The present offering is a simple HTML prototype that includes all of the
static pages that are already online.

The project's second phase entails building operational displays with
simulated data processing using a prototype service layer.

The final stage is when all services are implemented and connected to the
finished prototype.
Steps of The Prototyping Model









We give as much practical information on the new system standards as we
can. Speaking with a wide range of users who represent all the parts or
facets of the current system is typically essential for this.
A simple, clear design is provided to the new system.
A first prototype of the new system is created using the original concept.
This is frequently a smaller system that replicates the characteristics of the
final item.
The clients extensively reviewed the original prototype and noted any
necessary adjustments or enhancements. User input is gathered and
assessed by the designer.
After the first prototype is modified in response to client input, a second
prototype of the new system is created.
Similar to how the first prototype was evaluated, the second prototype is
also evaluated.
The aforementioned steps are performed as many times as necessary to
persuade clients that the prototype faithfully captures the desired result.
The whole system is constructed from the successful prototype.
The completed system is put through a rigorous testing and assessment
process. The two primary goals of routine maintenance are to avoid
catastrophic failures and minimize downtime.
Advantages of The Prototyping Model






Early in the life cycle, the clients get to witness the incomplete product. This
guarantees higher levels of client comfort and pleasure.
There is room for improvement, therefore it is simple to suit new requirements.
Missing functionality is simple to identify.
Errors may be found considerably sooner, saving time and money while also
improving the software's quality.
The developer can utilize the created prototype again in the future for tasks that
are more challenging.
Versatility in the design.
Disadvantages of The Prototyping Model








Costly in terms of both time and money.
Each time the customer evaluates the prototype, there can be an excessive
amount of fluctuation in the requirements.
Poor documentation as a result of constantly changing consumer demands.
It is exceedingly challenging for developers to implement all the modifications
that the client requests.
It is difficult to predict how many revisions would be necessary before the
consumer would eventually approve the prototype.
Customers will occasionally want a quick delivery of the finished product after
seeing an early prototype.
Rapid prototyping by developers may result in less-than-ideal solutions.
If the buyer is not pleased with the initial prototype, he or she can lose interest in
the product.
Uses of The Prototyping Model




When the needs of the product are unclear or unstable, the prototyping model
should be applied.
If needs change fast, it can also be applied.
User interfaces, sophisticated software-intensive systems, and systems with
intricate interfaces and algorithms may all be effectively developed using this
architecture.
It is also a fantastic option for proving the product's technical viability.
 Spiral Model
The spiral model is one of the most important models for the Software
Development Life Cycle that helps risk handling. Diagrammatically, it looks like
a spiral with several loops. The exact number of loops in the spiral varies
depending on the job. Each spiral loop is a stage in the software development
process. Depending on the project's risks, the project manager may change the
exact number of stages needed to develop the product. Due to their ability to
dynamically determine the number of phases, project managers are essential to the
spiral model of product development.
The spiral's radius represents the project's overall expenses at any given
time, while its angular dimension represents how far along the current phase is.
Functions of Spiral Model

Objectives Determination and Identify Alternative Solutions
At the beginning of each step, the objectives are specified, developed
upon, and assessed while requirements are acquired from the clients. Then, in this
quadrant, other solutions that could be viable for the phase are offered.

Identify and Resolve Risks
All potential solutions are assessed in the second quadrant in order to
choose the best one. The risks connected to that solution are then determined, and
the risks are dealt with in the best way feasible. The Prototype is constructed for
the ideal outcome at the conclusion of this quadrant.

Develop Next Version of The Product
The third quadrant is when the specified characteristics are produced and
tested. The following software version is accessible at the conclusion of the third
quadrant.

Review and Plan for The Next Phase
The customers assess the software's currently created version in the fourth
quadrant. Planning for the following step is then begun.
Uses of Spiral Models







projects where it's imperative to release often;
initiatives that may at any point require adjustments;
long-term initiatives that are no longer possible because of changed economic
considerations;
high-risk to medium-risk initiatives;
initiatives where cost and risk assessments are crucial;
initiatives that might profit from the development of a prototype;
complicated or ambiguous needs projects.
Steps of Spiral Model
The phases are divided into quadrants, and each quadrant may be further divided
into the steps that take place inside it. The spiral model's steps may be summarized as
follows:
1. The new system specifications are laid forth in as much detail as is practical. This
often entails interviewing a diverse group of users who represent all the internal
and external users as well as various elements of the current system.
2. The new system has a draft design made for it.
3. The initial design of the new system is used to build a first prototype. This is often
a scaled-down system that approximates the properties of the finished item.
4. A second prototype is developed using the following four steps.
5. Assessing the initial prototype's advantages, disadvantages, and hazards.
6. Describing the second prototype's criteria.
7. Creating the second prototype and planning its design.
8. Putting the second prototype together and testing it.
9. If the danger is assessed to be too high, the entire project may be abandoned. Risk
elements might include operational cost underestimations, development cost
overruns, and other things that could lead to a subpar finished product.
10. The current prototype is assessed similarly to how the prior prototype was
assessed, and if more testing is required, another prototype is created from it using
the four-step process described above.
11. The previous processes are repeated until the client is certain that the improved
prototype accurately portrays the intended final product.
12. On the basis of the improved prototype, the finished system is built.
13. The finished system undergoes extensive testing and evaluation. Continuous
routine maintenance is performed to avoid catastrophic failures and reduce
downtime.
Advantages of Spiral Model







Early in the software life cycle, software is generated.
The spiral model is the ideal development model to use since it incorporates risk
analysis and risk management at each level, which is one of its key benefits.
Requires adaptability. With this architecture, we may exactly integrate changes to
the requirements at a later stage. Furthermore, other features can be introduced in
the future.
Fit for significant and complicated tasks.
It improves client satisfaction. Early on in the software development process, we
may include customers in product development. Software is also produced early
on in the software life cycle.
Strict oversight and documentation approval.
It is appropriate for high-risk projects where business requirements may be
unpredictable. This makes it possible to create a product that is very configurable.
Disadvantages of Spiral Model








Due to its high price, it is not appropriate for modest projects.
Compared to other SDLC models, it is significantly more sophisticated. The
procedure is difficult.
It necessitates a very solid and focused understanding of risk analysis.
Time management issues. It is particularly challenging to predict the length
because the project's first stage count is unknown.
The spiral might go on forever.
The project's conclusion might not be foreseen in advance.
Projects involving little risk should not use this.
Why Setting up realistic, verifiable milestones might occasionally be challenging.
Numerous intermediary stages necessitate needless paperwork.
Strengths of Traditional Methodology
 Clear instructions
This enables them to operate effectively and with little oversight.
 Very high Control
This stops alterations to the project's initial scope.
 Only one person is responsible
Stakeholders always know who to approach during the project to acquire
all the essential updates, saving them time from having to get in touch with many
persons.
 Detailed documentation
The documents standardize the whole process and may also be used as a
reference for future initiatives.
Weakness of Traditional Methodology
 Development will be sluggish if your client's needs aren't clearer. because typical
project management's sequential model makes modifications challenging.
Changes might throw off the order, causing the subsequent development phase to
progress before the preceding step is finished.
 The customer's buying space is limited in each. a development kits. Customers are
not involved until the product has completed the whole development process. It
will be a time-wasting phenomenon if the customer's expectations are not met.
 Poor time management might be an issue in the past. Mutual development, team
type, and troop.
 Traditional leaves little opportunity for novel approaches to methodology.
Sequential approach continuous evolution is not appropriate. Not much can be
done but obey the rules.
 Different subcontractors have authority over development. There isn't just one
dynamic squad with a single original captain.
1.3 What is Agile Methodology
Agile method promotes cooperation, customer collaboration, and flexibility in
contrast to a traditional method that places a heavy emphasis on upfront planning that
prioritizes issues like cost, scope, and time. It is an iterative method that emphasizes
continuously releasing software and incorporating user feedback into each iteration of
a software development project.
Agile software development's fundamental tenet is that it focuses on dynamic
changes and teamwork to produce results rather than following a predetermined
method. The best aspect of Agile is probably adaptive planning, which is what makes
it so popular with project managers all around the world.
Nowadays, utilizing it for software development comes with a number of
issues. Major challenges were managing client modification requests during project
development and the substantial expense and time needed to integrate these changes.
In the middle of the 1990s, the Agile Software Development approach was created to
address these flaws in the waterfall methodology.
The main goal of the Agile approach is to provide speedy project adaptation to
shifting requirements. As a result, the Agile model's primary goal is to speed up
project completion. To complete this work, dedication is required. By adapting the
process to the project and removing tasks that are not necessary for that project,
agility is accomplished. Additionally, any effort and time loss may be avoided.
A collection of development techniques make up the Agile methodology.
These processes are similar in some fundamental ways but differ somewhat in others.
Several Agile SDLC models








Crystal
Kanban
DSDM Atern
Feature driven development
Scrum
Extreme programming (XP)
Lean Development
Unified process
Requirements under the Agile model are broken down into several little
components that might be modified. Iterative development is used in the agile
methodology. In iterations, each incremental section expands. Each iteration is
designed to be brief, manageable, and finish in a matter of weeks. Iterations are
conceived, created, and released to clients one at a time. There are no long-term
plans in place. Iterative and incremental process models are also used in the Agile
model.
The steps involved in agile SDLC models are:






Requirement gathering
Requirement Analysis
Design
Coding
Unit testing
Acceptance testing
A time box is the amount of time needed to finish an iteration. The
timebox is the longest period of time that clients are willing to request a
repetition. The conclusion of an iteration remains the same as a result. If the
development team wants to produce within a timeframe, they might choose to
limit the supplied functionality. Delivering an increment to the client after each
period is a key component of the Agile paradigm.
Principles of Agile Model







Each Agile project often has a client representative on the team to create
close contact with the customer during development and to clearly grasp
varied needs. Stakeholders and the customer representative examine and
reevaluate the requirements at the conclusion of each cycle.
Agile models rely less on extensive documentation and more on the
deployment of functional software.
Transmission of incremental software updates on a regular basis, usually
every few weeks, to the customer representative
Customer suggestions for requirement adjustment are welcomed and
swiftly implemented.
The necessity of having effective team members and improving
communications within them is emphasized. It is understood that face-toface communication, rather than the formal document exchange, can
improve communication among development team members.
To enable the team members to genuinely engage in face-to-face contact
and foster a collaborative work atmosphere, it is advised that the
development team be maintained small (5 to 9 persons).
Pair programming is frequently used in agile development processes. Two
programmers collaborate at the same workstation during pair
programming. While the other monitors the code as it is entered, oneperson codes. Every hour or so, the two programmers trade duties.
Advantages of Agile Methodology







Develop software that reflects your expanding understanding of user
requirements.
Software releases more quickly and gets updates more often.
Improved style, readability, and organization of the code.
A flexible and adaptive approach enables you to adjust or rotate a project
in the middle of it.
Does not need a thorough list of criteria to be prepared in advance.
Offers the chance to participate in organizational learning as the project
develops.
Openness and ongoing dialogue with stakeholders
Disadvantages of Agile Methodology




Early in the software development lifecycle, it can be challenging to
estimate the work necessary for some software deliverables, especially big
ones.
The necessary design and documentation are not given enough attention.
If the client representative is unsure of the desired outcome, a project may
be quickly derailed.
The choices that must be made during the development process can only
be made by seasoned programmers. Therefore, if you don't employ
knowledgeable resources, there is no room in it for inexperienced
programmers.
Strength of Agile Methodology



High levels of client satisfaction with the design process. Because agile
projects involve close client coordination, the client has a significant
impact on the development project. Customer input is always taken into
consideration as the software is regularly provided in brief cycles.
Ongoing communication amongst stakeholders. You may avoid producing
a lot of technical documentation, procedures, and tools by having your
teams work closely together and with clients. Each member believes they
are an integral part of the team making the decisions. This promotes
initiative and innovation and produces better outcomes.
Consistent quality control and meticulousness. Early on in the agile
development process, the testing team is responsible for ensuring product
quality. Short development cycles allow for continuous testing, which
makes it possible to create high-quality final products.
Weakness of Agile Methodology




Issues with the coordination of the work flow. Multiple small teams
working on their individual software projects are common in agile
initiatives. They should always coordinate their efforts with one another,
management, and evaluators. Before beginning the project, you will need
to consider a lot of contact management given the ongoing client
engagement. While having too many interactions is seen to be a strength
of the agile technique, there are several reasons why it might also be a
weakness.
Planning was challenging in the beginning. Planning is crucial before the
agile development process even starts. Before the project starts, it's crucial
to evaluate your resources, form teams, and explain the project's general
scope to everyone involved.
Teams with experience are essential. Teams working on agile projects
must continually make important decisions. Only seasoned software
engineers, testers, and administrators should be involved in the project,
according to this. This software development technique doesn't provide
newcomers much room.
Lack of long-term planning in some cases, the project's lack of a distinct
vision may provide difficulties. If the client requests too many changes
throughout the process, your project may go off course. Remember that at
the end of the project, all of these software components, which have
undergone several alterations and adjustments over the development cycle,
must be placed together and used. Additionally, there won't be any
paperwork because most customer interactions take place verbally.
 Scrum
Undoubtedly, Scrum is the framework that the Agile approach is built
around the most. Scrum is characterized by cycles or stages of development, called
sprints, and by maximizing the amount of time a software product spends being
developed in the direction of a goal, the Product Goal. This Product Goal is a more
expansive value target, and each sprint advances the scrum team product.
It may be effectively employed in a business-related setting, although it is
often used in the management of the creation of software products.
A project management approach where a small team is overseen by a
Scrum master, whose major responsibility is to remove any barriers to completing
work. Sprints, short work cycles, are used, although the team meets every day to
go through tasks and any obstacles.
5 Steps of Scrum
Step 1:
Step 2:
Step 3:
Step 4:
Step 5:
Product backlog creation
Sprint planning and creating backlog
Working on sprint
Testing and Product Demonstration
Retrospective and the next sprint planning
 Step 1: Product backlog creation
The major items and functional details are converted into epics and user
stories in this stage. The user stories have been reduced in size from the original,
larger items so that they may be added to the product backlog. The epics may be
added to the product backlog as well, but they cannot be added to the sprint
backlog until they have been converted into a user story.
As an administrator, I wish to create, alter, and delete tasks for users on the
website. This is an example of a common user narrative.
The following required fields in the user stories are necessary.




The user stories significance
The initial estimate made during the meeting
Demo of how to make the user stories into tasks
Know what is included in the product backlog
 Step 2: Sprint planning and creating backlog
For the user stories to be as brief as feasible, the sprint time is crucial. The
usual sprint lasts two weeks on average. The benefit of a short sprint is that more
user input can be obtained, and the majority of mistakes and issues may be fixed
sooner. The developer can work extensively if the sprint time is long.
The construction of the sprint backlog is the next step, for which the scrum
team must choose the most crucial user stories and break them down into more
manageable tasks. They must devise a strategy for completing the assignment.
Prioritizing the critical activities is another crucial step.
 Step 3: Working on sprint
The sprint backlog, where the actual work begins, receives the actual user
stories as discrete tasks. Here is where the actual development of the software
program, such as a website, starts.
A task board, also known as a Kanban board, is first created using a large
number of cards. The cards include information on the tasks, including the
assignee, the kind of the job, the due date, the length of time, etc. The columns on
the task board are as follows: "Product backlog or the User stories," "To Do" lists,
"Work in Progress," "Testing," and "Work Done."
Depending on choice and completeness, the cards can be shifted from left
to right. The Star Agile Institute's online Scrum master certification program
includes a detailed explanation of the task board.
The scrum meetings are crucial in this stage since they are used to track the
progress status and who is handling what. The burndown chart, which specifies
how many tasks have been done and whether there have been any difficulties in
finishing the jobs in the "Work in Progress" columns, is the result of this meeting.
 Step 4: Testing and Product Demonstration
All tasks must be realized as a functioning product that has undergone
comprehensive life cycle testing. The cost of testing may be reduced by adding
QA or by having fewer user stories, although the first option is the ideal one. The
client must be shown each finished sprint for approval and to get his or her
opinion on the overall solution.
 Step 5: Retrospective and the next sprint planning
Discussing what went well and what may be improved for the following
level is the outcome of this stage. You should also talk about any specific
concerns or problems' hazards and lessons learnt. Based on the information we
have about the ongoing processes and previous projects, the planning for the
following sprint must then begin. For professionals, Star Agile offers online
Certified scrum master training. Recognize how the sprint retrospective works.
How to use Scrum
 Familiarize Yourself with Scrum Guides





Assign Roles to Your Scrum Team
Create a Product Backlog
Conduct Sprint Planning and Daily Standup Meetings
Define When a Sprint Is Considered Done
Review, Reflect, and Repeat
Advantages of Scrum






Programmers' desire to reach each sprint's deadline helps to motivate the
team.
All team members or even the entire organization can monitor the project
thanks to transparency.
For verifying requirements, a straightforward "definition of done" is
utilized.
The scrum methodology always places a strong emphasis on quality,
which leads to fewer errors.
This method's dynamics allow for priority reorganization, ensuring those
sprints that are still in progress receive greater attention.
The "why, what, and how" of assigned tasks are clearly understood by the
whole scrum team through effective sprint planning.
Disadvantages of Scrum


Project segmentation and the need for development agility can
occasionally cause the team to lose sight of the project as a whole in favor
of concentrating on a particular component;
It's possible that each developer position is not clearly defined, which
causes some uncertainty among team members.
 Kanban
The Japanese term Kanban has a connotation that is connected to the
phrase "just in time." In actuality, the Kanban technique is set up on a table or
board called a "Kanban board," which is divided into columns and displays each
flow inside the software development project. The information in the table is
updated as the development progresses, and a new "card" is generated whenever a
new task enters the picture.
The Kanban approach necessitates communication and openness so that
each team member is aware of the exact state of development and has access to
real-time project status information. It was most effective for processes with
minor adjustments and largely focused on team capability.
Advantages of Kanban





The ability to use the straightforward "Cards" idea to display all the
activities associated with a specific project.
You can set a restriction on the number of open jobs .
Focuses on how long it takes a job to go from the backlog to the final
stage of a cycle.
Permits ongoing delivery.
One of the most straightforward approaches to use outside of the "IT
world”.
Disadvantages of Kanban



Team members may perceive information incorrectly when it appears on the
Kanban Board, especially if it is old.
Kanban has no time constraints, therefore time-related issues, such as delays,
can occur at any step.
Extreme Programming (XP)
Extreme Programming ("XP") methodology is based around the idea of
finding "the simplest thing that works" without putting too much weight on the
long-term product vision.
It is a system that emphasizes values such as communication, simplicity,
feedback, courage and respect, and prioritizes customer satisfaction above all else.
This methodology encourages trust by encouraging developers to accept changes
in customer needs, even if they arrive late in the development cycle.
Teamwork is extremely important in XP because, when there is a problem,
it is solved by the entire team of managers, developers or customers, bringing
them together to promote dialogue and engagement and break down barriers to
communication. They all become essential pieces of the same puzzle, creating a
fertile environment for high productivity and efficiency in teams. In Extreme
Programming, software is tested from day one and feedback is gathered to
improve development. XP promotes activities such as pair programming and is an
excellent engineering methodology with a strong testing component. This is a
general Agile development framework developed by Kent Beck and can be
adapted to development companies of different dimensions.
XP is a lightweight, efficient, low-risk, flexible, predictable, scientific and
fun way to develop software.
Extreme Programming (XP) was conceived and developed to meet the
specific needs of software development by small teams in the face of ambiguous
and changing requirements.
It provides values and principles to guide group behavior. The group is
expected to self-organize. Extreme Programming provides specialized core
practices.


Each practice is simple and self-contained.
Combining practices leads to more complex and emergent behaviors.
A Brief Overview of Extreme Programming






Make unit tests before you start programming, and keep them all running.
Automated unit tests save costs and quickly identify problems.
Using a simple design that is just required to code the task at hand and
modifying as appropriate.
Pair programming is the process of working with two programmers at the
same time, switching between them while using the keyboard. One of
them is at the keyboard while the other continuously assesses and inputs.
Every day, several times, the complete system is integrated and tested.
Launching a system into production as soon as it is at least marginally
functional, then enhancing it as necessary.
Consumer input is continually gathered and included.
Advantages of Extreme Programming

Schedule Changes
Timely delivery is guaranteed via realizable development cycles.

Unfinished Projects
Continuous customer participation fosters open communication
with the client and prompt problem-solving.

Costs Associated with Changes
Extensive and continuing testing ensures that the modifications do
not impair the functioning of the system. A functioning system always
guarantees that there is enough time to accommodate changes without
impairing ongoing operations.

The Focus Is on Production and Post-Delivery Flaws.
The unit tests to find and repair bugs as soon as possible.

Neglecting the Industry and/or Domain
Constant contact and explanations are ensured when the client is
considered a member of the team.

Business Alterations
Changes are accepted at any moment since they are seen to be
inevitable.

Workforce Turnover
Enthusiasm and good will are guaranteed through intense team
collaboration. Team spirit is fostered through the interdisciplinarity.
Disadvantages of Extreme Programming



The strong emphasis on programming may result in less significance being
placed on design, necessitating subsequent additional attention.
If all team members are not located in the same region, this structure
might not function as well;
A register of potential mistakes is not always kept up to date in XP
projects, and this lack of monitoring might result in similar vulnerabilities
in the future.

Crystal
While this is a family of Agile methodologies, Crystal is the most flexible
framework, giving the team great freedom to develop their own processes. It
focuses more on people and how they interact than on process or tools.
Communication is therefore an essential key element.
Crystal has variants like Crystal Clear, Crystal Yellow, Crystal Orange
and Crystal Red. Crystal focuses on principles such as people, interaction,
community, skills, talent and communication, and aims to deliver the best
possible software development process. At the core of this development process is
interaction and synergy, which must exist between people allocated to projects
and processes to bring efficiency to the project.
Every project is unique and subject to frequent changes. So, the team has
to find their own ways to finish it using the best decisions.
According to its founder, Alistair Cockburn, "Crystal is a family of
human-powered software development methodologies that are extremely
lightweight and extensible". Basically, Cockburn believes that talent and how
team members interact benefits the entire project.
It's a lightweight approach to documentation, where teams can find their
own ways of working rather than preferred ones, eliminating management
overhead and creating a "free" process.
Advantages of Crystal




Frequent delivery of crystal is necessary to spot potential issues at every
step;
There is always room for improvement, delaying software development
and allowing for talks on how to optimize procedures;
Encourages engagement and information exchange among team members
as well as improved team communication;
Calls for a technological setting with automated testing, configuration
management, and regular integration.
Disadvantages of Crystal



Because there are several methodologies in the methodology family, the
principles may change depending on the number of team members and the
scope of the project, which might make things more complicated;
Due to the ongoing need for communication and reflection, it might not be
the greatest option for teams who are geographically dispersed;
Development and planning are independent of necessities;


It is perfect for seasoned, independent teams.
Lean Development
The software development process is streamlined and optimized using the
Lean Software Development (LSD) agile paradigm. Since both of these modes of
thinking aim to hasten development by concentrating on new deliverables, they
may also be referred to as Minimum Viable Product (MVP) strategies.
Advantages of Lean Development



LSD removes the unnecessary process stages when designing software so that
it acts as a time saver as simplifies the development process.
With a focus on MVP, Lean Software Development prioritizes essential
functions so this removes the risk of spending time on valueless builds.
It increases the involvement power of your team as more and more members
participate due to which the overall workflow becomes optimized and losses
get reduced.
Key Principles of Lean Software Development







Eliminating the Waste
Fast Delivery
Amplify Learning
Builds Quality
Respect Teamwork
Delay the Commitment
Optimizing the Whole System
Weakness of LSD



As it heavily relies on the people engaged, make it as scalable as other
frameworks.
The inability to keep up makes it difficult for developers to collaborate
with other team members since disagreements may arise.
It results in a challenging decision-making process since consumers must
specify their requirements precisely in order for the development to
proceed without interruption.
Agile vs Traditional Methodologies Comparison
Characteristics
Agile Methodology
Organizational structure Iterative
Traditional Methodology
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
Methodologies by Using Examples to Support Your Response
 Straight Forwardness
Every decision and strategy on the board in an agile endeavor is simple.
The asset developer, associates, and clients are all engaged in active negotiation.
By amending an item, using the search system, checking it out, and testing it,
colleagues may evaluate the status of their work and make educated decisions.
However, it is customary in private enterprise for the manager's preference to be
discussed with the senior multi-person task manager for each of the important
possibilities. Some of your coworkers might not perceive growth in the same way
you do. Because warehouses are used often for work, honesty is lost in many
warehouses.
 Level of Criticism
You must design everything jointly if you utilize the traditional way to
make or create another item. Each assignment has a due date and a certain amount
of time to be completed. This implies that you can just upload the article; you
cannot permit any significant revisions depending on the feedback. However,
despite the innovative technique, consumers and the article's creator both
consistently criticize the piece. You will receive better outcomes and excellent
content quickly with a simple introduction. As a result, risk auditors and engineers
are taught how to apply managers' agile expertise using conventional methods.
 Conflict Complexity
Any complicated work is best completed via light-based interaction. The
light-assisted approach is the best option and the least crucial choice if the phases
of your mission are dependent on one another or are connected. Reducing the
complexity and ambiguity of a demand is made possible through ongoing
evaluations and changes. Even though the manager's private work is linear, it
cannot be used to manage complicated interactions with ambiguous, private, and
practical requirements. He cannot, as we already stated, drastically alter this
approach. Smaller or less complicated events are most suitable for the customer.
 Adaptability
The execution process's agile adventure is far preferable to the formal
technique. A creative inquiry on the board will enable your coworkers to make
modifications to your paper or functional interaction while you're still working.
Agile adventure, where managers do not believe after rigid guidance; they are
funding the article's center. Furthermore, people favor convergent managers' agile
approach because of their adaptability. After that, the board employs a
hierarchical system during the meeting or session. This means that you cannot
handle changes that arrive very late without having an impact on business
interactions or outcomes.
 Customer Loyalty
The agile method heavily relies on the input of the customer. The
emphasis is on hiring client assistants, who are then asked for feedback following
each theory. The work is firstly continuously conveyed to the final clients. They
are able to impart their valuable perspective in this way and inspire the regular
group to effectively implement the introduction. As part of an agile adventure, the
team learns the client's members and provides them with the most crucial
resources and required managers. Customers' involvement is maintained, and
satisfaction levels rise.
Download