SebastianN97 / final_exam_august2020_written_challenge

Final Exam cohort August 2020 Written Challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Written submission

Please explain the steps you think are necessary to perform to get a feature done, from an idea to an implemented solution that is running in production. Be as detailed as possible.

Make a PR with your submission to this repository.

Sebastian Niewiadomski Answers:

Step 1: Decide an idea

You first need an idea of what to make. You need to have an idea and also think about the features that will be build upon the idea. You could create a mind map there you tell for example the main idea and around it goes several smaller ideas inside the main thought. From doing that you come to realize if this idea is possible to make, if its hard or easy to do.

Step 2: Planning the idea

Once you have gotten an idea of what to build, you need to start with the planning which include

  • Pivotal Tracker
  • User stories
  • Lo-Fi

Using a Pivotal Tracker when you plan to create a big project makes things much more easier. You split up all your features into smaller tasks so you don't sit thinking about the whole application itself. You take one step at a time. In the Pivotal Tracker you Create all your features. You create a User Story and a LoFi for each and then put in tasks to make sure you know what to do and think of.

A USER STORY is an informal short explanation of a feature which is written from the perspective of a user. The purpose is to show the costumer how a part of the work will be delivered

Example: As a visitor In order to be able to buy a subscription I would like to register an account

LO-FIs are small drawings of how each feature will look like. It makes you be able to see and understand how the function behind it will look. You don't need to be a designer to do this task. Its simply to just take a pen and paper and make a little scetch of how the login function would look like.

Once you have done those steps, you and your colleagues sit down and do a small voting between 1-3 of how demanding each feature is. 1 is not that demanding and 3 is very demanding.

After everything has been voted you split up all the features you have created into sprints. One sprint is a timeline there you decide the deadline for lets say 3 features in one week. This makes you have a goal of reaching to a certain point in the project under a planned timeline.

Step 3: Starting with a feature

Before you start with first feature, you need to branch of the main branch. Think of a tree. Your main branch is the tree itself and the smaller parts are the branches. You always create a new branch for each feature to make sure you don't screw up the main code. Once you have a new branch you create a PR so you can document all the implemented code and changes you have done in the feature.

When you start with the first feature, the best thing to do is to create a test. Having a test can make coding much more easier for you, from feeling lost to have a guide telling you what to do. A test is basically a check list. You have created a test and after that you can move on to the coding of the feature. Whenever you run into problems with your code, you run the test and see which error shows up, which tells you what to do next.

Step 4: Before merging

When you feel like your feature is done and its ready to get merged. You should always go to your group and discuss and let them go through your PR and the codes. Together you can go through the code and maybe find a better way of writing it, make things look more simple. It is also very important to go through with your colleagues so they are on the same track as you. Knowing what has been done on the project. Once all of this has been done, everyone is happy and have approved the PR, then you can merge the feature into your main branch and then start with the next one. These are the steps you need to be creative and work good as a team.

About

Final Exam cohort August 2020 Written Challenge