Давайце па парадку
Што азначае гэты малюнак крыху пазней, а цяпер дазвольце пачаць з увядзення.
У халодны лютаўскі дзень нічога не прадвяшчала бяды. Група ні ў чым не вінаватых студэнтаў прыйшла ўпершыню на пару па прадмеце, які вырашылі назваць "Метадалогія арганізацыі праектавання і распрацоўкі інфармацыйных сістэм". Была звычайная лекцыя, выкладчык расказваў пра гнуткія метады распрацоўкі, такія як скрам, нічога не прадвяшчала бяды. І вось пад канец выкладчык аб'яўляе:
Я хачу каб вы на сабе насыталі ўсе нягоды каманднай працы, падзеліцеся на групы, прыдумайце праект, прызначце кіраўніка і прайдзіце разам усе этапы праектавання. У канцы я чакаю ад вас гатовы прадукт і артыкул на хабры.
Адсюль і пачынаецца наша гісторыя.
Stop Procrastination - што гэта такое, з чым яго ядуць і як мы яго распрацоўвалі і што з гэтага выйшла
Аповяд будзе весціся ад асобы кіраўніка праекту, якім на шчасце ці нажаль прызначылі мяне. Дык якая ж ідэя прыйшла нам у галаву? Натхніўшыся папулярным будзільнікам «Трасы Будзільнік» ад SupperCommon, а менавіта функцыяй цалкам блакаваць працу смартфона датуль, пакуль карыстач не здзейсніць вызначанае дзеянне, якое, верагодней за ўсё прымусіць яго прачнуцца, намі было вырашана стварыць падобнае прыкладанне, якое дапаможа пазбавіцца ад тэлефоннай залежнасці, па такім жа прынцыпе, што і «Трасы Будзільнік»
Прынцып працы
Карыстальнік устанаўлівае таймеры
-Час які можна праводзіць за смартфонам
-Час без смартфона (перыяд блакавання)
Па заканчэнні таймера на экране з'яўляецца оверлей, які нельга згарнуць
-Каб зачыніць оверлей трэба прайсці невялікае выпрабаванне (увесці пароль на заблытанай клавіятуры, вырашыць матэматычную задачку, патрэсці тэлефон пару хвілін)
Пасля разблакіроўкі такім спосабам час, які можна правесці за смартфонам памяншаецца ў два разы, і так аж да адной хвіліны
Які будуецца каманду
Для пачатку трэба было вызначыць, хто чым будзе займацца і на якой мове ўсё гэта будзе пісацца. Я думаю менавіта да кіравання праектамі гэта мае мала дачынення, бо калі збіраеш каманду для рэальнага праекту ты збіраеш адразу тых, хто табе патрэбен. У выніку явяв яшчэ і на сябе ношку дызайнера, абраў аднаго тимлтда, які меў добры досвед у распрацоўцы прыкладанняў, яму ў падпарадкаванне было прызначанае тры праграміста, і яшчэ двое сталі тэстыравальнікамі. Вядома мова праграмавання выбіраўся па ўменнях. У выніку было вырашана выкарыстоўваць Java, бо з ім былі знаёмыя ўсе праграмісты.
Ставім задачы
Па рэкамендацыі выкладчыка была створана дошка задач на бясплатным сэрвісе.
Аднак на справе з усяго гэтага выйшаў адзін вялікі і доўгі стрым, у які ўвесь час уносіліся праўкі, дадаткі і выпраўленні.
Пішам спякі
Пад уплывам кнігі Савіна "Тэставанне.com", я меў у галаве сваё ўяўленне пра тое, як усё павінна быць накіравана. Усё пачалося з напісання спецыфікацый, як я лічу без дакладнага апісання, чаго мы чакаем, што і як павінна працаваць, нічога працаваць не будзе. Праграмісты запраграмуюць усё як бачаць яны, тэсціроўшчыкі пратэстуюць іншае, кіраўнік чакаў трэцяе, а атрымаецца як заўсёды чацвёртае.
Пісаць спецыфікацыі не лёгка, трэба прадумаць усе дэталі, усе нюансы. Вядома ж са сьпевака нічога не атрымалася. У выніку спецыфікацыі дапаўняліся, перарабляліся 4 разы. Апошні варыянт вы можаце знайсці ў канцы артыкула, у раздзеле спасылкі.
Малюем дызайн
Дызайн у мабільным дадатку самае галоўнае. Аднак, не ўсе гэта разумеюць, у тым ліку і з маёй каманды многія заўзята спрачаліся са мной, што дызайн не патрэбен, што гэта самая не важная частка дадатку і г.д. Няварта быць такім наіўным. Па-першае, гатовы дызайн – гэта палягчэнне працы праграміта, яму не трэба думаць, што дзе і куды запхнуць, ён проста бярэ і вярстае, тое, што намалявана. Разам са спецыфікацыямі дызайн амаль поўнасцю вызваляе розум праграміста ад непатрэбных рэчаў, і дае яму магчымасць сканцэнтравацца на логіцы. Увогуле спачатку быў намаляваны прататыпны (жудасны) дызайн:
Але потым дызайн быў прычэсаны і прыведзены да нармальнага ўвазе.
(Спасылка на ўсе элементы дызайну ў канцы артыкула).
Праграмуем
Праграмаваць складана, але можна. Я апушчу гэты момант, бо сам асабіста гэтым не займаўся. Праграмістамі была праведзеная велізарная праца, без якой усё было б бессэнсоўна. Вядома ўдалося рэалізаваць частку задумак. І праграме яшчэ патрэбна дапрацоўка. Шмат багаў і фіч, якія трэба прыбраць. Будзь у нас больш часу мы б вылезлі з глыбокай альфы, а пакуль вы можаце пратэставаць дадатак у канцы артыкула.
Ну і аб тэсціраванні
Што галоўнае ў праграмаванні? На маю думку галоўнае - каб усё працавала і выглядала так, як трэба. Як трэба выходзіць не заўсёды і не адразу. Для гэтага патрэбнае тэстраванне. Сваім тэсціроўшчыкам, я прапанаваў мадэль тэсціравання з выкарыстаннем тэст-кейсаў. Спачатку пішуцца тэст-кейсы ў поўнай адпаведнасці са спецыфікацыямі, а затым па іх праводзіцца тэсціраванне. Што з гэтага атрымалася можаце паглядзець ніжэй у спасылках.
Дзякуй, што прачыталі. Спадзяюся вы знайшлі тут хоць нешта карыснае, можа ідэю для свайго стартапа, а можа добры савет або інструмент.
спасылкі:
Апошнія
Дызайн на
Само дадатак на
Ну і ў канцы
Як вы думаеце, ці мела ўсё гэта сэнс?
Толькі зарэгістраваныя карыстачы могуць удзельнічаць у апытанні.
Ці патрэбна такая практыка ў навучальных установах і наколькі яна карысная і дастасавальная ў рэальным жыцці
-
Патрэбна, бясцэнны досвед
-
Патрэбна, хоць і вопыту няшмат
-
Амаль бескарысная, максімум зразумееш агульныя рысы працы ў камандзе
-
Пустая трата часу і сіл
Прагаласавалі 2 карыстальніка. Устрыманых няма.
Крыніца: habr.com