SlideShare a Scribd company logo
1 of 10
Download to read offline
Class Assignment 02




CLASS ASSIGNMENT-02
AGILE SOFTWARE DEVELOPMENT




            Submitted By:
      Md.Mahedi Mahfuj      -BIT 0207
      Mostafizur Rahman -BIT0211
      Md.Habibur Rahman -BIT0216



           Submitted To:
            Awsaful Islam
           Course Instructor
           Date: 30-09-2012




 Institute of Information Technology
         University of Dhaka


                                        Page 1 of 10
Class Assignment 02

                     Agile Software Development
Abstract:
Agile software development is a group of software development methods based on
iterative and incremental development, where requirements and solutions evolve through
collaboration between self-organizing, cross-functional teams. It promotes adaptive
planning, evolutionary development and delivery, a time-boxed iterative approach, and
encourages rapid and flexible response to change.

In precise, agile methodology is a software development process framework that adopts
the iterative approach, open collaboration, and process adaptability throughout the life-
cycle of the project.

This iterative agile approach is more flexible and its short time-span iterations seek
improvement for the project in small release, with minimal planning, rather than plan at
length. This helps to minimize the overall risk, and allows the project to adapt to changes
more quickly. A pictorial view will clarify the concept.

Pictorial View:




                           Figure 1: Agile Process Model


                                                                                Page 2 of 10
Class Assignment 02

Characteristics:

   Iterative and incremental

     Many short time boxed iterations with incremental releases. The iterative approach
     produces earlier release and better stakeholders' feedback. The feedback is used to
     review the project priorities and make changes to the requirements, functionalities,
     estimations, plans, resources, etc. as required. This improves stakeholder’s
     confidence and reduces uncertainties in the projects. It is particularly useful to
     clarify requirements when there are uncertain scopes or changing requirements. It
     also helps improve the estimate and planning, especially when metrics are collected
     in each iteration. Constant feedback reduces the project risks.




                  Figure 2: Iterative and Incremental Development




                                                                              Page 3 of 10
Class Assignment 02

 People oriented


  Unlike Unified Process's iterative framework, which prescribes to the successive
  refinement of an executable architecture for each iteration, agile methodology
  framework believes quality of the people is most important in making sure the
  project is successful. There is more reliance on individual work than prescribing to a
  general architectural planning. The software quality depends on the quality of the
  people and how well they work together. The project is built around motivated
  individuals and the workload should be sustainable at a constant pace with all
  stakeholders. Trust the people to get the job done.




                       Figure 3: People Oriented process.




                                                                            Page 4 of 10
Class Assignment 02


 Lightweight


  Agile methodology believes that the most efficient and effective communication is
  face to face conversation. Development team does not build large documents and
  control points. However, this does not mean there is no modeling or documentation.
  The attention is not towards the documentation but towards technical excellence
  and good design with simplicity. It believes the best architecture, requirements and
  design will emerge from self organizing teams. It uses sketch mode- The design
  activity is centered on informal and incomplete exploration of complex design. The
  focus is on communicating the design between team members rather than on the
  completeness of the design.




                       Figure 4: Lightweight attribute of ASD




                                                                           Page 5 of 10
Class Assignment 02


 Test driven development


  The working software is the primary measure of progress in the project. Thus, each
  iteration release is tested to be working software.




                      Figure 5: Test Driven Development Process




                                                                         Page 6 of 10
Class Assignment 02

The Manifesto of ASD:
The Manifesto of Agile Software Development is as follows:



           Individuals and interactions over processes and tools---in agile
            development, self-organization and motivation are important, as are
            interactions like co-location and pair programming.
           Working software over comprehensive documentation--- working software
            will be more useful and welcome than just presenting documents to clients in
            meetings.
           Customer collaboration over contract negotiation--- requirements cannot
            be fully collected at the beginning of the software development cycle,
            therefore continuous customer or stakeholder involvement is very
            important.
           Responding to change over following a plan--- agile development is focused
            on quick responses to change and continuous development.



