суббота, 23 июня 2012 г.

Первое демо

Хоть мы и планировали первое демо через неделю, но недели оказалось мало, потому ребята поработали еще неделю и показали очень хороший результат.



По правилу вчерашней погоды, решили, что следующая итерация будет так же размером в две недели.

Т.к. у нас все работают в парах, и мы обещали помиксоваться, то в этот раз так и сделаем. В прошлой итерации каждая пара работала над своим модулем и договаривались об интерфесах между ними.

Теперь каждая пара работает над своей фичей. Но новые фичи не берем, пока не причешем свой код - на этой встрече было высказано некоторое число замечаний по коду и этот технический долг желательно устранить немедля.

Какие фичи "господин" хотел бы увидеть на этот раз?
- Количество органов увеличить: сердце, желудок, легкие - ворпросы влияют на эти органы, и по ним так же выдаются советы
- Консультант будет выдавать корректные советы в зависимости от того, какой орган больше всего страдает.
- Я могу работать с прилождением через web (можно захостить его на google apps)потому что не хочу набирать текст - номер варианты ответа, а хочу кликнуть на страничке в браузере.
- Все ответы хранятся в базе данных, а не захордкоджены в коде. (ребята очень хотели :) )
- История жизни покемона, логгируется и сохранятеся текущее состояние - то есть я могу приходить к программе еще раз и еще раз, и если я веду нездорвый образ жизни, то моему покемону будет все хуже и хуже...

Мы решили, что заведем бэклог и на следующий раз попробуем пленнинг поккер. А посему книжечка "Скрам: заметки с передовой" must read за время этой итерации.

среда, 20 июня 2012 г.

Отзывы наших выпускников

Мне java тренинг понравился. Понравилось то, что была "куча" полезного материала - можно, конечно, этот материал и самому найти, но тут уже найден, разложен по полочкам, а ты сиди и учись просто, а если что-то непонятно всегда моожешь спросить у преподавателей или у кураторов. Понравилось их желание научить, возможно не все получилось что запланировали, но видно было желание научить - это очень хорошо.

Одним из самых запоминающихся событий тренинга был сбор на coding dojo. В ходе которого, мы поделились на команды из 2 человек и соревновались между собой. Дух соперничества очень ускоряет мысли в голове, все идеи как-то структуризируются и ты примерно знаешь как делать задание. И надо его быстро делать :) Вначале мы даже вышли вперед по очкам, но в итоге нас ребята обогнали. Зато остались не последние:) Было интересно и полезно. Спасибо GlobalLogic за это.
Тимур 

Итак, отзыв. В общем и целом курсы очень хороши, причины следующие:

1) Если треннинг по Java, то он действительно по этому языку. Я участвовал в Java-тренинге, где прожили на С, С++ и Пайтоне, при чем не используя здравый смысл в выборе заданий.

2) Есть программа, есть четкая структура и отобраные материалы. В целом подход "вот задание, а вот тут лежит инфа" для меня самый действенный. Также толковый ментор, и митинги с обсуждением каких-то не книжных аспектов это очень хорошо. Чем глубже, тем меньше или менее толково пишут в книгах/гугле.

В целом наличие программы позволило самообучаться в моем темпе, не ожидая всю группу, а также упорядочить уже имеющиеся знания. Также я увидел где в них пробелы и устранил:)

Касательно ментора, очень хорошо, что на митингах устраняются возникшие вопросы, а не производится троллинг учасников.

Очень понравилось кодинг доджо, соревнование это всегда хорошо, а если против своих же преподавателей-то вдвойне. Хочу еще :)
Василий 

Тренинг по Java Core в КПИ мне очень понравился. С самого начала приятно удивила нормальная организация процесса - в начале тренинга каждый учасник получил свой аккаунт для доступа к репозиторию, email.

Второй и одной из самый прятных неожиданностей стала сама организация материала. Полезные ссылки, статьи, список книжек с указанием глав и СТРАНИЦ, которые можно почитать - я, тогда уже студентка 5-го курса, с таким столкнулась впервые. ))) Вообщем, все на блюдечке. Осталось только написать код и ждать код ревью от менторов или своих напарников. Плюс все непонятные моменты можно уточнить на встречах вживую или в скайп-группе.

В итоге, я осталась очень довольна, что не поленилась вовремя записаться. Плюс для меня этот тренинг стал старт-площадкой для JEE тренинга уже в GLOBALLOGIC.

Тренинг в Глобале ориентиован на изучение enterprise-технологий, а хорошую опорную базу для него может дать именно тренинг по кору в КПИ. На нем я поняла много важных моментов о паттернах проектирования, рефакторинге кода, TDD, которые помогли мне делать новые таски намного быстрее.

Вообщем, спасибо всем, кто приложил руку к тому, что на ФПМ теперь появились такие полезные курсы. ))) 
Антонина

четверг, 7 июня 2012 г.

Самая энергососущая часть - планирование

С момента написания прошлого поста прошло две встречи. На позапрошлой встрече мы брейнстормили идеи, а на прошлой ребята собрались для того, чтобы окончательно выбрать идею, которую будут реализовывать в контексте java тренинга. Там же ребята разбились на пары. Мы договорились, что пары будут миксоваться каждую недельную итерацию - как фичами так и напарниками. Итак, выбор сделан, а на сегодня пары принесли свои наработки в направлении идеи. Кто что сделал. Кто как. Но было очень интересно наблюдать за демками ребят. Судя по всему не только мне :) 



