Agile Software Development - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Agile Software Development

Description:

... individuals to apply their competency in effective ways. ... Developers won't succeed in producing a system if they lack the basic competency for the job. ... – PowerPoint PPT presentation

Number of Views:1072
Avg rating:3.0/5.0
Slides: 18
Provided by: csUa
Category:

less

Transcript and Presenter's Notes

Title: Agile Software Development


1
Agile Software Development
  • Presented by Ashirul Mubin

2
The Problem
  • We cannot anticipate the complete set of
    requirements early in the project life cycle
  • Traditional process management strives to drive
    all variations out of processes it assumes that
    variations are the result of errors.
  • Team can be more effective in responding to
    change if it can
  • Reduce the cost of moving information between
    people
  • Reduce the elapsed time between making a decision
    to seeing the consequences of that decision.

3
Agile
  • Meaning Quick moving, nimble, active
  • Perspective business and technology worlds have
    become turbulent, high speed and uncertain.
  • This requires a process to both
  • Create changes
  • Respond rapidly to those changes

4
Agility
  • Dynamic, context-specific, aggressively change
    embracing, and growth oriented.
  • About creating and responding to changes
  • Developers (primary drivers of projects success)
    coupled with an intense focus on effectiveness
    and maneuverability.
  • Have common focus, and respect a collaborative
    but speedy decision-making process ability to
    deal with ambiguity.
  • Mutual trust Agility depends on trusting
    individuals to apply their competency in
    effective ways.

5
Agile Software Development
  • Views change from a perspective that mirrors
    todays turbulent business and technology
    environment
  • Agile recommends short iterations (2-6 week
    range) during which the team makes constant
    trade-off decisions and adjusts to new
    information.
  • Combine short iterative cycles with feature
    planning and dynamic prioritization.
  • Constant feedback on technical decisions,
    customer requirements, management constraints.

6
Agile Software Development cont.
  • Team proximity and intense interaction between
    team members.
  • Lightweight methodologies a means to achieve the
    more relevant end customer satisfaction and
    high quality.
  • Recognize software development as an empirical
    non-linear process.

7
Agile Approaches
  • In US
  • Extreme Programming, Crystal Methods, Lean
    Development, Scrum, Adaptive Software Development
  • In Europe
  • Dynamic Systems Development Method (DSDM)
  • In Australia
  • Feature-Driven Development (FDD)

8
Basic Principles
  • Two principles in agile development
  • Working Codes tell the developers and sponsors
    what they really have in front of them (as
    opposed to promises as to what they will have )
  • Using people effectively achieves
    maneuverability, speed, and cost savings. People
    can transfer ideas by talking face-to-face.

9
The Manifesto
10
Principles Behind Agile Manifesto
  • To satisfy the customer through early and
    continuous delivery of software
  • Welcome changing requirements, even late in
    development
  • Deliver working software frequently
  • Business people and developers must work together
    daily throughout the project
  • Working software is the primary measure of
    progress
  • The team tunes and adjusts their behavior to
    become more effective.

11
Agile Team
  • Agile teams are characterized by
    self-organization and intense collaboration,
    within and across organizational boundaries.
  • Manager working in Agile-manner places more
    emphasis on people factors in the project
    amicability, talent, skill and communication.
  • The agile group concept grows to span teams,
    organizations, and other working relationships.
  • It is difficult for agile people to function well
    in a rigid organization.

12
Individual Competence
  • Developers wont succeed in producing a system if
    they lack the basic competency for the job.
  • Agile processes are designed to capitalize on
    each individual and each teams unique strengths.
  • Every process must be selected, tailored, and
    adapted to individuals on a particular project
    team.
  • To work jointly to improve the knowledge and
    skill of individuals. A skilled person can
    deliver more value with time.

13
Agile Organization
  • Practice leadership collaboration (rather than
    command control management)
  • Agile organization and agile managers set goals
    and constraints, providing boundaries within
    which innovation can flourish.
  • They understand that who makes decisions isnt as
    important as collaboration on information to make
    informed decisions.
  • They are macromanagers rather than micromanagers.

14
Changes due to Agility
  • Agile development carries with it the implication
    of changing work habits (select appropriate
    approach adjust and improve accordingly).
  • It affects the POWER STRUCTURE within an
    organization, because it spreads out the
    decision-making authority (programmers vs.
    managers).
  • Agile practices stress early involvement of test
    groups and the need for (continuous) rapid
    feedback.

15
How effective is Agile?
  • Survey of 200 people from a wide range of
    organizations
  • More organizations are using at least one agile
    methodology
  • Agile methodologies show slightly better delivery
    performance than rigorous methodologies in terms
    of business performance, customer satisfaction
    and quality.
  • Agile methodologies scored better than rigorous
    methodologies in terms of employee morale.

16
Shortcomings
  • Imposing agile principles on process-centric,
    non-collaborative, optimizing organizations is
    likely to fail.
  • Attempting to get close user collaboration with
    organizations that have little time to spend with
    developer will not work for agile methodologies.
  • Agile development is more difficult with large
    teams.
  • It does not say much about the relationship
    between the development and quality assurance
    groups.
  • Not suitable for developing mission-critical
    systems or rigid environments.

17
Conclusion
  • Agile development excels in exploratory problem
    domains (extreme, complex, high-change projects)
  • It operates best in people-centered,
    collaborative, organizational culture.
  • This approach has proved to be effective at
    solving many problems and at forging attractive
    work environments in many organizations.
Write a Comment
User Comments (0)
About PowerShow.com