Benefits:
           1. Early release, better stakeholders’ feedback.

           2. Review the project priorities and make changes to the requirements,
           functionalities, estimations, plans, and resources, as required.

           3. Improves stakeholders’ confidence and reduce uncertainties.

           4. Useful to clarify requirements when there are uncertain scopes or changing
           requirements.

           5. Constant feedback reduces the project risk.



When to avoid Agile Methodology:


      One has to formally document the requirements, design, code, and testing
       cases during each phase of the software life cycle.

                                                                             Page 7 of 10
Class Assignment 02

    This is usually the case when building an infrastructure application, rather than an
    application that supports a changeable business process. Infrastructure applications
    support an entire business unit over a long ROI period, with repeated updates and
    enhancements expected.
    These applications are likely to be managed by successive generations of application
    owners, who will need to inherit documentation from their predecessors, maintain
    it, and pass it on their successors.

   Deliverables must pass through a chain of approvals and tollgates.

    Approvals and tollgates are mini-bottlenecks that can slow the momentum of a
    project, momentum that agile methods are supposed to support. Applications that
    require phase-end reviews or reviews of major deliverables by senior management,
    by a PMO, or even an Audit Committee may or may not be candidates for agile
    methods.
    Of course, the flip side to this is that agile methods can also help recover momentum
    lost to approvals and tollgates.

   One has tools to create the software models but not to translate them to the
    low end software code.

    Model-driven development tools that can generate code are proliferating, but the
    skills necessary to use them effectively are still relatively scarce. Unless you have
    both the tools and the skills available, agile methods that depend on such tools need
    to be approached with caution.

   One needs to follow traditional Software management processes and
    Procedures.

    "Traditional" usually means "comfortable". If the business sponsor and users are
    uncomfortable with anything but traditional ways of developing software, and
    remain unmoved by the value proposition for agile methods, don't bother.

   Application users are NOT always accessible to you.

    Agile management depends on an effective, day-to-day working partnership
    between the development team, the sponsor, and empowered users. If this
    partnership does not exist, or is likely to be weak, an agile project will face much
    higher risks than it should.

   One wants to work in a waterfall model – In other words you are taking a
    serial, phase-based approach for your project SDLC.

    Most actual project approaches are tailored versions of an organization's SDLC. The
    long timeframes that characterize many infrastructure projects may make a


                                                                             Page 8 of 10
Class Assignment 02

      waterfall approach more suitable. On the other hand, if a long project is divided into
      shorter duration mini-projects, agile methods may work better for some or all of
      them.

     The project team cannot adapt to changes in working durations, overlaps &
      shifts.

      Agile methods require not only training but a different mindset. If the team you have
      available cannot adapt to the changes that happen constantly in an agile project, the
      project may fail.

     Team lacks breadth, depth, or both.

      An agile project usually requires multiple skills, sometimes in the same people. You
      will likely need skills in business analysis, technical architecture, agile project
      management, model-driven development, and interpersonal communication. Agile
      places a premium on having premium people.




Criticism:


      Developer-Centric, not user-centric:

  One common criticism of agile software development methods is that it is developer-
  centric rather than user-centric. Agile software development focuses on processes for
  getting requirements and developing code and does not focus on product design. Mike
  Gualtieri, principal analyst of agile software development at Forrester Research,
  published a widely read criticism stating that software developers are not coders, but
  experience creators.

      Inefficiency:

  Agile methodologies can also be inefficient in large organizations and certain types of
  projects. Agile methods seem best for developmental and non-sequential projects.

      Extremity:

  Many organizations believe that agile methodologies are too extreme, and adopt a
  hybrid approach that mixes elements of agile and plan-driven approaches.

                                                                                Page 9 of 10
Class Assignment 02



