Не наступайте на наші граблі з ТЗ: епічний досвід конкурсів і пара байок


Широко відомий приклад неточно поставленого ТЗ

Одного разу мені дістався проект, розрахований на півтора року з дуууже важким замовником. Статус: минуло півроку, але все ще йдуть узгодження технічного завдання. Підписалися на одне, але замовник наполегливо продовжував висувати нові вимоги. Завдання ставилося навіть не закінчити вчасно або заробити, а вийти гідно, з мінімальними для всіх втратами.

Було складно — не те слово. У довгому перельоті я читав ТЗ на 20 сторінок. В ньому була така особливість: якщо читати швидко, то може здатися, що воно написано правильно і точно. Але якщо почати копати в деталі інженерної реалізації, то виринало відразу багато нежданчиков. Деякі вимоги підпунктів, начебто 3.2.5 і 4.8.2.9, могли суперечити один одному або бути просто взаємно нездійсненними в реальному світі.

загалом, ми з колегами зібрали добірку епічних випадків з ТЗ, яка, можливо, допоможе комусь не повторити наших помилок. Ну, або повеселить.
Читати далі →

Страх і ненависть і пагинация

А в чому проблема?
Типова пагинация
Як би нам не хотілося цього заперечувати, практика показує, що переважна більшість свого часу типовий iOS-розробник проводить за роботою з табличками. Проектування сервісного шару — це інтригуюче, розробка універсального роутінга у додатку — захоплююче, а від налаштування гнучких політик кешування взагалі дах зносить, але робота з табличними інтерфейсами — це наші сірі будні. Іноді промінь світла все ж потрапляє і в цю область, і замість чергової метушні з constraint'ами перед нами може постати завдання реалізації посторінкового завантаження — або, як це модно називати в мобільних додатках, infinite scroll'а.

Читати далі →

Microsoft Edge і RTC: історія болю

imageХмарна телефонія VoxImplant може приймати дзвінки та телефонувати на різні джерела. Стільникові телефони, SIP, мобільні додатки, веб сторінки. Можна подзвонити з мобільного на веб сторінку, виглядає заворожуюче. Якщо з стільниковими все зрозуміло, то можливість поговорити з браузером вимагає чого-небудь крім HTML і JavaScript. Раніше таким «що-небудь» був Flash. І ми досі не можемо його використовувати в якості fallback-варіанту. Але останні кілька років популярні браузери дзвонять зовсім не через Flash, а через HTML5 технологію «WebRTC». Яка до недавнього часу була представлена у Chrome і Firefox. Але все тече, все змінюється, і в бета-версії Microsoft Edge з'явилася підтримка WebRTC. Майже. Microsoft традиційно пішла своїм шляхом і зробила «альтернативну» реалізацію, яка називається «ORTC». Чим вони відрізняються і що довелося пережити нашим розробникам — читайте під катом.


Читати далі →

Big data, білайн і кококо

Пару днів тому, випадково зайшовши на Хабр без адблока, я побачив банер: «Білайн, будь мужиком — вирішуй шайтан-завдання». Челендж звучав цікаво, визначити вік по набору параметрів, таких як регіон, тарифний план і т. д.



Читати далі →

Сумна історія вкраденого Скайпу, або гірша підтримка в світі

Привіт!

Моя історія — застереження всім, хто користується Скайпом. Не робіть моїх помилок. Поміняйте пароль, поки не пізно.

TL; DR: Якщо у вас поженуть пароль від Скайпа, ви вже ніяк не повернете аккаунт. Микрософту плювати на Скайп, а Скайпу плювати на вас.




Читати далі →

Спірні, але актуальні принципи розробки

У нашій компанії в процесі розробки прийнято дотримуватися кількох простих принципів. Можливо, комусь вони здадуться спірними, комусь наївними, але, так само як і календар, про який писав в минулому році наш IT-директор (aka paulig), ці принципи — результат власного досвіду і помилок. Крім того, ми віримо, що дотримання їх дає можливість вирішувати завдання швидше й ефективніше.

Навіщо це було написано, якщо є безліч книжок з методологіями розробки (в тому числі extreme programming, scrum, tdd), по програмуванню в цілому і, зокрема, про те, «як пасти котів» і про «ідеальний код»? Книжок багато, але розробники, до нещастя, їх читати не люблять. Ну, гаразд, люблять, але не всі. У них, мовляв, своя специфіка. Квінтесенція потрібна. І простіше, ближче, зрозуміліше. Ось тому. І в житті найчастіше доводиться згадувати, вірніше, не забувати, саме ті, які перераховані нижче.

