Redmine Estimates   – це плагін до трекера Redmine який спрощує життя і економить час менеджерів проектів і менеджерів керуючих технічною підтримкою.

З чого все починалося: як виникла ідея написати систему узгодження оцінки для Redmine

Ідея плагіна виникла коли на завданнях   технічної підтримкими постійно стикалися з тим що оцінку повинні давати кілька фахівців, наприклад: дизайнер, front-end розробник і back-end розробник і в процесі виконання завдання і надходження додаткових побажань від замовника виникає необхідність в дооцінку. А далі при узгодженні місячного звіту починають виникати питання, чому задача оцінена в 2 години по факту зайняла 10 годин, адже це стає видно тільки в кінці місяця.

Як зручно погоджувати оцінки в задачах і дооцінювати їх по ходу виконання так, щоб це було просто і зрозуміло як команді так і клієнту?

Перша ж ідея, яка прийшла в голову, це обмежити одну задачу техпідтримки одним видом діяльності і кожне нове побажання вести окремим завданням і все це пов'язувати через підзадачі. Але така реалізація в Redmine вкрай незручна, породжує складності і необхідність контролювати що у тебе відбувається в 10 завданнях замість однієї.

Ми бачили що модулі які дозволяють красиво вирішити задачу оцінки за видами робіт і дооцінки походу виконання є в інших задачниках і системах управління проектами, але нічого подібного для Redmine знайти не змогли.

В результаті все звелося до того що до разрботкой Redmine Estimates ми просто вели все в коментарях, приблизно так, і це було вкрай незручно:

Раніше ми вели оцінки в коментарях до завдань

Як ставили завдання по розробці Redmine плагіна для узгодження оцінки

Завдання ставили так:

  • Оцінка тепер як і витрачений час дробиться на різні види діяльності. Загальна поле "оцінка" вважається як сума оцінок за всіма видами діяльності.
  • На сторінці редагування оцінки список неузгоджених позицій оцінки - ось так

Прототип інтерфейсу системи узгодження оцінки в Redmine

  • Коли ми оновлюємо завдання або натискаємо "додати оцінку", відкривається форма редагування завдання, в неї додається графа узгодження оцінки.
  • Оцінки зберігаються в базі в окремій таблиці аналогічно time_entries (вбудована сутність "Витрачений час" в Redmine).  
  • При будь-якому оновленні оцінок поле "оцінка" завдання оновлюється як сума всіх оцінок прив'язаних до цього завдання. Як оновлювати - при збереженні, при відкритті або якось ще - питання для роздумів.
  • Кнопка "Погодити" в таблиці оцінок доступна тільки певним ролям (менеджер, клієнт). Ідеальна реалізація - зробити в rm окреме право доступу щоб можна було його виставляти в управлінні ролями.
  • Коли відбувається узгодження оцінки, має бути видно хто і коли погодив її.
  • Підтверджені записи видаляти і редагувати не може ніхто (крім адміністратора)!  
    Після підтвердження даємо 1 хвилину в перебігу якої можна знову натиснути і підтвердження пропаде, після 1 хвилини або якщо перезавантажив сторінку - все, скасувати підтвердження не можна.
  • Якщо є неузгоджена оцінка біля поля оцінка з'являється іконка warning і напис "є неузгоджена оцінка". Це поле повинно бути доступно для фільтра в списку завдань.
  • Редагувати і видаляти записи узгодження оцінки (не підтверджені) можуть:
    • той, хто її зробив
    • адміністратори
    • зробити в Redmine окреме право доступу щоб можна було його виставляти в управлінні ролями.

Реалізація, що Redmine Estimates вміє зараз

Завдання майже рік лежала на полиці очікуючи свого часу, але нарешті в липні 2016 роки ми доручили розробку нашому тоді R&D Developer'у Миколі Михно.

Микола Михно, розробник

Не буду довго описувати як це реалізовувалося, досвіду в розробці під Redmine у ​​нас було мало, у Миколи досвіду в Ruby не було взагалі, і ми, схоже, зібрали всі шишки, які було можна зібрати на цьому шляху. Але ми це зробили! Плагін назвали Redmine Estimates.

Зараз плагін вміє накопичувати оцінки з різних видів діяльності в рамках одного завдання. До кожної оцінці можна задати діяльність, оцінку в годиннику і прокоментувати:

Redmine Estimates - множинні оцінки одного завдання

Підтверджені оцінки за замовчуванням ховаються, але можна подивитися всі оцінки якщо натиснути "Показати підтверджені оцінки"

Redmine Estimates - показати підтверджені оцінки

Права на підтвердження оцінки, редагування записів оцінки виставляється окремим полем в розділі "Адміністрування".

Redmine Estimates - настройка прав доступу

Якщо у користувача не встановлено право на редагування оцінки, у нього є 1 хвилина для того щоб змінити оцінку, якщо він помилився.Якщо протягом цього часу він не відредагує оцінку більше можливості відредагувати оцінку у нього не буде.

У загальному списку завдань можна вивести поля "Всього годин оцінок" і "Всього було підтверджено оцінок" і використовувати їх як фільтри.

Redmine Estimates - сума оцінок і підтверджені оцінки в списку завдань

Плани на найближче майбутнє

В найближчому майбутньому плануємо доробити те, що не готове в поточному релізі:

  • Повідомлення про підтвердження оцінки та відповідний запис в Journal
  • Заборона на редагування підтверджених оцінок
  • Ознака "Є непідтверджені оцінки" і відповідна іконка warning
  • Вичистити код від згадок time_entries на базі яких ми робили плагін

Де завантажити плагін і як встановити?

Посилання на репозиторій GitHub:   https://github.com/nmikhno/redmine_estimates

Розробник плагіна: Микола Михно

Інструкція там же. Повністю Open Source, таким і залишиться.

Розроблено та тестувався для Redmine 2.1, бажаючим перенести на інші версії Redmine і взяти участь в розробці та доопрацюванні на вільних засадах – будемо раді.  

03.10.2016
Рейтинг: 0 / 5 (0)