Software Engineering Project Guide

Oye
3 min readSep 11, 2019

--

If it’s your first time as a Software Engineer working on a project with a team or you‘re curious to know what it may look like in the role, here’s a general guide to collaborating on a project.

History: I’ve been able to work on several projects with Software Engineer teams as a Front-End Developer and this is a take away from my personal experience.

Meet your team — understand roles.

“Teamwork makes the dream work.”

Putting together a solid team is essential to creating good products. In the business space, this team may be referred to as a Scrum team, Innovation team, and etc (because the company may have its own name). In the end, it’s all usually some form of a Scrum team.

Schedule a meeting to meet with your team and learn about each other roles, interests, and experience.

Choose your preferred method(s) for collaboration. (i.e. Slack, Jira, Trello, Facebook at Work, Microsoft Teams, and etc.)

Most teams have:

1 — Team Lead

  • Sr. Software Engineer
  • Scrum Lead

2 Individual Contributor

  • Software Engineer/Developer
  • Designer

Discuss project goals and plans.

Remember this…

“Good code comes from good planning.”

Know what you want to build and why. It starts with a good wireframe and mockup design. Once you understand what it is you and your team want to achieve, you can begin building out key components for your app.

Wireframing and Mockups

Use paper, a whiteboard, or wireframe/mockup tool.

I generally just use a whiteboard, but if you want to be fancy here are some tool recommendations:

Invision | Mockup.io | Balsamiq

Agile project planning

Agile planners define a release, which involves creating a new product or substantially updating an existing product. Each release is broken down into several iterations, also called sprints. Each sprint has a fixed length, typically 1–2 weeks, and the team has a predefined list of work items to work through in each sprint. The work items are called user stories.

Create and collaborate.

Get ready to create an environment to develop an MVP (Minimum Viable Product) app.

“Transparency is key.”

When collaborating on projects, having a good sense of transparency is essential to keeping everyone on one accord when creating apps asynchronously.

Choose the preferred method or tool for creating tasks and then assigning them to team members. This process will help keep everything related to the project organized and contributors accountable. (i.e. Trello, Jira, Monday, etc.)

Create a model and database structure for your app.

example (using https://dbdiagram.io):

Once tasks are created and assigned, each team member (or SCRUM master) is responsible for updating the Project Board to provide transparency and status to the project.

Sprint Meetings.

Come together with a visual to joint efforts and discuss accomplishments, roadblocks, challenges, and other updates related to the project.

Here is where you find possible additions or components to remove to overall refine and enhance your app.

Note: When your working in an Agile Scrum environment, you’ll usually work in Sprints where you’ll recap weekly or bi-weekly. The schedule varies depending on the project.

Present your app

Once you’ve completed all of the work into creating your app, show it off to business and team!

It’s good to pilot your app before releasing it full scale. Get some user feedback and work out any bugs or errors. Make any changes as necessary to continuously enhance the user experience, health, and stability for your app.

Way to go! You did it!

--

--