Рон Джеффрис
Рон Джеффрис (англ. Ron Jeffries; род. 26 июня 1939) — американский инженер-программист, автор, консультант и один из ключевых участников движения экстремального программирования (XP) и гибкой разработки программного обеспечения (Agile). Наиболее известен как соавтор методологии экстремального программирования, автор книг по разработке программного обеспечения и активный пропагандист идей гибкой разработки, тестирования и рефакторинга. Джеффрис является одним из 17 подписантов «Манифеста гибкой разработки программного обеспечения» (Agile Manifesto), опубликованного в 2001 году.
Биография
Ранние годы и начало карьеры
Рон Джеффрис родился 26 июня 1939 года. О его ранних годах и образовании известно немного. До того, как заняться программированием, он работал в различных сферах, включая службу в Военно-воздушных силах США. В конце 1970-х годов Джеффрис начал карьеру в области разработки программного обеспечения, работая в таких компаниях, как IBM и General Electric. В 1980-х годах он занимался разработкой на языке Smalltalk, что впоследствии оказало значительное влияние на его подход к программированию.
Работа в Chrysler и создание XP
В середине 1990-х годов Джеффрис работал в компании Chrysler (ныне часть Stellantis) над проектом по разработке системы расчета заработной платы (Chrysler Comprehensive Compensation System, C3). В рамках этого проекта он познакомился с Кентом Беком, который пригласил его присоединиться к команде. Именно на проекте C3 Кент Бек, Уорд Каннингем и Рон Джеффрис начали формулировать и практиковать принципы, которые позже стали известны как экстремальное программирование (XP). Джеффрис стал одним из главных практиков и пропагандистов XP, а после ухода Бека с проекта — его основным ведущим разработчиком.
Участие в создании Agile Manifesto
В 2001 году Рон Джеффрис был приглашён на встречу в курортном местечке Сноубирд (штат Юта, США), где собрались 17 ведущих специалистов в области лёгких методологий разработки. Результатом этой встречи стало создание «Манифеста гибкой разработки программного обеспечения» (Agile Manifesto). Джеффрис является одним из 17 подписантов документа, который определил развитие индустрии разработки ПО на десятилетия вперёд.
Дальнейшая деятельность
После публикации Манифеста Джеффрис продолжил активную деятельность в качестве консультанта, тренера и автора. Он основал собственную консалтинговую компанию Ron Jeffries & Associates, специализирующуюся на внедрении гибких методологий (Agile) и экстремального программирования. Джеффрис регулярно выступает на международных конференциях, пишет статьи в блогах и колонки в профессиональных изданиях. Он также является автором нескольких книг, посвящённых разработке программного обеспечения.
Вклад в разработку программного обеспечения
Экстремальное программирование (XP)
Рон Джеффрис считается одним из трёх основных соавторов экстремального программирования (наряду с Кентом Беком и Уордом Каннингемом). Он внёс значительный вклад в развитие и популяризацию таких практик XP, как:
- Парное программирование (Pair Programming) — два программиста работают за одним компьютером, один пишет код, другой проверяет его в реальном времени.
- Разработка через тестирование (Test-Driven Development, TDD) — сначала пишется тест, затем код, который этот тест проходит.
- Непрерывная интеграция (Continuous Integration) — регулярное объединение изменений кода всех разработчиков в общую ветку.
- Простой дизайн (Simple Design) — создание минимально необходимой архитектуры, которая работает и удовлетворяет текущим требованиям.
Джеффрис известен своей жёсткой приверженностью принципам XP, особенно практике TDD. Он утверждает, что TDD является не просто техникой тестирования, а фундаментальным методом проектирования, который позволяет создавать хорошо структурированный и легко поддерживаемый код.
Разработка через тестирование (TDD)
Джеффрис является одним из самых активных пропагандистов TDD. Он написал множество статей и книг, в которых детально описывает эту практику. В своих работах он подчёркивает, что TDD — это не про тестирование, а про дизайн кода. Следуя циклу «красный-зелёный-рефакторинг» (Red-Green-Refactoring), разработчик сначала пишет тест, который не проходит (красный), затем пишет минимальный код, чтобы тест прошёл (зелёный), и после этого рефакторит код, улучшая его структуру без изменения поведения.
Рефакторинг
Джеффрис активно пропагандирует практику рефакторинга — непрерывного улучшения структуры кода без изменения его внешнего поведения. Он считает, что рефакторинг является неотъемлемой частью процесса разработки и позволяет поддерживать код в чистоте и готовности к изменениям. В своих книгах и статьях он приводит множество примеров рефакторинга, показывая, как постепенно улучшать код, делая его более понятным и гибким.
Книги и публикации
Рон Джеффрис является автором нескольких книг, которые стали классикой в области разработки программного обеспечения:
- «Extreme Programming Installed» (2000, в соавторстве с Энн Андерсон и Четом Хендриксоном) — практическое руководство по внедрению экстремального программирования в командах.
- «Extreme Programming Adventures in C#» (2004) — книга, в которой автор на примере языка C# демонстрирует применение практик XP, включая TDD и рефакторинг.
- «The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece» (2015) — книга, в которой Джеффрис излагает свои взгляды на природу разработки программного обеспечения, подчёркивая важность простоты, ценности и итеративности.
Кроме того, Джеффрис вёл популярный блог (ronjeffries.com), где публиковал статьи, эссе и размышления о разработке ПО, Agile и XP. Многие из этих статей широко цитируются в профессиональном сообществе.
Критика и влияние
Критика подхода
Взгляды Рона Джеффриса, особенно его жёсткая приверженность TDD и XP, подвергались критике со стороны части профессионального сообщества. Некоторые разработчики утверждают, что TDD не всегда применим в реальных проектах, особенно в условиях жёстких сроков или при работе с унаследованным кодом. Другие критикуют Джеффриса за излишний догматизм и неприятие альтернативных подходов к разработке. Однако его сторонники отмечают, что его принципы основаны на многолетнем практическом опыте и помогают создавать качественное программное обеспечение.
Влияние на индустрию
Несмотря на критику, влияние Рона Джеффриса на индустрию разработки программного обеспечения трудно переоценить. Он является одним из отцов-основателей гибкой разработки, и его идеи легли в основу методологий, используемых миллионами разработчиков по всему миру. Практики, которые он пропагандировал, такие как TDD, парное программирование и непрерывная интеграция, стали стандартом де-факто во многих IT-компаниях. Его книги и статьи продолжают влиять на новое поколение программистов.
Интересные факты
- Рон Джеффрис известен своим образным языком. Он часто использует метафоры и аналогии, чтобы объяснить сложные концепции разработки ПО. Например, он сравнивает разработку через тестирование с «вождением автомобиля по ночам с включёнными фарами» — вы видите только то, что находится в пределах освещённого участка, но этого достаточно, чтобы безопасно двигаться вперёд.
- Джеффрис является активным пользователем и пропагандистом языка Smalltalk, который он считает идеальным для обучения программированию и для применения практик XP.
- Он неоднократно заявлял, что «программирование — это ремесло, а не наука», подчёркивая важность практического опыта и мастерства, а не формальных теорий.
Источники
- Jeffries, R., Anderson, A., Hendrickson, C. Extreme Programming Installed. Addison-Wesley, 2000.
- Jeffries, R. Extreme Programming Adventures in C#. Microsoft Press, 2004.
- Jeffries, R. The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece. Pragmatic Bookshelf, 2015.
- Beck, K. Extreme Programming Explained: Embrace Change. Addison-Wesley, 1999.
- Fowler, M. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
- Agile Manifesto. Manifesto for Agile Software Development. 2001.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →