{"id":34112,"date":"2019-10-31T21:56:27","date_gmt":"2019-10-31T18:56:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-my-pytalis-v-komandnuyu-rabotu-i-chto-iz-etogo-vyshlo\/"},"modified":"2019-10-31T21:56:27","modified_gmt":"2019-10-31T18:56:27","slug":"kak-my-pytalis-v-komandnuyu-rabotu-i-chto-iz-etogo-vyshlo","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/kak-my-pytalis-v-komandnuyu-rabotu-i-chto-iz-etogo-vyshlo","title":{"rendered":"How we attempted teamwork and what came of it","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"How we attempted teamwork and what came of it\" src=\"\/wp-content\/uploads\/6d0d599a14b8b81cc195e8e73f758ddb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Let's go in order<\/h3>\n<p>\nWhat this illustration means a little later, but for now, let me start with the introduction.<\/p>\n<p>On a cold February day, nothing foreshadowed trouble. A group of innocent students came for their first class in a subject they decided to call 'Methodology of Designing and Developing Information Systems'. It was an ordinary lecture; the teacher talked about agile development methods, such as Scrum, and there seemed to be no cause for concern. And then, towards the end, the teacher announced: <\/p>\n<blockquote><p>I want you to experience all the hardships of teamwork; split into groups, come up with a project, appoint a leader, and go through all stages of design together. At the end, I expect a finished product from you and an article on Habr.<\/p><\/blockquote>\n<p>And this is where our story begins. <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex> Like billiard balls, we bounced off each other until the energy of the strike dissipated and a group of 7 gathered together. Perhaps that's too many for a school project, but it helped to better distribute roles. Discussions began on project ideas, ranging from 'Let's take an existing project' to 'An emulator for creating cosmic objects'. But eventually, the idea came forth, the title of which you read in the first image. <\/p>\n<h2>Stop Procrastination \u2014 what it is, how it works, and how we developed it and what came of it<\/h2>\n<p>\nThe story will be told from the perspective of the project leader, who, happily or unfortunately, was appointed as me. So what idea came to our minds? Inspired by the popular alarm clock 'Shake Alarm' from SupperCommon, particularly the feature to completely block the smartphone's operation until the user performs a specific action likely to wake them up, we decided to create a similar application that helps to overcome smartphone addiction, using the same principle as 'Shake Alarm'.<\/p>\n<h3>Operating principle<\/h3>\n<blockquote><p>The user sets timers<br \/>\n- Time that can be spent on the smartphone<br \/>\n- Time without the smartphone (blocking period)<br \/>\nAfter the timer expires, an overlay appears on the screen that cannot be dismissed.<br \/>\n-To close the overlay, you need to complete a small challenge (enter a password on a scrambled keyboard, solve a math problem, shake the phone for a couple of minutes)<br \/>\nAfter unlocking this way, the time you can spend on the smartphone is reduced by half, down to just one minute\n<\/p><\/blockquote>\n<h3>Building a team<\/h3>\n<p>First, we needed to determine who would be responsible for what and in which language everything would be written. I think this has little to do with project management because when you assemble a team for a real project, you gather exactly those you need right away. In the end, I took on the role of designer as well, selected a team lead who had good experience in application development, assigned three programmers to him, and two more became testers. Of course, the programming language was chosen based on skill levels. Ultimately, it was decided to use Java since all the programmers were familiar with it.<\/p>\n<h3>Setting tasks<\/h3>\n<p>Following the instructor's recommendation, a task board was created on a free service <noindex><a rel=\"nofollow\" href=\"https:\/\/trello.com\/\">Trello<\/a><\/noindex>. It was planned to work using the Scrum system, where each stream would represent a completed application.<br \/>\nHowever, in reality, this turned into one long and continuous stream, where constant edits, additions, and corrections were made. <\/p>\n<p><img decoding=\"async\" alt=\"How we attempted teamwork and what came of it\" src=\"\/wp-content\/uploads\/3a1770a04d359cb80293c0d2eb3fdfe0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Writing specifications<\/h3>\n<p>Under the influence of Savin\u2019s book \u2018Testing.com\u2019, I had my own vision of how everything should be structured. It all started with writing specifications, as I believe that without a clear description of what we expect, how things should work, nothing will work as intended. Programmers will code based on their understanding, testers will test something different, the manager will expect a third outcome, yet it will end up as a fourth, as always.<br \/>\nWriting specifications is not easy; you need to think through all the details and nuances. Of course, nothing worked out right the first time. In the end, the specifications were supplemented and rewritten four times. The last version can be found at the end of the article in the links section. <\/p>\n<h3>Designing<\/h3>\n<p>Design in a mobile application is the most important aspect. However, not everyone understands this, including many from my team who ardently debated with me that design is unnecessary, that it's the least important part of the application, etc. Don\u2019t be so naive. First of all, a finished design simplifies the work for the programmer; they don\u2019t have to think about what to place where, they just take it and code according to what has been drawn. Along with the specifications, the design almost completely frees the programmer's mind from unnecessary details, allowing them to concentrate on logic. Initially, a prototype (terrible) design was drawn:<\/p>\n<p><img decoding=\"async\" alt=\"How we attempted teamwork and what came of it\" src=\"\/wp-content\/uploads\/39fc568e1126322c527c6ce0a2823754.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBut then the design was refined and brought to a proper appearance.<br \/>\n(Link to all design elements at the end of the article).<\/p>\n<p><img decoding=\"async\" alt=\"How we attempted teamwork and what came of it\" src=\"\/wp-content\/uploads\/fb18e63dff0787d4823673baa6cd171e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Programming<\/h3>\n<p>Programming is difficult, but doable. I will skip this point since I personally have not been involved. The programmers did a tremendous amount of work without which everything would have been pointless. Of course, we managed to implement some ideas. The program still needs further refinement. There are many bugs and features that need to be addressed. If we had more time, we would have emerged from deep alpha, but for now, you can test the application at the end of the article.<\/p>\n<h3>And about testing<\/h3>\n<p>What is the most important thing in programming? In my opinion, the main thing is that everything works and looks as needed. However, it doesn\u2019t always turn out that way immediately. For this, testing is required. I suggested a testing model to my testers using test cases. First, test cases are written in full accordance with the specifications, and then testing is conducted based on them. You can see the results below in the links. <\/p>\n<p>Thank you for reading. I hope you found something useful here, maybe an idea for your startup, or perhaps good advice or tools.<\/p>\n<h3>Links:<\/h3>\n<p>Latest <noindex><a rel=\"nofollow\" href=\"https:\/\/drive.google.com\/file\/d\/1dbsO5kltgJ9Wg6IzLVV7rWkF1aDBUihr\/view?usp=sharing\">the specification<\/a><\/noindex>. <br \/>\nDesign on <noindex><a rel=\"nofollow\" href=\"https:\/\/www.figma.com\/file\/kwCUqyU6FlcfvqPEfaHYkB\/StopProcrastination?node-id=18804%3A29379\">Figma<\/a><\/noindex>. <br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/drive.google.com\/file\/d\/1KqgTFjOOVMxFbQoLnZkl3P-Z8f6Pi34T\/view?usp=sharing\">Test cases<\/a><\/noindex> and <noindex><a rel=\"nofollow\" href=\"https:\/\/drive.google.com\/file\/d\/1PAevKo95_Fjr5MxiEGo-RyPr5iZDUUQI\/view?usp=sharing\">bug reports<\/a><\/noindex>.<\/p>\n<p>The application itself on <noindex><a rel=\"nofollow\" href=\"https:\/\/rink.hockeyapp.net\/apps\/3c087a5b7430461ebbac3e5eccf1ad74\">HokeyApp<\/a><\/noindex>. \u2014 The application was built under the name HandsOff, don\u2019t even ask why (because Stop Procrastination is too long).<\/p>\n<h3>And finally<\/h3>\n<p>Do you think all this made sense?<\/p>\n<p class=\"for_users_only_msg\">Only registered users can participate in the survey. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Please log in<\/a><\/noindex>, please.<\/p>\n<h2 class=\"default-block__polling-title\">Is such practice needed in educational institutions, and how useful and applicable is it in real life?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    It is needed; it provides invaluable experience.<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    It is needed, though there is little experience.<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    It is almost useless, at most you will understand the general traits of teamwork.<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    A waste of time and effort.<\/p>\n<\/li>\n<\/ul>\n<p>    2 users have voted. There are no abstentions.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/452712\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u0427\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0440\u0438\u0441\u0443\u043d\u043e\u043a \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435, \u0430 \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u0437\u0432\u043e\u043b\u044c\u0442\u0435 \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f. \u0412 \u0445\u043e\u043b\u043e\u0434\u043d\u044b\u0439 \u0444\u0435\u0432\u0440\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u0434\u0435\u043d\u044c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u0435\u0434\u0432\u0435\u0449\u0430\u043b\u043e \u0431\u0435\u0434\u044b. \u0413\u0440\u0443\u043f\u043f\u0430 \u043d\u0438 \u0432 \u0447\u0451\u043c \u043d\u0435 \u043f\u043e\u0432\u0438\u043d\u043d\u044b\u0445 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u0438\u0448\u043b\u0430 \u0432 \u043f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437 \u043d\u0430 \u043f\u0430\u0440\u0443 \u043f\u043e \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0448\u0438\u043b\u0438 \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u00ab\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0432\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u00bb. \u0411\u044b\u043b\u0430 \u043e\u0431\u044b\u0447\u043d\u0430\u044f \u043b\u0435\u043a\u0446\u0438\u044f, \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u044c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u043f\u0440\u043e \u0433\u0438\u0431\u043a\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-34112","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u0427\u0442\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/kak-my-pytalis-v-komandnuyu-rabotu-i-chto-iz-etogo-vyshlo\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043c\u044b \u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0447\u0442\u043e \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0448\u043b\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u0427\u0442\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/kak-my-pytalis-v-komandnuyu-rabotu-i-chto-iz-etogo-vyshlo\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:56:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:56:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47How We Attempted Team Collaboration and What Happened | ProHoster","description":"Let's Start Step by Step.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/kak-my-pytalis-v-komandnuyu-rabotu-i-chto-iz-etogo-vyshlo","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043c\u044b \u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0447\u0442\u043e \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0448\u043b\u043e | ProHoster","og:description":"\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u0427\u0442\u043e.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/kak-my-pytalis-v-komandnuyu-rabotu-i-chto-iz-etogo-vyshlo","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:56:27+00:00","article:modified_time":"2019-10-31T18:56:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34112","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 17:58:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:28:34","updated":"2026-01-21 17:58:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/34112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=34112"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/34112\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=34112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=34112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=34112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}