You are on page 1of 11

BCSE301L_SOFTWARE ENGINEERING

Overview of Software Presented By,


Engineering Dr.Baiju B V
Assistant Professor
Prepared by Dr. Baiju B V, SCOPE
SCOPE, VIT, Vellore
1
Agility and Agile process
• Agility and Agile are two terms commonly used in the context of organizational
adaptability and software development.
• Agility refers to an organization's ability to respond quickly and adapt to changing
circumstances.
• Agile is a specific software development methodology that emphasizes iterative
and collaborative project management.

Prepared by Dr. Baiju B V, SCOPE 2


• Agile model is a combination of iterative and incremental process models with
focus on process adaptability and customer satisfaction by rapid delivery of
working software.
• The agile methods were developed to overcome the weakness of conventional
software engineering.
• The Agile Model breaks the process into manageable chunks called iterations.
• Each iteration, typically lasting two to four weeks, has defined goals, duration,
and scope.
• Each iteration involves a team of developers working through a complete SDLC,
including planning, design, coding, requirements analysis, and testing before a
working software product is demonstrated to the client.
• This approach allows for continuous feedback and adjustment throughout the
development lifecycle.
• The Agile Model minimizes risks and optimizes project delivery time by dividing
the project into smaller parts.

Prepared by Dr. Baiju B V, SCOPE 3


• By leveraging the Agile Model, software development teams
can adapt to change more effectively
improve project visibility
mitigate risks
deliver high-quality software promptly.

5 Values of Agile Modeling


Values Description
Communication Encouraging open and effective communication among team members
rather than relying solely on extensive documentation.
Multiple Models Recognizing that different stakeholders may need various models to
understand the system which allows for flexibility in representation.
Simplicity Promoting the creation of simple and clear models to avoid unnecessary
complexity
Feedback Seeking regular feedback from stakeholders to refine and improve models
Collaboration Adopting collaboration and shared understanding among team members
and stakeholders Prepared by Dr. Baiju B V, SCOPE 4
Phases of Agile Model

1. Requirements gathering
• The requirements are defined in this phase, which involves engaging stakeholders (product
owners and end-users)
• Explain the business opportunities and plan the time and effort needed to build the
project. Prepared by Dr. Baiju B V, SCOPE 5
• Based on this information, the technical and economic feasibility are evaluated.
2. Design the Requirements:
• Once the project is identified, we must work with stakeholders to define requirements.
• The user flow diagram or the high-level UML(Unified Modeling Language) diagram
are used to show the work of features and show how it will apply to the existing
system.
3. Construction/Iteration
• The real work begins at this stage after the software development team defines and
designs the requirements.
• Agile development is carried out in iterative cycles, often referred to as “sprints.”
• Designers and developers start working on their project, which aims to deploy a
working product.
• The product will undergo various stages of improvement, so it includes simple,
minimal functionality.
• The focus is on delivering small, working increments of the product.
4. Testing
• The Quality Assurance(QA) team examines the product's performance and verifies if any
bug is present in the product.
• Automated testing using the right tools plays a vital role in maintaining the pace of
development. Prepared by Dr. Baiju B V, SCOPE 6
5. Deployment
• The initial product is released to the user
6. Feedback
• The team receives feedback about the product and works on correcting bugs based on the
received feedback.

Prepared by Dr. Baiju B V, SCOPE 7


12 Agile Principles
The Agile Alliance defines 12 agility principles for those who want to achieve agility:
1. Individuals and interactions are given priority over processes and tools
• Focus is on adopting effective collaboration and communication among team members.
• The emphasis is on building solid relationships and enabling interactions that lead to better
outcomes.
2. Adaptive, empowered, self-organizing team
• Agile empowers teams to take ownership and make decisions collectively.
• It encourages a self-organizing environment where team members can adapt to changing
circumstances, ensuring flexibility and agility in project execution.
3. Focuses on working software rather than comprehensive documentation
• Agile values tangible results over extensive documentation.
• It prioritizes delivering functional software that adds value to the customer, promoting
rapid feedback and continuous improvement.
4. Welcome changes in requirements, even late in the development phase
• Agile embraces change as an opportunity for improvement.
• It encourages open-mindedness and flexibility, allowing for the incorporation of new
Prepared by Dr. Baiju B V, SCOPE 8
requirements and feedback at any stage of the development process.
5. Daily cooperation between businesspeople and developers
• Agile promotes constant collaboration between the development team and business
stakeholders.
• The Agile Model ensures that everyone remains aligned with project goals and customer
needs by maintaining regular communication and involvement.
6. Priority is customer collaboration over contract negotiation
• Agile recognizes the importance of involving customers in the development process.
• It emphasizes working closely with customers, gathering their feedback, and adapting to
their evolving requirements to ensure the final product meets their expectations.
7. It enables you to satisfy customers through early and frequent delivery
• Agile aims to provide value to customers quickly and continuously.
• By delivering working software in short iterations, the Agile Model allows customers to
provide feedback early, ensuring their satisfaction is prioritized throughout the
development lifecycle.
8. A strong emphasis is placed on face-to-face communication
• Agile values direct and personal communication as it adopts better understanding and
promotes effective collaboration.
• Face-to-face discussions, whether in person or via video conferencing, are encouraged to
Prepared by Dr. Baiju B V, SCOPE 9
facilitate clear and efficient communication
9. Developing working software is the primary indicator of progress
• Agile focuses on tangible outcomes.
• Progress is measured by the successful development and delivery of working software
rather than relying solely on theoretical or abstract milestones.
10. Promote sustainable development pace
• Agile recognizes the importance of maintaining a workable pace throughout the project.
• It aims to avoid burnout and maintain a healthy work-life balance for team members,
ensuring their productivity and well-being in the long run.
11. A continuous focus is placed on technical excellence and sound design
• Agile emphasizes the importance of quality in software development.
• It encourages adopting best practices, continuous learning, and the pursuit of technical
excellence to deliver a robust and reliable product.
12. Regular team improvement reviews are conducted
• Agile promotes a culture of continuous improvement.
• Teams regularly reflect on their processes, identify areas for enhancement, and make
necessary adjustments to optimize their performance and deliver even better results.
Prepared by Dr. Baiju B V, SCOPE 10
Prepared by Dr. Baiju B V, SCOPE 11

You might also like