{"id":14,"date":"2022-01-14T03:16:44","date_gmt":"2022-01-14T03:16:44","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/born2code\/?p=14"},"modified":"2022-01-14T03:16:44","modified_gmt":"2022-01-14T03:16:44","slug":"collaborating-on-a-mobile-app","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/born2code\/2022\/01\/14\/collaborating-on-a-mobile-app\/","title":{"rendered":"Collaborating on a Mobile App"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Making the Most of the Capstone Project<\/h2>\n\n\n\n<p>Do any students actually look forward to group projects? I&#8217;m not so sure. I&#8217;m not one of them. Trusting your grade in the hands of another student &#8211; especially one you don&#8217;t know &#8211; is not a terribly exciting prospect. However, the reality of a professional career in software development means working and collaborating on a team. And the Capstone Project requires a <\/p>\n\n\n\n<p>My experience working in teams as an Oregon State student have been mixed, though often positive. There has been the project or two where I had to carry things across the finish line, and there are some where I was admittedly paired with students who were punching above my coding &#8220;weight&#8221;. So, what can I do to ensure things go smoothly for the Capstone Project?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preparing for Success<\/h2>\n\n\n\n<p>According to <a href=\"https:\/\/perfectial.com\/blog\/build-effective-software-development-team\/\">an article by Perfectial<\/a>, a software development company that has served companies like Tripadvisor and Roku, a successful software development team begins with the creation of your team. The first step in creating your team is understanding who and your teammates are. They list three main types: Generalists, Specialists, and Hybrids.<\/p>\n\n\n\n<p>Given that we have chosen to build our projects as an iOS mobile app using Swift, I believe our team fits the Hybrid definition. A Hybrid team is a mix of specialists &#8211; those who have a deep understanding in particular fields &#8211; and generalists &#8211; those who have a basic knowledge of everything in broad terms.<\/p>\n\n\n\n<p>This past fall, I took the Codepath iOS Program via Oregon State. I built several apps using Swift, including <a href=\"https:\/\/github.com\/borng-osu\/Parstagram\">an Instagram-like app<\/a>. Many of the concepts we used to build these apps will be directly applicable to this Capstone Project. Thus, I would say I am quite experienced, relatively speaking, in Swift and the tools needed to build our project. I&#8217;m a specialist due to my Swift knowledge.<\/p>\n\n\n\n<p>On the other hand, my two teammates only have experience with Flutter and Kotlin when it comes to mobile app languages. While there are quite a few concepts they carry over to Swift, they will essentially be learning Swift from scratch. In that case, they&#8217;re beginners in Swift. But, they also have greater general knowledge of building mobile apps, and one teammate has experience in a professional software development environment, something I lack. Given this, I believe they would classify as Generalists.<\/p>\n\n\n\n<p>As a Hybrid team, this means that the specialists are focused on implementing specific functionality while the generalists are leading communication and more interpersonal matters. While I do feel my team has agreed to everyone writing their fair share of the code for the project, I no doubt understand that my Swift expertise will mean I will lead the efforts in implementing certain functionality, such as the database, layout, etc. Knowing this, I do think we can move forward toward success.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Staying agile with Scrum<\/h2>\n\n\n\n<p>As the leading development framework, my group has agreed to generally follow Scrum in developing our iOS app. Scrum involves breaking the project down into smaller &#8220;chunks&#8221; that are completed within time periods called Sprints. <a href=\"https:\/\/www.atlassian.com\/agile\/scrum\/sprints\">This overview <\/a>does a great job of outlining what this entails:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Sprint planning<\/li><li>Daily scrums<\/li><li>Sprint review<\/li><li>Sprint retrospective<\/li><\/ul>\n\n\n\n<p>If you would like to understand Sprints and Scrum in greater detail, please check out the link above. I won&#8217;t go into outlining it here. Instead, I&#8217;d like to focus on how I hope to successfully implement Scrum for my team.<\/p>\n\n\n\n<p>I think the key to success with Scrum will rely on clear communication. A big part of that relies on the Sprint planning stage. Understanding what needs to get done, how it will get done, who will do it, what pieces will make up the output of the Sprint, and what the goal and end-product of the Sprint look like. If we can clearly communicate these ideas and agree to them, I think we&#8217;ll be in good shape.<\/p>\n\n\n\n<p>Over the course of the Sprint, it&#8217;s important for the lines of communications to remain open. For my team&#8217;s guidelines, we specifically included steps to follow if we run into a conflict and steps for handling setbacks. We decided that for conflicts that spawn between two members, the third member would act as a mediator and &#8220;judge&#8221; for the two in conflict. <\/p>\n\n\n\n<p>As for setbacks, we outlined that members should immediately let the rest of the team know what they&#8217;re having an issue with and how big the issue is. From there, they will try to remedy the problem while keeping the rest of the team in the loop. If they conclude they cannot resolve it on their own, another teammate will take on the problem as soon as possible to ensure the Sprint still reaches its goal in the time allotted.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What comes next<\/h2>\n\n\n\n<p>Now that I understand we are a Hybrid team following the Scrum framework, I think the path to success has been laid out before us. So long as we remember to stay in regular contact so that we all remain on the same page, we should be set to complete a very successful Capstone Project!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Making the Most of the Capstone Project Do any students actually look forward to group projects? I&#8217;m not so sure. I&#8217;m not one of them. Trusting your grade in the hands of another student &#8211; especially one you don&#8217;t know &#8211; is not a terribly exciting prospect. However, the reality of a professional career in&hellip; <a class=\"more-link\" href=\"https:\/\/blogs.oregonstate.edu\/born2code\/2022\/01\/14\/collaborating-on-a-mobile-app\/\">Continue reading <span class=\"screen-reader-text\">Collaborating on a Mobile App<\/span><\/a><\/p>\n","protected":false},"author":11919,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-14","post","type-post","status-publish","format-standard","hentry","category-uncategorized","entry"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/users\/11919"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"predecessor-version":[{"id":15,"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/posts\/14\/revisions\/15"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/born2code\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}