Пять рисков одиночного программирования | Participants
|
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translated in draft, editing and proof-reading required.
If you do not want to register an account, you can sign in with OpenID.
Five risks of solo programming | ||
Pair programming is one of the most debated practices of the Extreme Programming. Historically, programming used to be a solitary activity that required high concentration and even isolation. The best programmers know how to get into the metal state called "flow" or "zone", in which the undisturbed mind is able to efficiently focus on the code and make highly creative and efficient design decisions. | Парное программирование — одна из наиболее спорных практик экстремального программирования. Исторически так сложилось, что программирование было занятием одиночки, которое требовало высокой концентрации и даже уединения. Лучшие программисты знают, как достичь того психического состояния, которое называется "состояние потока" (англ. flow). В этом состоянии сконцентрированный разум способен успешно фокусироваться на коде, создавать творческий и эффективный дизайн. | |
While "zone" is indeed highly valuable and learning how to deepen into zone as a pair might be more difficult, than learning how to get into flow alone, the truth is that despite the comfort of the long time status quo, solo programming is just too risky and in the end might cost quite some more money for the company. There are many risks of solo programming, here are the top five that come to my mind. | Хотя подобное состояние разума действительно очень ценно, а изучение того, как погружаться в подобное состояние, работая в паре, может быть гораздо сложнее, чем работая в одиночку, правда состоит в том, что несмотря на удобство долговременного статуса кво, одиночное программирование довольно рискованное занятие и в конце концов может стоить компании много денег. В одиночном программировании много рисков, тут я опишу пятерку самых опасных из них. | |
High defect rate | ||
This is the most obvious risk. Human beings are not the magicians and whatever accurate you are trying to be, occasional typos, misunderstanding of requirements and just mistakes are inevitable. Solo programmers fight these mistakes with the help of careful planning, code reviews and various code analysis tools. These activities are definitely useful, but no code review performed after the fact can compare to the continuous code review performed during the act of coding, no amount of careful planning can compare to pairing with the customer, business analyst or tester while working on his requirements. | Это наиболее очевидный риск. Человеческие создания не волшебники, и, как бы аккуратны вы ни были, случайные опечатки, недопонимание требований и просто ошибки неизбежны. Одиночные программисты борются с подобными ошибками с помощью тщательного планирования, инспекции кода и различных инструментов анализа кода. Эти занятия безусловно полезны, но никакая инспекция кода, выполняемая после завершения работы, не сравнится с постоянной инспекцией кода, выполняемой прямо во время программирования, никакое тщательное планирование не сравнится со взаимодействием с заказчиком, бизнес-аналитиком или тестером во время работы над требованиями. | |
Pair programming is not a silver bullet, but it is just too risky to assume that a single person can prevent the creation of as many bugs as a pair can. | Парное программирование это не панацея, просто довольно рискованно предполагать, что отдельный человек может настолько же эффективно бороться с ошибками, как пара разработчиков. | |
Distractions that force you out of the zone | Отвлекающие моменты, которые выводят вас из рабочего состояния | |
Average office worker is interrupted every 11 minutes. No surprise it is so difficult for a programmer to stay in the "zone" and get to the creative and efficient code design. It is not so easy to interrupt the pair working as a team. For people walking through the same office, it is mentally more difficult to dare to interrupt the whole team, pair often shuts down the "individual electronic interrupters" such as the email client that tends to shout about the new message every now and then. Then even if the pair has to be interrupted, often just one person can go deal with the important request and leave the second one in the "zone" to join him after the distraction reason has been resolved. | Средний офисный работник отвлекается от работы каждые 11 минут. Поэтому не удивительно, что программисту сложно оставаться в нужном психическом состоянии и создавать креативный и эффективный код. Гораздо сложнее отвлечь от работы пару разработчиков, работающих в команде. Людям, бродящим по офису, психологически сложнее отвлечь от работы целую команду, кроме того, пары часто выключают "личные электронные отвлекатели", такие как почтовый клиент, который имеет обыкновение сигнализировать о каждом новом почтовом сообщении. Кроме того, даже если пару отвлекли, часто один человек из пары может разбираться со срочным делом, оставляя второго погруженным в разработку, чтобы присоединиться к нему после того, как с отвлекающим делом будет покончено. |

— Потоковое состояние -- http://ru.wikipedia.org/wiki/%D0%9F%D...) — gribunin
— В самой книге Михая Чиксентмихайи, на которую ссылаются в википедии, все же "состояние потока". Есть куда проще тест :) - "гадание на яндексе": "состояние потока" - 58 тыс. страниц; "потоковое состояние" - 352. — abassaka
— "спорных" ли? не лучше ли будет "обсуждаемых"? — Lloyd
— Мне кажется, в данном случае это синонимы. Оно ведь и обсуждается потому, что оно спорное. — gribunin