Conclusion:
Agile development methodology attempts to provide many opportunities to assess the
direction of a project throughout the development lifecycle. By focusing on the repetition of
abbreviated work cycles as well as the functional product they yield, agile methodology
could be described as “iterative” and “incremental.” In an agile paradigm, every aspect of
development requirements, design, etc. is continually revisited throughout the lifecycle.
The results of this “inspect-and-adapt” approach to development greatly reduce both
development costs and time to market. In the end, a development agile methodology that
preserves a product’s critical market relevance and ensures a team’s work doesn’t wind up
on a shelf, never released, is an attractive option for stakeholders and developers alike.




…………………………………………………………..……X…..……………………………………………………………….




                                                                                Page 10 of 10

More Related Content

What's hot

Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To AgileKnoldus Inc.
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
component based development model
component based development modelcomponent based development model
component based development modelMuneeba Qamar
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factorsNancyBeaulah_R
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and ToolsNaresh Gajuveni
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development MethodologiesPradeep Patel, PMP®
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementNoorHameed6
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
Software project management
Software project managementSoftware project management
Software project managementR A Akerkar
 
What is Agile Methodology?
What is Agile Methodology?What is Agile Methodology?
What is Agile Methodology?QA InfoTech
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile modelzoomers
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project ManagementAbdullah Khan
 

What's hot (20)

Agile software development
Agile software developmentAgile software development
Agile software development
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Agile
AgileAgile
Agile
 
verification and validation
verification and validationverification and validation
verification and validation
 
component based development model
component based development modelcomponent based development model
component based development model
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
CMMI
CMMICMMI
CMMI
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and Tools
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software project management
Software project managementSoftware project management
Software project management
 
What is Agile Methodology?
What is Agile Methodology?What is Agile Methodology?
What is Agile Methodology?
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 

Viewers also liked

Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewStewart Rogers
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologiesguy_davis
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumArrielle Mali
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum MethodologyRajeev Misra
 
Agile in Outsourced Environment – A Perspective
Agile in Outsourced Environment – A PerspectiveAgile in Outsourced Environment – A Perspective
Agile in Outsourced Environment – A PerspectiveZaheer Abbas Contractor
 
Death by Scrum Meeting Agile2010
Death by Scrum Meeting Agile2010Death by Scrum Meeting Agile2010
Death by Scrum Meeting Agile2010Pete Behrens
 
Reprogramming Leadership for Agility
Reprogramming Leadership for AgilityReprogramming Leadership for Agility
Reprogramming Leadership for AgilityPete Behrens
 
Leading Agility "Inside-Out"
Leading Agility "Inside-Out"Leading Agility "Inside-Out"
Leading Agility "Inside-Out"Pete Behrens
 
REVOLUTION - How agile cooperation models substitute classical client/vendor...
 REVOLUTION - How agile cooperation models substitute classical client/vendor... REVOLUTION - How agile cooperation models substitute classical client/vendor...
REVOLUTION - How agile cooperation models substitute classical client/vendor...Mirko Kleiner
 
Death By Scrum Meeting 2009
Death By Scrum Meeting 2009Death By Scrum Meeting 2009
Death By Scrum Meeting 2009Pete Behrens
 
Stop doing scrum - BE agile (a leadership guide)
Stop doing scrum - BE agile (a leadership guide)Stop doing scrum - BE agile (a leadership guide)
Stop doing scrum - BE agile (a leadership guide)Pete Behrens
 
VeriQual - Team Structure & Agile Practices
VeriQual - Team Structure & Agile PracticesVeriQual - Team Structure & Agile Practices
VeriQual - Team Structure & Agile Practicesapveriqual
 
Agile leadership in the enterprise
Agile leadership in the enterpriseAgile leadership in the enterprise
Agile leadership in the enterprisePete Behrens
 
Developing Agile Leadership
Developing Agile LeadershipDeveloping Agile Leadership
Developing Agile LeadershipPete Behrens
 

