DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

charlesshrout
charlesshrout

Posted on

Understanding Project Management

I, like most people, love the feeling of coming up with a project idea. Whether it be the project as a whole or the process of creating an idea chart with all the deliverables being written out, being able to plan out everything can be extremely satisfying. What's not as fun is the execution of the plan, especially when you're working with a group. Once the planning phase of the project is done, it can be difficult to determine what gets done first and (if you're in a group) who is doing what. In my phase 3 project, we encountered several of these types of issues.

Just like in most group projects, coding projects take lots of time and communication so it's important to be honest to other group members about what your capability is in regards to the deliverables required for that project. Additionally, it is even MORE important to have patience and respect with other members of the project, even when things are not going according to plan. Communicating frustrations or confusions effectively is the key to a healthy team dynamic. Take this block of code for example:

require 'pry'
class ApplicationController < Sinatra::Base
  set :default_content_type, 'application/json'

  # Add your routes here
  get "/post" do
    post = Post.all
    post.to_json
  end

 get '/posts/:id' do
  post = Post.find_by(id: params[:id])
  post.to_json
 end


  patch  "/posts/:id" do
    post = Post.find(params[:id])
  post.update(
    like_button: params[:like_button]
  )
  post.to_json
  end 

  delete  "/posts/:id" do 
      post = Post.find(params[:id])
      post.destroy
      post.to_json
    end

  post '/posts' do
    post = Post.create(
      phase: params[:phase],
      topic: params[:topic],
      location: params[:location],
      thread_post: params[:thread_post]
    )
    post.to_json
  end

  private
  # def post_params

  # end
end
Enter fullscreen mode Exit fullscreen mode

This is the controller file we used to connect our back and front end together. While it really isn't a lot of code, the logic behind understanding how this sends and receives responses to and from the front end was essential to get our project running. Because of this, it was just as essential to make sure I knew exactly what my group member who was in charge of the back end was doing so I could adjust the front end accordingly. While we did not experience any huge merge conflicts, other groups around us did even some resulting in a deletion of important code. Simple solutions, such as being in the same room as your group while working, could have prevented these merge conflicts. Learning from mistakes is a necessary step in becoming successful in any career path, but proper and effective communication is what will truly set one apart from the rest.

Top comments (0)

Let's Get Hacking

Join the DEV x Linode Hackathon 2022 and use your ingenuity and creativity to build using Linode.

β†’ Join the Hackathon <-