Как две недели?!
Как это вам надо две недели на эту задачу? Что, правда? Вот на эту элементарную формочку с тремя полями и двумя кнопками? Две недели? Да вы надо мной издеваетесь, наверное! Давайте разбираться.
Что? Нужна ли валидация данных при вводе? Ну, конечно, нужна! И вообще, вот это поле лучше разбить на два, так понятнее. А вот в это добавить маску. А вот это — заменить на выпадающий список. Где брать варианты для этого списка? В базе на сервере, конечно. Как это их там нет? А, ну да, это же в другом проекте они у нас были… Ну, значит надо добавить. Взять там и добавить сюда. Сейчас я дам вам контакт разработчика того проекта — обсудите с ним. Он, правда, у нас уже не работает, но я думаю, вполне можно спросить что и как — он расскажет, скорее всего.
Мы всё обсудили? Нет? Что ещё?
Надо ли тут картинку на фон? Конечно, надо. Без картинки серо и уныло. Да, дизайнер наш сделает. В отпуске? Ну вы пока заглушку какую-то сделайте сами, а в понедельник он выйдет и сделает. Нет, не в этот что будет понедельник, в следующий.
Теперь всё уже? Снова нет? Что там еще? Ага, есть два варианта поведения — такой и такой. Блин, оба кажутся логичными! Значит, надо сделать настройку, чтобы пользователь мог выбрать так или так. Нет, ну не на этой форме же! Тут вот такую шестеренку нарисуйте — и по ней чтобы новый экран открывался, а на нём уже и выбор этих вариантов. И, коль уж у нас появилась форма настроек, давайте сразу добавим в неё еще вот это и вот это. Ну и реализуем, чтобы работало согласно этим настройкам. Я давно хотел, просто как-то не до этого было, а тут уж если всё-равно будете делать, так чего тянуть. Там всё однотипно, вы быстро справитесь.
Ну конечно с юнит-тестами. И с интеграционными, да. И локализицию тоже, несомненно. Да, должно работать и при вертикальной и при горизонтальной ориентации. И с предыдущей версией тоже должно быть совместимо. Да, асинхронно. И с логами. И документацию тоже надо поправить будет. Ну что за вопросы вообще? Не первый ведь день работаете.
Так, всё выяснили? Ну наконец-то! А теперь, когда уже вот всё вообще ясно, давайте еще раз трезво оценим ситуацию и снова прикинем, сколько нужно времени на реализацию?
Как две недели ?!
Мораль
Бессмысленно убеждать программиста, что оцененную им задачу можно сделать быстрее. Он может ошибаться в сторону занижения сроков, но в сторону завышения — почти никогда. Если можете помочь лишними рабочими руками, снижением требований, достойной оплатой овертаймов — сделайте это. Просто уговаривать его, что тут ничего сложного и это можно сделать быстро — значит обманывать его, себя и заказчика.
Автор: tangro