Viewers also liked (20)

Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to Scrum
 
What is agile model
What is agile modelWhat is agile model
What is agile model
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Agile Modeling
Agile ModelingAgile Modeling
Agile Modeling
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
Agile in Outsourced Environment – A Perspective
Agile in Outsourced Environment – A PerspectiveAgile in Outsourced Environment – A Perspective
Agile in Outsourced Environment – A Perspective
 
Death by Scrum Meeting Agile2010
Death by Scrum Meeting Agile2010Death by Scrum Meeting Agile2010
Death by Scrum Meeting Agile2010
 
Reprogramming Leadership for Agility
Reprogramming Leadership for AgilityReprogramming Leadership for Agility
Reprogramming Leadership for Agility
 
Leading Agility "Inside-Out"
Leading Agility "Inside-Out"Leading Agility "Inside-Out"
Leading Agility "Inside-Out"
 
REVOLUTION - How agile cooperation models substitute classical client/vendor...
 REVOLUTION - How agile cooperation models substitute classical client/vendor... REVOLUTION - How agile cooperation models substitute classical client/vendor...
REVOLUTION - How agile cooperation models substitute classical client/vendor...
 
Death By Scrum Meeting 2009
Death By Scrum Meeting 2009Death By Scrum Meeting 2009
Death By Scrum Meeting 2009
 
Stop doing scrum - BE agile (a leadership guide)
Stop doing scrum - BE agile (a leadership guide)Stop doing scrum - BE agile (a leadership guide)
Stop doing scrum - BE agile (a leadership guide)
 
VeriQual - Team Structure & Agile Practices
VeriQual - Team Structure & Agile PracticesVeriQual - Team Structure & Agile Practices
VeriQual - Team Structure & Agile Practices
 
Agile leadership in the enterprise
Agile leadership in the enterpriseAgile leadership in the enterprise
Agile leadership in the enterprise
 
Developing Agile Leadership
Developing Agile LeadershipDeveloping Agile Leadership
Developing Agile Leadership
 

Similar to Agile methodology

Agile Project Management for IT Projects
Agile Project Management for IT ProjectsAgile Project Management for IT Projects
Agile Project Management for IT Projectsrachna_nainani
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyayPMI_IREP_TP
 
Paradigm Shift for Project Managers in Agile Projects
Paradigm Shift for Project Managers in Agile ProjectsParadigm Shift for Project Managers in Agile Projects
Paradigm Shift for Project Managers in Agile ProjectsBharani M
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software developmentbizpresenter
 
Managing Business Analysis for Agile Development
Managing Business Analysis for Agile DevelopmentManaging Business Analysis for Agile Development
Managing Business Analysis for Agile DevelopmentIJMER
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsNicole Gomez
 
Agile introduction for dummies
Agile introduction for dummiesAgile introduction for dummies
Agile introduction for dummiesVinay Dixit
 
International journal of computer science and innovation vol 2015-n2-paper3
International journal of computer science and innovation  vol 2015-n2-paper3International journal of computer science and innovation  vol 2015-n2-paper3
International journal of computer science and innovation vol 2015-n2-paper3sophiabelthome
 
SOFTWARE DEVELOPMENT BUSINESS PLAN
SOFTWARE DEVELOPMENT BUSINESS PLANSOFTWARE DEVELOPMENT BUSINESS PLAN
SOFTWARE DEVELOPMENT BUSINESS PLANNimble Appgenie LLP
 
Presentation by somdatta banerjee
Presentation by somdatta banerjeePresentation by somdatta banerjee
Presentation by somdatta banerjeePMI_IREP_TP
 
Presentation by somdatta banerjee
Presentation by somdatta banerjeePresentation by somdatta banerjee
Presentation by somdatta banerjeePMI_IREP_TP
 
Software Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use CasesSoftware Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use CasesPolyxer Systems
 
A Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And PracticesA Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And PracticesSean Flores
 

Similar to Agile methodology (20)