Был и браузер, который подсчитывает, сколько времени человек просидел за тем или иным сайтом (причем можно указывать какие сайты вредные, а какие полезные). Было несколько консольных коучей, которые спрашивали: что ел, смотрел в браузере или чем занимался юзер, с последующей выдачей рекомендацией этому несчастному юзеру. Был и персональный консольный календарик-пинарик. Были попытки эмулировать био-процессы в организме человека, к слову сказать проект этот мы окрестили "проект тамагочи" и взяли за основу в результирующем проекте. Но чтобы получить его..


Холиварили мы много. И так давайте. И так. В какой-то момент мы решили, что кто-то один должен взять на себя бразды правления (продактовнерство) и окончательно озвучил, что он хочет видеть в первой итерации, которой мы выбрали 1 неделю. Я как пользователь хочу ответить на ряд несложных вопросов (что ел, что пил, занимался ли спортом, как отдыхал, чем нагружал мозг сегодня) и получить в результате текущие характеристики моего покемона (покемон - тут, это мой организм): какие органы в каком состоянии (взяли печень и мозг, для начала) и рекомендации электронного специалиста по улучшению состояния здоровья, который проанализирует текущее состояние покемона и мои ответы. Пока никакая информация не запоминается - утром покемон родился, а вечером умер.

Дальше мы будем развивать эту программулю-игрулю в таком русле. У юзера будет возможность скачивать себе всевозможные плагины. Например, плагин timemanagement, который будет, допустим, учить тебя бережно относиться ко времени. Плагин достижения целей, в котором ты сможешь расставить свои цели и добиваться их. Будет плагин здоровой жизни, который мы начнем в первом релизе. И так далее... Каждый из этих плагинов будет конфигурироваться персональными настройками игрока, либо выкачан из сети – например, конфиг: научиться кататься на роликах за 2 месяца. Изюминкой, вокруг которой все будет крутиться - это покемон, который является живым организомом, который растет и развивается, перенимая привычки пользователя, его образ жизни, за которым можно наблюдать. Например, у него может быть сутра плохое настроение или отсутствие желания работать - он то знает, что всю неделю до этого пользователь спал всего по 3 часа в сутки и ел фастфуд... А еще ценность в консультанте, который говорит, как исправить ситуацию - персональный коуч чтоли... Естественно, это все с интеграцией в соцсети и все такое :)

Кроме функциональных требований были так же и нефункциональные. У ребят страдал java code convections, а так как мы стартуем проект не на одну неделю, то code quality должно стоять во главе угла. Так же это все дело надо будет покрыть интеграционными тестами - так мы еще с junit познакомимся. Еще все наработки ребят надо слить воедино в один репозиторий. Для этого мы декомпозировали задачу на объекты, и каждая пара получила себе по объекту. Как объекты будут коммуницировать между собой, ребята решат уже во время разработки.

Очень много fun вызвал этап, на котором мы работали с метафорами - каждому объекту мы придумывали яркий образ, чтобы ребята точно знали, какой объект какой ответственностью обладает. Среди персонажей были такие. Бабушка библиотекарь, которая уже плохо воспринимает все новое, но зато всю жизнь прокачивалась в читальном зале выдавая книги - к ней можно обратиться за информацией, но что либо попросить ее нереально - забудет. Бабушка будет отвечать за подборку вопросов юзеру и рекомендации консультанта - она их хранилище.



Следующий персонаж - собственно тамагочи, который будет жить и поддаваться всякими внешними обстоятельствами. У него есть органы, настроение и все такое.


Каждый раз когда юзер заходит в программу и говорит, что сделал сегодня, то эту всю информацию агрегирует злой коллектор, который потом навешает люлей бедному тамагочи, так что ему станет несладко (ну если конечно есть что попало и пить что попало). Куда и сколько коллектор решит на основе вредности, которую приносит тот или иной ответ. Информация о вредности у бабушки библиотекаря.

Есть еще консультант. Который в самом конце придёт в пиджачке с галстучком акуратненько посмотрит на бедного покемона и посмотрит, как юзер отвечал на вопросы и возьмет у бабушки библиотекаря ряд рекомендаций на такой случай и выдаст их. Их юзер и получит. 
Возле каждого объекта (или пакета) должен быть такой яркий образ, чтобы потом не было вопроса "а куда мне этот метод засунуть?" или "кто кого должен вызывать?" или "куда поместить новый класс/ответственность?". Посмеялись и ладно.

Каждой паре досталось по объекту (или пакету) но остались три пары, которых не чем было занять. Решили выделить в команде еще три роли. Кодревьюверы - нытики-занудики, которые будут троллить код своих коллег. Тимлидеры - двое ребят, которые отвечают за интеграцию кода и команды и то, чтобы демо прошло успешно. Рндишники - ребята, который в этой итерации работают над RnD того, что пригодится в будущей итерации. Все пары после превой итерации будут миксоваться.

Итерация размером в неделю. Ребята собираются, как хотят, но один раз все же должны на пару часов собраться вместе в одной комнате и поработать немного collocated

Приемка на демо - интеграционные тесты симулирующие общение юзера с такой системой, ну и может легкая консольная обертка.

Ну, вот как бы и все...