SE 1-1
SE 1-1
Types Of
myths
(iii)Practitioner’s Myths:
Myths 1:
They believe that their work has been completed with the writing of the plan.
Fact:
It is true that every 60-80% effort goes into the maintenance phase (as of the latter software
release). Efforts are required, where the product is available first delivered to customers.
Myths 2:
There is no other way to achieve system quality, until it is “running”.
Fact:
Systematic review of project technology is the quality of effective software verification
method. These updates are quality filters and more accessible than test.
Myth 3:
An operating system is the only product that can be successfully exported project.
Fact:
A working system is not enough, the right document brochures and booklets are also required to
provide guidance & software support.
Myth 4:
Engineering software will enable us to build powerful and unnecessary document & always delay us.
Fact:
Software engineering is not about creating documents. It is about creating a quality product.
Better quality leads to reduced rework. And reduced rework results in faster delivery times
Software Design
Development
Testing
Deployment
Maintenance
1. Requirements Analysis: The first phase involves gathering requirements from stakeholders and
analyzing them to understand the scope and objectives of the project.
2. Software Design: Once the requirements are understood, the design phase begins. This involves
creating a detailed design document that outlines the software architecture, user interface, and
system components.
3. Development: The Development phase include implementation involves coding the software based
on the design specifications. This phase also includes unit testing to ensure that each component of
the software is working as expected.
4. Testing: In the testing phase, the software is tested as a whole to ensure that it meets the
requirements and is free from defects.
5. Deployment: Once the software has been tested and approved, it is deployed to the production
environment.
6. Maintenance: The final phase of the Waterfall Model is maintenance, which involves fixing any
issues that arise after the software has been deployed and ensuring that it continues to meet the
requirements over time.
Incremental software development, which is a fundamental part of agile approaches is better than a
waterfall approach for must business, e-commerce, and personal systems.
Incremental development is based on the idea of developing an initial implementations, exposing this
to user comment and evolving it through several versions until an adequate system has been
developed.
1. Communication
2. Planning
3. Modeling(analysis,design)
4. Construction(code,text)
Software functionality and features
5. Deployment(delivery,feedback)
Increment # n
Increment #2 delivery of nth increment
1. Requirement analysis: In Requirement Analysis At any time, the plan is made just for the next
increment and not for any kind of long-term plan. Therefore, it is easier to modify the version
as per the needs of the customer.
2. Design & Development: At any time, the plan is made just for the next increment and not for
any kind of long-term plan. Therefore, it is easier to modify the version as per the needs of the
customer. The Development Team first undertakes to develop core features (these do not
need services from other features) of the system. Once the core features are fully developed,
then these are refined to increase levels of capabilities by adding new functions in Successive
versions. Each incremental version is usually developed using an iterative waterfall model of
development.
3. Testing and Deployment: After Requirements gathering and specification, requirements are
then split into several different versions starting with version 1, in each successive increment,
the next version is constructed and then deployed at the customer site. in development and
Testing the product is checked and tested for the actual process of the model.
4. Implementation: In implementation After the last version (version n), it is now deployed at
the client site.
Characteristics of Incremental Process Model
1. System development is divided into several smaller projects.
2. To create a final complete system, partial systems are constructed one after the other.
3. Priority requirements are addressed first.
4. The requirements for that increment are frozen once they are created.
Advantages of the Incremental Process Model
1. Prepares the software fast.
2. Clients have a clear idea of the project.
3. Changes are easy to implement.
4. Provides risk handling support, because of its iterations.
5. Adjusting the criteria and scope is flexible and less costly.
6. Comparing this model to others, it is less expensive.
7. The identification of errors is simple.
Disadvantages of the Incremental Process Model
1. A good team and proper planned execution are required.
2. Because of its continuous iterations the cost increases.
3. Issues may arise from the system design if all needs are not gathered upfront throughout the
program lifecycle.
4. Every iteration step is distinct and does not flow into the next.
5. It takes a lot of time and effort to fix an issue in one unit if it needs to be corrected in all the units.
Transition Inception
Construction Planning
Elaboration
Construction
Modelling
Use a case-driven approach that follows a set of actions performed by one or more entities. A use case
refers to the process of the team performing the development work from the functional requirements.
The functional requirements are made from the list of requirements that were specified by the client.
For example, an online learning management system can be specified in terms of use cases such as "add
a course," "delete a course," "pay fees," and so on.
The architecture-centric approach defines the form of the system and how it should be structured to
provide a specific functionality whereas the use case defines the functionality.
An iterative and incremental approach means that the product will be developed in multiple phases.
During these phases, the developers evaluate and test.
Phases
Inception
Defines objetive Elaboration
of project
Planning the Construction
project Transition
Initial operationa
capability Final Release of
the product
We can represent a unified process model as a series of cycles. Each cycle ends with the release of a new
system version for the customers. We have four phases in every cycle:
Inception
Elaboration
Construction
Transition
Inception
The main goal of this phase involves delimiting the project scope. This is where we define why we are
making this product in the first place. It should have the following:
We build the system given the requirements, cost, and time constraints and all the risks involved. It
should include the following:
This phase is where the development, integration, and testing take place. We build the complete
architecture in this phase and hand the final documentation to the client.
Transition
This phase involves the deployment, multiple iterations, beta releases, and improvements of the
software. The users will test the software, which may raise potential issues. The development team will
then fix those errors.
Advantages
Flexibility: UP can adapt to changing needs from customers or the project itself.
Quality: UP is well suited for building and maintaining high-quality complex products.
Disadvantages
Complexity: UP is a complex process that can be difficult to learn and apply correctly.
Cost and time: The documentation required for UP can be time-consuming and expensive.
SCRUM :
Scrum is a management framework that teams use to self-organize and work towards a common goal. It
describes a set of meetings, tools, and roles for efficient project delivery. Much like a sports team
practicing for a big match, Scrum practices allow teams to self-manage, learn from experience, and
adapt to change. Software teams use Scrum to solve complex problems cost effectively and sustainably.
Scrum is a framework that's part of the larger Agile project management philosophy. Agile is a set of
principles and values that help teams adapt to change, while Scrum is a specific methodology that helps
teams structure their work.
While Scrum is an Agile methodology, not all Agile projects use Scrum. There are many different
methodologies that use an Agile approach to project management
Scrum artifacts
Scrum Teams use tools called Scrum artifacts to solve problems and manage projects. Scrum artifacts
provide critical planning and task information to team members and stakeholders. There are three
primary artifacts:
1. Product Backlog
The Product Backlog is a dynamic list of features, requirements, enhancements, and fixes that must be
completed for project success. It is essentially the team’s to-do list, which is constantly revisited and
reprioritized to adapt to market changes. The product owner maintains and updates the list, removing
irrelevant items or adding new requests from customers.
2. Sprint Backlog
The Sprint Backlog is the list of items to be completed by the development team in the current Sprint
cycle. Before each Sprint, the team chooses which items it will work on from the Product Backlog. A
Sprint Backlog is flexible and can evolve during a Sprint.
3. Increment
The Increment is a step towards a goal or vision. It is the usable end product from a Sprint. Teams can
adopt different methods to define and demonstrate their Sprint Goals. Despite the flexibility, the
fundamental Sprint Goal—what the team wants to achieve from the current Sprint—can’t be
compromised.
For example, some teams choose to release something to their customers at the end of the Sprint, so
their Sprint Goal would be completed once the software change is released. Other teams might work on
completing a set of features that will be released together. In this case, the Sprint Goal would be
completed when a feature is tested successfully.
Scrum roles
A Scrum Team needs three specific roles: a Product Owner, Scrum leader, and development team.
Product Owner
The Product Owner focuses on ensuring the development team delivers the most value to the business.
They understand and prioritize the changing needs of end users and customers. Effective product
owners do the following:
Bridge the gap between what the business wants and what the team understands.
Scrum leader
Scrum leaders are the champions for Scrum within their teams. They are accountable for the Scrum
Team’s effectiveness. They coach teams, Product Owners, and the business to improve its Scrum
processes and optimize delivery. Scrum leaders are also responsible for doing the following:
Communicate with external groups to solve any challenges the team might be facing as a whole.
The Scrum Team consists of testers, designers, UX specialists, Ops engineers, and developers. Team
members have different skill sets and cross-train each other, so no one person becomes a bottleneck in
delivering work.
Jeff Bezos, the founder of Amazon, recommends the two-pizza rule when deciding team size:A team
should be small enough to share two pizzas.
Drive the planning and estimating for how much work they can complete for each Sprint.
Advantage of Scrum framework
Scrum framework works by dividing the large product into small sub-products. It’s like a divide
and conquer strategy
As Scrum framework rely on constant feedback therefore the quality of product increases in less
amount of time
Disadvantage of Scrum framework
Scrum framework is not fully described model. If you wanna adopt it you need to fill in the
framework with your own details like Extreme Programming(XP), Kanban, Dynamic Systems
Development Method (DSDM).
It can be difficult for the Scrum to plan, structure and organize a project that lacks a clear
definition.
The daily Scrum meetings and frequent reviews require substantial resources.