If you’re a junior developer looking for a software development role chances are you may have come across the term “agile” in some of the skills and requirements. It seems like a lot of junior developers write this term off as not being a real skill to learn, but it is very important that you understand the basics of an agile methodology in order to fit well with that employer’s software development team. In this blog I’ll be going over the pure basics of what an agile methodology is, and how you can implement some of its principles into the development of your portfolio projects.
So what is Agile?
An agile development methodology is simply an iterative way to carry out the development of a software project by following certain principles. Let’s say you are going to make a task tracking web app for your portfolio. The first thing you might do is decide on what stack and technologies you might use, plan out your backend, make some wireframes etc. You might also plan out when you are going to work on it, and when you are going to finish it. This is where you might deviate from how an agile team might work on their software.
An agile development team works on their software projects iteratively in what are known as “sprints”. Sprints are usually 1-4 week intervals where the software team will create and deliver working software. This way it is much easier to improve on the product, because you are getting customer feedback at least once every 4 weeks. If you were to incubate your project for 6 months, and deliver it straight to your customers, they may want you to change some things. And those things may have been developed months ago, making it much harder to go back and change them.
Here’s a quick example. Let’s say you are an artist and you’ve been commissioned to draw some cover art for a musician. Most artists would follow agile principles and come up with a quick sketch to present to the musician, before committing to the idea. This is because if the musician doesn’t like the idea, you can adjust the sketch to meet their exact needs. Whereas if the artist went ahead and finished that idea without consulting the musician first, all of their work may be for naught.
How can you use it?
Obviously the portfolio projects junior developers work on are not meant to be worked on in 1–4 week periods, but that doesn’t mean you can’t work on them using agile principles. What you may want to do is set up some mock sprints on your calendar and then iteratively show the app to your friend to check out. This way you follow the principle of delivering functional software, and getting feedback. You can’t get feedback on an app with no functionality (unless you show them your IDE/text editor), so this will force you to get used to making enough of the frontend and backend to test certain features.
The other way you can practice agile development is by working with a partner on a project, and having what is called a stand up. A stand up is when you and your partner decide what they are going to work on for the day, and is a pretty common occurrence in agile teams. Especially since we are now working completely remote.
Hopefully this gave you an introduction into what agile development is, and how you can practice some of its core principles. I recommend implementing it in your next project so that you can become a full blown agile developer! Thanks for reading!