Подивившись на історію сторінки в нашому корпоративному twiki, я звернув увагу, що невеликий список з поясненнями, на основі якого зроблена ця публікація, почав своє існування в 2006 році і неспішно доповнювався до 2011 року. Потім чомусь замовчується. Може бути, у когось з читачів з'явиться бажання щось додати?

Читати далі →

Спроба реінкарнації і вкидання в Open-Source Яндекс.Підписок

Привіт, хабрасообщество! Багато хто помітив, що Яндекс закрив сервіс підписок. Читаючи коментарі, у мене виникла ідея створити аналог. Підняти його на API від Яндекса, після чого перевести його, так би мовити, на автономне харчування, замінивши API на своє (не переживайте, я не зроблю це так непомітно, як зробив це Великий Жовтий).
Був створений репозиторій на гітхабі, зареєстрований тимчасовий домен в зоні .tk (чому тимчасовий, я думаю, пояснювати не варто :). Кому цікавий цей проект, ласкаво прошу під кат.

Читати далі →

Про роботу дівчата-тестувальника ігрового проекту

Привіт, Хабр!

Мене звати Олександра, я працюю тестувальником ігрового проекту VirCities, про який розповів в загальних рисах мій колега раніше у цій публікації. У свою ж чергу, я хотіла б поділитися своєю історією про те, як же живеться дівчині в «чоловічому царстві» GameDev і через що довелося пройти в ході розробки нашого проекту.


Вкрай необхідний та корисний у роботі девайс.

Читати далі →

#yotamobile або як з лояльного користувача стати хейтером

Коли мої проблеми з оператором Yota тривали вже не перший місяць, і я встиг дістати всіх в твіттері — мені показали пост Подвійний MNP (МегаФон — Yota — МегаФон), і я зрозумів, що далеко не унікальний.

З чого ж все почалося? Почувши про появу мобільного оператора з «плоскими» тарифами я одразу ж зацікавився — адже це те, чого ми так довго чекали і про що говорили більшовики. Я трохи сумнівався, але прочитавши враження друзів, все-таки вирішив попрощатися з Мегафоном і стати одним з перших користувачів нового модного оператора.

25 серпня з другої спроби я отримав SIM-карту і оформив заяву на MNP. Дату перенесення призначили на 3 вересня. Все пройшло коректно, я б навіть не истерил з приводу відсутності вхідного зв'язку, якщо б уважно прочитав отримані СМС.

Надихнувшись чуйністю саппорта в питаннях вхідних дзвінків з Tele2, я згадав про наболіле: ще в далекому 2008 році, будучи власником Sony Ericsson W800i, я дивувався, чому повертаючись із закордонної поїздки, телефон не хотів міняти назад часовий пояс. Тоді, після недовгого рисерча виявилося, що російські оператори дуже далекі від технологій мобільного зв'язку і просто не знають (або не хочуть використовувати) механізм NITZ який є необов'язковою частиною стандарту GSM аж з 1996 року і тому пропонують змінювати часовий пояс вручну. В далекому 2010 році я вже безуспішно піднімав це питання, будучи клієнтом Мегафона, Yota пішла далеко не — думаю, зрозуміло чому.

18 вересня спливла ще одна проблема — я не міг додзвонитися по міському номеру до улюбленого Zoom Cafe. Як з'ясувалося трохи пізніше, заявку тоді скласти забули — довелося писати повторно і вимагати номер тікета. Звички присвоювати номер будь-яким зверненням і, головне, добровільно повідомляти користувачу у саппорта немає. Тут також не працює стандартна схема: напиши на імейл — отримай номер тікета в автоматичному реплае. Чи була вирішена проблема через 4 місяці? Немає.

В цілому, за винятком вищезазначених косяків, все було непогано — швидкий інтернет, стабільна зв'язок (спасибі, Мегафон). Потім я поїхав у відпустку, поміняв сім-карту у телефоні на Vodafone і трохи видихнув. По поверненню мене чекав чудовий сюрприз: після дзвінка батькам мережа відвалилася і не захотіла повертатися назад, допоміг тільки перехід в авіарежім. «Буває» — подумав я, покриття в аеропорту Пулково ніколи не було ідеальним. Але через десять хвилин, вже перебуваючи за його межами, ситуація повторилася на порожньому місці — не було навіть дзвінків, просто поїхав у сусідню соту.


Читати далі →

Подвійний MNP (МегаФон - Yota - МегаФон)

Вже майже рік виявляються послуги перенесення номера від одного оператора до іншого (MNP). Але досі ця послуга не працює коректно для деяких абонентів. Я використовував можливості зміни оператора за останні місяці два рази. Останній раз самий просто фантастичний — без вхідного зв'язку я вже більше двох діб. Подумайте сто разів перед тим як міняти оператора, чому — я розповім. Пробачте, картинок не буде — тільки текст і факти.


Читати далі →