Agile methodology
-
Upload
muhammad-shoaib -
Category
Education
-
view
230 -
download
0
Transcript of Agile methodology
What is agile?
Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the
start of the project, instead of trying to deliver it all at once near the end.
Working
It works by breaking projects down into little bits of user functionality called user stories, prioritizing them, and then
continuously delivering them in short two week cycles called iterations.
key points
• Individuals and interactions over processes and tools• Working software over comprehensive documentation
• Customer collaboration over contract negotiation• Responding to change over following a plan
• Extreme Programming (XP)• Crystal
• Dynamic Systems Development Method (DSDM)• Feature-Driven Development (FDD)
• Scrum
What is Scrum??
Scrum is an agile way to manage a project, usually software development. Agile software development with Scrum is often perceived as a methodology; but rather than viewing Scrum as
methodology, think of it as a framework for managing a process.
Scrum(Cont…..)
Scrum originally was formalized for software development projects, but it works well for any complex, innovative scope of work. The possibilities
are endless. The Scrum framework is deceptively simple.
The Scrum framework process•A product owner creates a prioritized wish list called a product backlog.•During sprint planning, the team pulls a small chunk from the top of that wish list, a sprint backlog, and decides how to implement those pieces.•The team has a certain amount of time a sprint (usually two to four weeks) to complete its work, but it meets each day to assess its progress (daily Scrum).•Along the way, the Scrum Master keeps the team focused on its goal.•At the end of the sprint, the work should be potentially shippable: ready to hand to a customer, put on a store shelf, or show to a stakeholder.•The sprint ends with a sprint review and retrospective.•As the next sprint begins, the team chooses another chunk of the product backlog and begins working again.
Processes of agile(cont): Requirement Gathering: In this phase the requirement is gathered from the user. Design: After gathering the requirement from the user the software is designed. Design includes the following phases: Architecture Design interface design Component design
Processes of agile(cont…) Database design Build: After designing phase we build the software.Feedback and Testing: After deploying the software we need to have a feedback from the user if the software is according to the users requirement we proceed to testing.Testing includes: Development:
Processes of Agile(Cont..) System testing Component testing Deployment: At the end the software releases into the market.
Advantages and Disadvantages of agile:
Customer satisfaction by rapid, continuous delivery of useful software.
Customer developers and testers constantly interact with each other.
Working software is delivered frequently (weeks rather than months).
Regular adaptation to changing circumstances.
Even late changing in requirement are welcomed
Disadvantages of agile:
• In case of some software deliverables, especially the large ones, it is difficult to assess the effort required at the beginning of the software development life cycle.
• There is lack of emphasis on necessary designing and documentation.• The project can easily get taken off track if the customer
representative is not clear what final outcome that they want.• Only senior programmers are capable of taking the kind of decisions
required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.