Agile Project Management for IT Projects
Agile Project Management for IT ProjectsAgile Project Management for IT Projects
Agile Project Management for IT Projects
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyay
 
Agile Methodologies & Key Principles
Agile Methodologies & Key Principles Agile Methodologies & Key Principles
Agile Methodologies & Key Principles
 
Agile Dev. II
Agile Dev. IIAgile Dev. II
Agile Dev. II
 
Agile approach
Agile approachAgile approach
Agile approach
 
Paradigm Shift for Project Managers in Agile Projects
Paradigm Shift for Project Managers in Agile ProjectsParadigm Shift for Project Managers in Agile Projects
Paradigm Shift for Project Managers in Agile Projects
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Agile resources e-book
Agile resources e-bookAgile resources e-book
Agile resources e-book
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Managing Business Analysis for Agile Development
Managing Business Analysis for Agile DevelopmentManaging Business Analysis for Agile Development
Managing Business Analysis for Agile Development
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
Agile introduction for dummies
Agile introduction for dummiesAgile introduction for dummies
Agile introduction for dummies
 
International journal of computer science and innovation vol 2015-n2-paper3
International journal of computer science and innovation  vol 2015-n2-paper3International journal of computer science and innovation  vol 2015-n2-paper3
International journal of computer science and innovation vol 2015-n2-paper3
 
SOFTWARE DEVELOPMENT BUSINESS PLAN
SOFTWARE DEVELOPMENT BUSINESS PLANSOFTWARE DEVELOPMENT BUSINESS PLAN
SOFTWARE DEVELOPMENT BUSINESS PLAN
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Agile Development Models
Agile Development ModelsAgile Development Models
Agile Development Models
 
Presentation by somdatta banerjee
Presentation by somdatta banerjeePresentation by somdatta banerjee
Presentation by somdatta banerjee
 
Presentation by somdatta banerjee
Presentation by somdatta banerjeePresentation by somdatta banerjee
Presentation by somdatta banerjee
 
Software Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use CasesSoftware Development Methodologies Pros, Cons, & Use Cases
Software Development Methodologies Pros, Cons, & Use Cases
 
A Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And PracticesA Systematic Study On Agile Software Development Methodlogies And Practices
A Systematic Study On Agile Software Development Methodlogies And Practices
 

More from Md. Mahedi Mahfuj

More from Md. Mahedi Mahfuj (20)

Bengali optical character recognition system
Bengali optical character recognition systemBengali optical character recognition system
Bengali optical character recognition system
 
Parallel computing chapter 3
Parallel computing chapter 3Parallel computing chapter 3
Parallel computing chapter 3
 
Parallel computing chapter 2
Parallel computing chapter 2Parallel computing chapter 2
Parallel computing chapter 2
 
Parallel computing(2)
Parallel computing(2)Parallel computing(2)
Parallel computing(2)
 
Parallel computing(1)
Parallel computing(1)Parallel computing(1)
Parallel computing(1)
 
Message passing interface
Message passing interfaceMessage passing interface
Message passing interface
 
Advanced computer architecture
Advanced computer architectureAdvanced computer architecture
Advanced computer architecture
 
Parallel searching
Parallel searchingParallel searching
Parallel searching
 
Clustering manual
Clustering manualClustering manual
Clustering manual
 
Matrix multiplication graph
Matrix multiplication graphMatrix multiplication graph
Matrix multiplication graph
 
Strategy pattern
Strategy patternStrategy pattern
Strategy pattern
 
Observer pattern
Observer patternObserver pattern
Observer pattern
 
Mediator pattern
Mediator patternMediator pattern
Mediator pattern
 
Database management system chapter16
Database management system chapter16Database management system chapter16
Database management system chapter16
 
Database management system chapter15
Database management system chapter15Database management system chapter15
Database management system chapter15
 
Database management system chapter12
Database management system chapter12Database management system chapter12
Database management system chapter12
 
