Agile methodology

25
Group member Names: Muhammad Shoaib 13054119-030 Mashal Wasique 13054119-011

Transcript of Agile methodology

Group member Names: Muhammad Shoaib 13054119-030 Mashal Wasique 13054119-011

Agile Methodology

Overview: Agile Agile Manifesto Agile Methodologies Processes Advantages and Disadvantages

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.

Agile Manifesto

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

Agile Methodologies

• 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 methodology

Processes of agile(cont….) Requirement GatheringDesignBuildFeedback and TestingDeployment

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

Change in cost in traditional:

Change in cost of agile

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.