суббота, 28 мая 2016 г.

Задачи руководителя по персоналу

1. Заманить сотрудника обещая хорошее вознаграждение , доброжелательный коллектив и интересную работу соответствующую его резюме.

2.Максимально погрузить нового сотрудника в контекст организации, чтобы у него не осталось в сознании места для своих ценностей, целей и приоритетов.
3. Сорвать ему адаптацию постепенно и неуклонно нарастающим напряжением;
4. создать впечатление, что другого выбора кроме этой организации и тех действий, что предлагает выполнить руководитель у сотрудника нет.
5. Преспокойно использовать сотрудника на всю катушку за полцены и не предоставляя никаких социальных гарантий.

воскресенье, 22 мая 2016 г.

Разработка через тестирование (англ. test-driven development, TDD) — техника разработки программного обеспечения, которая основывается на повторении очень коротких циклов разработки: 
сначала пишется тест, покрывающий желаемое изменение, 
затем пишется код, который позволит пройти тест, 
и под конец проводится рефакторинг нового кода к соответствующим стандартам. 
Кент Бек, считающийся изобретателем этой техники, утверждал в 2003 году, что разработка через тестирование поощряет простой дизайн и внушает уверенность (англ. inspires confidence)[1].
В 1999 году при своём появлении разработка через тестирование была тесно связана с концепцией «сначала тест» (англ. test-first), применяемой в экстремальном программировании[2], однако позже выделилась как независимая методология.[3].
Тест — это процедура, которая позволяет либо подтвердить, либо опровергнуть работоспособность кода. Когда программист проверяет работоспособность разработанного им кода, он выполняет тестирование вручную.



BDD-тесты могут быть написаны, например, техническими менеджерами или тестировщиками, что делает возможным их использование не только при формальной TDD-разработке, но и при составлении компонентных тестов, а также при формализации требований к системе.


Вот какая проблема у меня возникла – используя и обучая таким agile практикам, как разработка через тестирование (test-driven development -TDD), я натыкался на одно и то же непонимание и удивление в совершенно разных проектах. Разработчики хотели знать, где начать, что тестировать и что не тестировать, как много тестировать за один проход, к чему обращаться в тестах и как понять, почему тест обвалился.
Чем больше я углублялся в TDD, тем сильнее я чувствовал,  что для меня это скорее не процесс постепенного наращивания мастерства, а серия тупиковых ситуаций. Часто у меня возникала мысль “Если бы мне только кто-нибудь сказал об этом!”, и гораздо реже: “Ура, дверь открылась”. Я решил, что можно представить TDD так, чтобы эта практика приводила к хорошим результатам, и удавалось избежать подводных камней.
Для решения возникающих проблем я создал практику, которая называется  «разработка, основанная на функционировании» (behaviour-driven development  – BDD). Эта практика эволюционировала из уже установившихся agile практик, и разработана, чтобы сделать их более доступными и эффективными для команд-новичков в agile разработке. Со временем BDD охватила такие области, как agile анализ и автоматизированное приемочное тестирование.



TDD-подход в разработке ПО заслуженно завоевал свое место под солнцем. В течение жизни он постепенно переосмыслялся, переходя из разряда методов для поиска багов в разряд методов для описания архитектуры приложения. Следующим шагом, органично дополняющим эволюционировавший TDD является BDD — Behavior Driven Development.

Суть BDD — в описании системы архитектуры приложения в терминах эксперта предметной области, а не программиста, что позволяет ускорить процесс получения обратной связи и убрать традиционные языковые барьеры между создателями ПО и его пользователями.

С помощью BDD тестировать систему (или, как сейчас принято говорить, описывать сценарии взаимодействия) может не только сам программист, пишущий код, но и PM, не разбирающийся в деталях реализации, но хорошо знающий систему с точки зрения пользователя. Для новичков BDD-скрипты — самый простой и натуральный пусть ознакомиться с документацией проекта.

В последнее время BDD применяется чаще в вебе, по большей части из-за того, что его модель сценариев органично вписывается в принцип «запрос-ответ».

Как это выглядит сейчас


Самыми популярнымы инструментами для работы в стиле BDD являются Cucumber для Ruby и SpecFlow для .NET. Оба они используют язык Gherkin.




@Сценарий использования, вариант использования, прецедент использования (англ. use case) — в разработке программного обеспечения и системном проектировании это описание поведения системы, когда она взаимодействует с кем-то (или чем-то) из внешней среды. Система может отвечать на внешние запросы Актёра (англ. actor) (может применяться термин Актант[1]), может сама выступать инициатором взаимодействия. Другими словами, сценарий использования описывает, «кто» и «что» может сделать с рассматриваемой системой, или что система может сделать с «кем» или «чем». Методика сценариев использования применяется для выявления требований к поведению системы, известных также как пользовательские и функциональные требования.@