Strategies in job search process
Strategies in job search processStrategies in job search process
Strategies in job search process
 
Report writing(short)
Report writing(short)Report writing(short)
Report writing(short)
 
Report writing(long)
Report writing(long)Report writing(long)
Report writing(long)
 
Job search_resume
Job search_resumeJob search_resume
Job search_resume
 

Agile methodology

  • 1. Class Assignment 02 CLASS ASSIGNMENT-02 AGILE SOFTWARE DEVELOPMENT Submitted By: Md.Mahedi Mahfuj -BIT 0207 Mostafizur Rahman -BIT0211 Md.Habibur Rahman -BIT0216 Submitted To: Awsaful Islam Course Instructor Date: 30-09-2012 Institute of Information Technology University of Dhaka Page 1 of 10
  • 2. Class Assignment 02 Agile Software Development Abstract: Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. In precise, agile methodology is a software development process framework that adopts the iterative approach, open collaboration, and process adaptability throughout the life- cycle of the project. This iterative agile approach is more flexible and its short time-span iterations seek improvement for the project in small release, with minimal planning, rather than plan at length. This helps to minimize the overall risk, and allows the project to adapt to changes more quickly. A pictorial view will clarify the concept. Pictorial View: Figure 1: Agile Process Model Page 2 of 10
  • 3. Class Assignment 02 Characteristics:  Iterative and incremental Many short time boxed iterations with incremental releases. The iterative approach produces earlier release and better stakeholders' feedback. The feedback is used to review the project priorities and make changes to the requirements, functionalities, estimations, plans, resources, etc. as required. This improves stakeholder’s confidence and reduces uncertainties in the projects. It is particularly useful to clarify requirements when there are uncertain scopes or changing requirements. It also helps improve the estimate and planning, especially when metrics are collected in each iteration. Constant feedback reduces the project risks. Figure 2: Iterative and Incremental Development Page 3 of 10
  • 4. Class Assignment 02  People oriented Unlike Unified Process's iterative framework, which prescribes to the successive refinement of an executable architecture for each iteration, agile methodology framework believes quality of the people is most important in making sure the project is successful. There is more reliance on individual work than prescribing to a general architectural planning. The software quality depends on the quality of the people and how well they work together. The project is built around motivated individuals and the workload should be sustainable at a constant pace with all stakeholders. Trust the people to get the job done. Figure 3: People Oriented process. Page 4 of 10
  • 5. Class Assignment 02  Lightweight Agile methodology believes that the most efficient and effective communication is face to face conversation. Development team does not build large documents and control points. However, this does not mean there is no modeling or documentation. The attention is not towards the documentation but towards technical excellence and good design with simplicity. It believes the best architecture, requirements and design will emerge from self organizing teams. It uses sketch mode- The design activity is centered on informal and incomplete exploration of complex design. The focus is on communicating the design between team members rather than on the completeness of the design. Figure 4: Lightweight attribute of ASD Page 5 of 10
  • 6. Class Assignment 02  Test driven development The working software is the primary measure of progress in the project. Thus, each iteration release is tested to be working software. Figure 5: Test Driven Development Process Page 6 of 10
  • 7. Class Assignment 02 The Manifesto of ASD: The Manifesto of Agile Software Development is as follows:  Individuals and interactions over processes and tools---in agile development, self-organization and motivation are important, as are interactions like co-location and pair programming.  Working software over comprehensive documentation--- working software will be more useful and welcome than just presenting documents to clients in meetings.  Customer collaboration over contract negotiation--- requirements cannot be fully collected at the beginning of the software development cycle, therefore continuous customer or stakeholder involvement is very important.  Responding to change over following a plan--- agile development is focused on quick responses to change and continuous development. Benefits: 1. Early release, better stakeholders’ feedback. 2. Review the project priorities and make changes to the requirements, functionalities, estimations, plans, and resources, as required. 3. Improves stakeholders’ confidence and reduce uncertainties. 4. Useful to clarify requirements when there are uncertain scopes or changing requirements. 5. Constant feedback reduces the project risk. When to avoid Agile Methodology:  One has to formally document the requirements, design, code, and testing cases during each phase of the software life cycle. Page 7 of 10
  • 8. Class Assignment 02 This is usually the case when building an infrastructure application, rather than an application that supports a changeable business process. Infrastructure applications support an entire business unit over a long ROI period, with repeated updates and enhancements expected. These applications are likely to be managed by successive generations of application owners, who will need to inherit documentation from their predecessors, maintain it, and pass it on their successors.  Deliverables must pass through a chain of approvals and tollgates. Approvals and tollgates are mini-bottlenecks that can slow the momentum of a project, momentum that agile methods are supposed to support. Applications that require phase-end reviews or reviews of major deliverables by senior management, by a PMO, or even an Audit Committee may or may not be candidates for agile methods. Of course, the flip side to this is that agile methods can also help recover momentum lost to approvals and tollgates.  One has tools to create the software models but not to translate them to the low end software code. Model-driven development tools that can generate code are proliferating, but the skills necessary to use them effectively are still relatively scarce. Unless you have both the tools and the skills available, agile methods that depend on such tools need to be approached with caution.  One needs to follow traditional Software management processes and Procedures. "Traditional" usually means "comfortable". If the business sponsor and users are uncomfortable with anything but traditional ways of developing software, and remain unmoved by the value proposition for agile methods, don't bother.  Application users are NOT always accessible to you. Agile management depends on an effective, day-to-day working partnership between the development team, the sponsor, and empowered users. If this partnership does not exist, or is likely to be weak, an agile project will face much higher risks than it should.  One wants to work in a waterfall model – In other words you are taking a serial, phase-based approach for your project SDLC. Most actual project approaches are tailored versions of an organization's SDLC. The long timeframes that characterize many infrastructure projects may make a Page 8 of 10
  • 9. Class Assignment 02 waterfall approach more suitable. On the other hand, if a long project is divided into shorter duration mini-projects, agile methods may work better for some or all of them.  The project team cannot adapt to changes in working durations, overlaps & shifts. Agile methods require not only training but a different mindset. If the team you have available cannot adapt to the changes that happen constantly in an agile project, the project may fail.  Team lacks breadth, depth, or both. An agile project usually requires multiple skills, sometimes in the same people. You will likely need skills in business analysis, technical architecture, agile project management, model-driven development, and interpersonal communication. Agile places a premium on having premium people. Criticism: Developer-Centric, not user-centric: One common criticism of agile software development methods is that it is developer- centric rather than user-centric. Agile software development focuses on processes for getting requirements and developing code and does not focus on product design. Mike Gualtieri, principal analyst of agile software development at Forrester Research, published a widely read criticism stating that software developers are not coders, but experience creators. Inefficiency: Agile methodologies can also be inefficient in large organizations and certain types of projects. Agile methods seem best for developmental and non-sequential projects. Extremity: Many organizations believe that agile methodologies are too extreme, and adopt a hybrid approach that mixes elements of agile and plan-driven approaches. Page 9 of 10
  • 10. Class Assignment 02 Conclusion: Agile development methodology attempts to provide many opportunities to assess the direction of a project throughout the development lifecycle. By focusing on the repetition of abbreviated work cycles as well as the functional product they yield, agile methodology could be described as “iterative” and “incremental.” In an agile paradigm, every aspect of development requirements, design, etc. is continually revisited throughout the lifecycle. The results of this “inspect-and-adapt” approach to development greatly reduce both development costs and time to market. In the end, a development agile methodology that preserves a product’s critical market relevance and ensures a team’s work doesn’t wind up on a shelf, never released, is an attractive option for stakeholders and developers alike. …………………………………………………………..……X…..………………………………………………………………. Page 10 of 10