Кент Бек (родился в 1961 году) — американский инженер-программист и создатель экстремального программирования , [1] методологии разработки программного обеспечения , которая избегает жесткой формальной спецификации для совместного и итеративного процесса проектирования. Бек был одним из 17 первых подписавших Agile Manifesto , [1] основополагающего документа для гибкой разработки программного обеспечения . Экстремальные и гибкие методы тесно связаны с разработкой через тестирование (TDD), ведущим сторонником которой является Бек.
Бек был пионером в области шаблонов проектирования программного обеспечения , а также коммерческого применения Smalltalk . Он написал фреймворк для модульного тестирования SUnit для Smalltalk, который породил серию фреймворков xUnit , в частности JUnit для Java, который Бек написал совместно с Эрихом Гаммой . Бек популяризировал карточки CRC вместе с Уордом Каннингемом , изобретателем вики.
Он живет в Сан-Франциско, Калифорния , и ранее работал в Facebook . [2] В 2019 году Бек присоединился к Gusto в качестве специалиста по программному обеспечению и тренера, где он тренирует инженерные команды, создавая системы расчета заработной платы для малого бизнеса. [3]
Бек учился в Университете Орегона с 1979 по 1987 год, получив степени бакалавра и магистра наук в области компьютерных и информационных наук . [4]
В 1996 году Бек был нанят для работы над комплексной системой компенсаций Chrysler . Бек, в свою очередь, привлек Рона Джеффриса . В марте 1996 года группа разработчиков оценила, что система будет готова к запуску в производство примерно через год. В 1997 году группа разработчиков приняла метод работы, который сейчас формализован как экстремальное программирование . [5] Годовая цель поставки была почти достигнута, а фактическая поставка опоздала всего на пару месяцев.
Книга иллюстрирует использование модульного тестирования как части методологии, включая примеры на Java и Python. Один из разделов включает использование разработки через тестирование для разработки фреймворка модульного тестирования.