paint-brush
Project Management Mastery: 3 Tips for The Well Rounded Developerby@memattchung
193 reads

Project Management Mastery: 3 Tips for The Well Rounded Developer

by Matt ChungJune 10th, 2021
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

This is the second in the series of The Well Rounded Developer series. To succeed in your role, you also need good project management skills. This skill combined with your technical depth will help you stand out as a strong developer, not someone who just delivers code, but someone who does it consistently and on time. It's critical for your Personal Brand, says Matt Chung, a well-rounded software developer. Chung: "Project management is another skill that requires practice — you’ll get better with it over time"

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Project Management Mastery: 3 Tips for The Well Rounded Developer
Matt Chung HackerNoon profile picture

This is the second in the series of The Well Rounded Developer. See previous post “Network Troubleshooting for the Well-Rounded Developer”

Whether you are a solo developer working directly with your clients, or a software engineer part of a larger team that’s delivering a large feature or service, you need to do more than just shipping code. To succeed in your role, you also need good project management skills, regardless of whether there’s an officially assigned “project manager”.

By upping your project management skills, you’ll increase the odds of delivering consistently and on time — necessary for earning trust among your peers and stakeholders. In fact, I'd go as far as to say that it's critical for your Personal Brand.

3 Project Management Tips

Just like programming, project management is another skill that requires practice — you’ll get better with it over time. Sometimes you’ll grossly underestimate a task, thinking it’ll take 3 days … when it really took 10 days (or more!). Don’t sweat it. Project management gets easier the more you do it.

1. Capturing Requirements

This seems obvious and almost goes without saying, but as a developer, you need to be able to extract the mental image of your customer/product manager. Then, distill them into words, often referred to as “user stories”: “When I do X, Y happens” or “As a [role] … I want [goal] … so that [benefit]."

These conversations will require a lot of back and forth discussion. With each iteration, aim to be as specific as possible. Include numbers, pictures, diagrams. The more detail, the better.

And most importantly, beyond defining your acceptance criteria, spell out your assumptions — loud and clear. Because if any of the assumptions get violated while working on the task, you need to sound the alarm and communicate to your stakeholders.

2. Sending frequent communication updates

Most importantly, keep your stakeholders in the loop. Regardless the task at hand is trending on time, slipping behind, or being delivered ahead of schedule, send an update. That might be in the form of an e-mail, or closing out your task using your project management system.

Example of a short status update

More often than not, we developers tend to send updates too
infrequently and as a result, our stakeholders are often guessing where
the project(s) stand. These updates can be short and simple: “Completed
task X. Code has been pushed to feature branch but still needs to be
merged into mainline and deployed through the pipeline.”

3. Breaking tasks into small deliverables

It pays off to break down large chunks of work into small, actionable items.

The smaller, the better. Ideally, although not always possible to achieve, strive to break down tasks such that they can be completed within a single day. This isn’t an absolute requirement but serves as a forcing function to crystalize requirements. Of course, some tasks just require more days, like fleshing out a design document. For ambiguous tasks, create spike stories (i.e. research tasks)] — just make sure these discovery tasks are time-bounded to a few days.

Summary

Project management is an essential skill that every well-rounded developer must have in their toolbox. This skill combined with your technical depth will help you stand out as a strong developer: not someone who just delivers code, but someone who does it consistently and on time.

Let's connect

Let’s chat more about being a well-rounded software developer. If you are curious about learning how to move from front-end to back-end development, or from back-end development to low-level systems programming, follow me on Twitter: @memattchung

Previously published at https://blog.mattchung.me/2021/06/09/3-project-management-tips-for-the-well-rounded-software-developer/