• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/5

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

5 Cards in this Set

  • Front
  • Back

What are the characteristics of agile processes?

1:short releases and iterations


-divide work into small pieces


-release software to customer as soon as possible




2: incremental design


-dont do a complete design up front (it will change anyways and we dont have enough info)


-delay design decisions for as long as possible




3: user involvement


-dont produce formal, immutable documents at the start


-instead, ask users for constant feedback




4:minimal documentation


-source code is considered documentation


informal communications




5: informal communications


-maintain constant comm, but informally (emails, texts)




6: change


-assume everything will change

Why is agile development necessary?

came about due to the limitations and assumptions in traditional, heavyweight models

Problems with traditional processes

many traditional models were created decades ago at a time when big companies and projects were the norm (e.g, aerospace)




development times were 75 years.




times have changed and smaller companies and projects prevail




also, today technology changes quite rapidly




traditional models cannot cope with changing requirements




traditional models have the hidden assumption that the requirements are well understood




traditional models rely on extra development effort to make up for lost time - the mythical man month




traditional models have a lot of waste or duplication of effort (E.G lots of doc is produced, but is never look at and is quickly out of date)

What is extreme programming?

-a model for small teams in the face of changing requirements


-takeaways : places a lot of emphasis on business values, relies on frequent customer communication


balances cost/demand with programming effort.

Key characteristics of XP

-short releases


-simple design: dont spend a lot of time up front on a complicated design because things are going to change


-test driven development: write the unit test before you write the code so that you can tests small units at a time and that you wont be biased when you test


-design improvement: places an emphasis on refactoring or improving design and code as you go along


-pairwise programming : to catch mistakes


-collective ownership: anyone can change anything at any time


-continuous integration: always have a working copy


-on-site customer: customer is a team member


-coding standards: consistent naming conventions


-documentless: no traditional document is producted instead the code and the test suites are considered document