Agilité et pratiques d'ingénieries

44

Transcript of Agilité et pratiques d'ingénieries

❏❏

❏❏❏

❏❏

Des chiffres

15,000 engineers working on a single development branch, 5500 commits per day, avg 20k tests run per commit

1,000 development engineers and three release engineers, working on 10.5 million lines of actual code, with releases twice a week.

1079 (max) deployment per hour, 30 000(max) hosts simultaneously deploying, 11.6(mean) seconds between deployments

“Primum non nocere; First, do no harm” - Hippocratic Hoath

Feature: Produce a single child file

Background: Given a child registered with: |first name |George | |last name |Orwell | |birth date |2007-03-23| |bottle |no | |allergies |peanuts |

Scenario: Produce a basic child file When I consult "George" "Orwell"'s file And I see that his name is "George" "Orwell" And I see that his birth date is "23 March 2007" And I see that he does not expects a bottle And I see that he is allergic to peanuts

describe Child do

it "is considered allergic when he has an allergy" do

Child.make(:allergies => 'peanuts').should be_allergic

end

end

class Child

end

Feature: Produce a single child file

Background: Given a child registered with: |first name |George | |last name |Orwell | |birth date |2007-03-23| |bottle |no | |allergies |peanuts |

Scenario: Produce a basic child file When I consult "George" "Orwell"'s file And I see that his name is "George" "Orwell" And I see that his birth date is "23 March 2007" And I see that he does not expects a bottle And I see that he is allergic to peanuts

Then /^(?:|I) see that he is allergic to "([^\"]*)"$/ do |allergies|

shows_child_is_allergic_to(allergies)

end

....

def shows_child_is_allergic_to(allergies)

with_scope('#allergies') do

page.should have_content(allergies)

end

end

describe Child do

it "is considered allergic when he has an allergy" do

Child.make(:allergies => 'peanuts').should be_allergic

end

end

class Child

def allergic?

allergies.present?

end

end

❏ Duplication de code❏ Longues méthodes❏ Longues classes❏ ……..❏ ……❏ …..❏ ...

●●●●

●●●●

5500 commits per day, avg 20k tests run per commit *

Les difficultés

■■■■■■■ …

Devops