Unit2 MU Newpdf 2024 01 08 19 59 51
Unit2 MU Newpdf 2024 01 08 19 59 51
Customer
What is Agility?
• Organizing a team so that it is in control to perform the work
Principles to achieve agility
• Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
• Welcome Changes requirement is allowed late in development.
• Deliver working software frequently, from a couple of weeks to a couple of months,
with a preference to the shorter time scale.
• Business people and developers must work together daily throughout the project.
• Build project around a motivated individuals. Give them the environment and support
they need, and trust them to get the job done.
• The most efficient and effective method of conveying information to and within a
development team is face-to-face conversion.
Principles to achieve agility
• Working software is primary measure of software.
• The Sponsors, developers and users should be able to maintain a constant pace
indefinitely.
• Continuous attention to technical excellence and good design enhances agility.
• The best architectures, requirements, and designs emerge from self-organizing teams.
• At regular intervals, the team reflects on how to become more effective, then tunes and
adjusts its behavior accordingly.
Agile Software Process
• An agile process must be adaptable.
• It must adapt incrementally.
• Requires customer feedback.
• An effective catalyst (main source) for customer feedback is an operational prototype.
Manifesto for Agile Software Development
Agile Vs Waterfall
Agile Model Waterfall Model
• Agile method proposes incremental and iterative approach to • Development of the software flows sequentially from start
software design point to end point.
• The agile process is broken into individual models that • The design process is not broken into an individual models
designers work on.
• The customer has early and frequent opportunities to look at the • The customer can only see the product at the end of the
product and make decision and changes to the project project
• Development process is iterative, and the project is executed in • The development process is phased, and the phase is much
short (2-4) weeks iterations. Planning is very less. bigger than iteration. Every phase ends with the detailed
description of the next phase.
• It requires close communication with developers and together • Developer does not involve in requirement and planning
analyze requirements and planning process. Usually, time delays between tests and coding
Where agile methodology don’t work
• Project plan & requirements are clear & unlikely to change.
• Unclear understanding of Agile Approach among Teams.
• Big Enterprises where team collaboration is tough.
Agile Process Models
• Extreme Programming (XP)
• Adaptive Software Development (ASD)
• Dynamic Systems Development Method (DSDM)
• Scrum
• Feature Driven Development (FDD)
• Agile Modelling (AM)
• Rational Unify Process(RUP)
• Crystal
Extreme Programming (XP)
• The most widely used agile process, originally proposed by Kent Beck. XP uses an object-
oriented approach as its preferred development paradigm (ideal pattern).
• Spike solution
• For answering the tough technical problem
• Refactoring
• Reduction in the redundancy, elimination of unused functionalities
http://agilemodeling.com/artifacts/crcModel.htm
Extreme Programming (XP) - Coding
• Customer availability
• In XP, customer should be the part of the project development
• Paired programming
• All code must be coded by groups of two people working at the same computer
• Continuous integration
• As soon as one task is finished, integrate it into the whole system
• No overtime
• Conduct the release plan meeting to change the scope or to reschedule the project
delivery
Extreme Programming (XP)
• Advantages:
• The developers who prefer to use this methodology create extremely simple code that can
be improved at any moment.
• Bug detection is guaranteed when regular testing is done during the development stage.
• changes are made based on client feedback during development stages keeps overall costs
low.
• Employee Satisfaction
Extreme Programming (XP)
• Disadvantages:
• XP is also very time consuming and has a lot of refactoring involved in its procedures.
• Constant involvement of the customer.
• The lack of proper documentation creates problems in large products when project
members leave and new members come in later.
Adaptive Software Development (ASD)
• Adaptive Software Development (ASD) was proposed by Jim Highsmith. ASD has
evolved from the RAD practices.
• This is a technique for building complex software systems using iterative approach.
• ASD focus on working in collaboration and team self-organization.
• ASD incorporates three phases
• Speculation (refers to the act of forming opinions or making guesses about something without sufficient
evidence or knowledge.)
• Collaboration
• Learning
Adaptive Software Development (ASD)
• Scrum Master
• Typically a Project Manager or Team Leader
• Responsible for enacting Scrum values and practices
• Remove impediments (obstacle) / politics, keeps everyone productive
Scrum
• Project Team
• 5-10 members; Teams are self-organizing
• Cross-functional (different functional expertise) : QA, Programmers, UI Designers, etc.
• Membership should change only between sprints (A sprint is a short, time-boxed period
when a scrum team works to complete a set amount of work)
Scrum (roles)
Scrum (roles)
Scrum (roles)
Scrum – sprint planning
Scrum Development Activities
• Backlog
• It is a list of project requirements or features that must be provided to the customer.
• The items can be included in the backlog at any time.
• The product manager analyses this list and updates the priorities as per the
requirements.
• Sprint
• These are the work units that are needed to achieve the requirements mentioned in the
backlogs.
• Typically the sprints have fixed duration or time box (of 2 to 4 weeks).
• Thus sprints allow the team members to work in stable and short-term environment.
Scrum Development Activities
• Meetings
• There are 15 minutes daily meetings to report the completed activities, obstacles and
plan for next activities.
• Following are three questions that are mainly discussed during the meetings.
• What are the tasks done since last meeting ?
• What are the issues that team is facing ?
• What are the next activities that are planned ?
• Demo
• During this phase implemented functionalities are demonstrated to the customer.
Crystal Agile Framework
• What is the Crystal Method?
• an agile framework focusing on individuals and their interactions, as opposed to
processes and tools.
• In other words, this framework is a direct outgrowth of one of the core values
articulated in the Agile Manifesto.