Anzeige

Agile methodology

12. Mar 2019
Anzeige

Más contenido relacionado

Anzeige

Agile methodology

  1. AGILE METHODOLOGY Department of Computer Science & Engineering Swami Keshvanand Institute of Technology, Management & Gramothan Rajasthan Technical University, Kota Submitted To Mrs. Priyanka Bhardwaj Assistant Prof. of CS Dept. Submitted By Chandra Prakash (15ESKCS716) Computer Science & Engg.
  2. CONTENTS 1. What is Agile Methodology ? 2. Agile vs. Traditional Methodology 3. Benefits of Agile 4. Where is it needed ? 5. What are Agile Software Development models ? 6. Why do we choose Agile Software Development ? 7. Roles in Agile 8. How Agile Team Plans ? 9. What is User Story in Agile ? 10.Conclusion 11.References
  3. What is Agile Methodology ? • AGILE methodology is a practice that promotes continuous iteration of development and testing throughout the software development lifecycle of the project. • Both development and testing activities are concurrent unlike the Waterfall model. • The agile software development emphasizes on four core values. 1. Individual and team interactions over processes and tools 2. Working software over comprehensive documentation 3. Customer collaboration over contract negotiation 4. Responding to change over following a plan • In 1970, Dr. William Royce published a paper that discussed the managing and developing of large software systems.
  4. Agile vs. Traditional Methodology 1. Agile method proposes incremental and iterative approach to software design but Development of the software flows sequentially from start point to end point. 2. The customer has early and frequent opportunities to look at the product and make decision and changes to the project but The customer can only see the product at the end of the project. 3. Error can be fixed in the middle of the project but Only at the end, the whole product is tested. If the requirement error is found or any changes have to be made, the project has to start from the beginning. 4. More communication between customers and clients but in traditional method less communication between customers and clients.
  5. 5. Testers and developers work together but in traditional method Testers work separately from developers. 6. At the end of every sprint, user acceptance is performed but in other hand User acceptance is performed at the end of the project.
  6. Benefits of Agile when used in the above-mentioned cases 1.Easily adapts  to  changes  caused  by  shifts  in  customer  behavior,  industry standards or technology 2.Provides tangible results (new software versions that are stable enough  and  offer  the  minimal  functionality  to  meet  stakeholder  requirements)  after each sprint (2-3 weeks) 3.Actively  engages  stakeholders  to  guarantee  better user satisfaction and control over the delivery results 4.Has Quality Assurance integrated in the process, which allows for less  rework and improved quality 5.Helps you to stay on budget and get a valuable result
  7. Where is it needed ? Many  companies  are  shifting  from  waterfall  to  agile  as  their  preferred  software  development  project  methodology.  Yet  while  agile  offers  developers  the  advantage  of  build  flexibility  as  users’  ideas  and  requirements clarify, the methodology lacks an efficient means by which  the different stakeholders and developers can communicate thoughts and  changing needs.
  8. What are Agile Software Development models ? Actually  Agile  model  refers  to  a  group  of  development  processes.  These  processes  share  some  basic  characteristics  but  do  have  certain  subtle  differences among themselves. A few Agile SDLC models are given below: Extreme programming (XP) Extreme  programming  is  a  software  development  methodology  which  is  intended  to  improve  software  quality  and  responsiveness  to  changing  customer requirements. Crystal Crystal  method  is  an  agile  software  development  approach  that  focuses  primarily on people and their interactions when working on a project . Feature-driven development(FDD) Feature-driven  development  is  an  iterative  and  incremental  software  development  process.  It  is  a  lightweight  or  Agile  method  for  developing  software.
  9.  Scrum Scrum  is  an  agile  framework  for  managing  knowledge  work,  with  an  emphasis on software development.  Lean development Lean software development is a translation of lean manufacturing principles  and practices to the software development domain.
  10. Why do we choose Agile Software Development? • The agile method anticipates change and allows for much more flexibility  than traditional methods. Clients can make small objective changes without  huge amendments to the budget or schedule.  • This method saves the client money and time because the client tests and  approves the product at each step of development. • Agile Software Development is a set of methods and practices based on the  values and principles expressed in the Agile Manifesto(a public declaration  of policy and aims).  • Solutions  evolve  through  collaboration  between  self-organizing,  cross- functional  teams(A cross-functional team is  a  group  of  people  with  different functional expertise  working  toward  a  common  goal.  It  may  include people from finance, marketing, operations, and human resources  departments). •   However,  we  need  agile  software  development  over  other  software  development methodologies for the following reasons.
  11. Roles in Agile The common agile roles are:- 1.Scrum Master 2.Team Member 3.Product Owner 4.Stakeholder
  12.  Scrum Master :- This role,  called  “Scrum  Master”  in  Scrum  or  team  coach or project lead in other methods, is responsible for facilitating the  team, obtaining resources for it, and protecting it from problems.   Responsibilities of Scrum Master :- • To remove any blocks • To shield team from any disturbance • To  work  with  the  organization  to  track  progress  and  processes  of  company • Daily standup, Planned meetings, Review  Team Member :- A  person  belonging  to  a  specific group of  people  involved in attempting to achieve a common goal. 1. Core Team Member - a full time role on the project but not necessarily for  the duration of the project. 2. Extended Team Member - a part time role on the project  Responsibilities of Team Member :- • Understanding the purpose and objectives of the project • Ensuring a correct balance between project and non-project work • Working to timescales and within cost constraints • Responsible for the project’s creation and delivery
  13.  Product Owner :- Product owners are at the center of every development  cycle. At the most basic level, a product owner is the leader responsible for  maximizing the value of the products created by a scrum development team.      But to do this, an agile product owner takes on several roles, including           business strategist, product designer, market analyst, customer liaison,   and  project manager.  Responsibilities of Product Owner :- • Defining the vision • Managing the product backlog • Overseeing development stages • Anticipating client needs • Evaluating product progress at each iteration  Stakeholder :- Represents a broad category of people who can be users,  managers of users, operations, support, Portfolio Managers. In addition to these common roles, Agile teams will sometimes have      extended cast members who are called upon to provide technical or   domain  expertise for certain specialized skills that may not be present   amongst the  team members
  14. How Agile Team Plans ? • Agile team works in iterations to deliver user stories. • Each user story is planned based on its backlog prioritization and size. • Team  uses  its  capacity, how  many hours are  available with team to  work on tasks, to decide how much scope they have to plan. User Story A User Story B User Story C
  15. What is User Story in Agile ? • A User Story is a requirement which define what is required by the user as functionality. • A User Story can be two forms 1. As a <User Role> I want <Functionality> so that <Business Value> 2. In order to <Business Value> as a <User Role> I want <Functionality> • During iteration planning, Story is broken down into tasks. • User Story talks about what to be done. Example :- Users Role = User (Account holder) Functionality = Add amount ( perform some role) Business Value = Deposit
  16. ANY QUESTION
  17. THANK YOU
Anzeige