Принцип InversionofControl в применении к Agile-разработке<br />Владимир Лешкевич<br />Минск, Intetics Co.<br />
План доклада<br />Процесс познания<br />Принцип Inversion of Control<br />Agile практики<br />
Процесс познания<br />Переход к четвертой ступени познания<br />Интернализация навыка<br />Подмена формальными практиками<...
Inversion of Control<br />Управляющее воздействие осуществляется извне<br />Принцип «шиворот-навыворот»<br />Inversion of ...
Примеры из окружающего мира<br />VS<br />
Agile manifesto<br />Individuals and interactions over processes and tools <br />Working software over comprehensive docum...
Testability<br />Не пытаться тестировать то, что есть<br />Подбираем технологии по критерию testability<br />Выгоды<br />П...
Test-Driven Development<br />Runnable requirements over dead documentation<br />Реализация, направляемая тестами<br />Пише...
Test-Driven Development, пример<br />Задача: факторизовать натуральное число<br />1 =&gt; [1]<br />return [1]<br />2 =&gt;...
Архитектура/дизайн<br /><ul><li>Роль архитектора
Эволюционный дизайн
From smells to patterns, а не наоборот</li></ul>VS<br />
Человеческий фактор<br />Максимизируем удовлетворенность сотрудников<br />Долгосрочный выигрыш<br />Жизнеспособность?<br /...
Обучение Agile<br />Не начинать карьеру сотрудника с изучения Agile<br />Негативный прошлый опыт<br />Создавать его<br />
Upcoming SlideShare
Loading in …5
×

Принцип Inversion Of Control в применении к Agile разработке

347 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
347
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Принцип Inversion Of Control в применении к Agile разработке

  1. 1. Принцип InversionofControl в применении к Agile-разработке<br />Владимир Лешкевич<br />Минск, Intetics Co.<br />
  2. 2. План доклада<br />Процесс познания<br />Принцип Inversion of Control<br />Agile практики<br />
  3. 3. Процесс познания<br />Переход к четвертой ступени познания<br />Интернализация навыка<br />Подмена формальными практиками<br />Неустойчивость третьей ступени<br />Ценность практического опыта (негативного)<br />Дополнение теоретическим изучением<br />Aha-эффект<br />
  4. 4. Inversion of Control<br />Управляющее воздействие осуществляется извне<br />Принцип «шиворот-навыворот»<br />Inversion of Control какинструмент aha-эффекта<br />
  5. 5. Примеры из окружающего мира<br />VS<br />
  6. 6. Agile manifesto<br />Individuals and interactions over processes and tools <br />Working software over comprehensive documentation<br />Customer collaboration over contract negotiation<br />Responding to change over following a plan<br />
  7. 7. Testability<br />Не пытаться тестировать то, что есть<br />Подбираем технологии по критерию testability<br />Выгоды<br />Продуктивность<br />Инновации<br />Человеческий фактор<br />
  8. 8. Test-Driven Development<br />Runnable requirements over dead documentation<br />Реализация, направляемая тестами<br />Пишем требование, код подгоняем под требование<br />Сложная задача заменяется на две более простых<br />Обобщение граничных/вырожденных случаев<br />
  9. 9. Test-Driven Development, пример<br />Задача: факторизовать натуральное число<br />1 =&gt; [1]<br />return [1]<br />2 =&gt; [2]<br />return [n]<br />4 =&gt; [2, 2]<br />if n == 4<br />return [2, 2]<br />return [n]<br />6 =&gt; [2, 3]<br />if n &gt; 2 && n % 2 == 0<br />return [2, n / 2]<br />return [n]<br />8 =&gt; [2, 2, 2]<br />result = []<br />while n &gt; 2 && n % 2 == 0<br />result.append(2)<br /> n /= 2<br />result.append(n)<br />return result<br />9 =&gt; [3, 3]<br />result = []<br />foreachi in [2..sqrt(n)]<br /> while n &gt; i && n % i == 0<br />result.append(i)<br /> n /= i<br />result.append(n)<br />return result<br />
  10. 10. Архитектура/дизайн<br /><ul><li>Роль архитектора
  11. 11. Эволюционный дизайн
  12. 12. From smells to patterns, а не наоборот</li></ul>VS<br />
  13. 13. Человеческий фактор<br />Максимизируем удовлетворенность сотрудников<br />Долгосрочный выигрыш<br />Жизнеспособность?<br />Раздаем все деньги<br />Плохие сотрудники<br />Нельзя уволить<br />Нет негатива<br />Реальные компании?<br />
  14. 14. Обучение Agile<br />Не начинать карьеру сотрудника с изучения Agile<br />Негативный прошлый опыт<br />Создавать его<br />
  15. 15. Заключение<br />«Почему» важнее, чем «что»<br />Ловите aha-моменты<br />Ищите скрытые мотивы<br />Не надейтесь на «куриные мозги», ищите «холодные яйца»<br />Проявляйте смелость<br />
  16. 16. Q & A<br />

×