Product validation is a vital aspect in software development. After a long journey of user research, problem and market validation, and most importantly development, you finally have a working product. Validating your product means getting meaningful feedbacks and using them to improve your product in the next iterations. In Agile, this is usually done on the Sprint Review meeting, where the team presents a demo of the product to the stakeholders. That said, there are other techniques you can use to validate your product. They will be explained in this article, along with their strengths and weaknesses.
In a product…
As software developers, we’ve all had to run someone else’s code on our own machines. Docker is a popular tool to make it easier and safer. It allows us to encapsulate a project, including the code and dependencies, and ship it to any machine with no hassle.
Docker containers decrease deployment time significantly. It saves developers much time and cost.
Like discussed above, one of the main advantages of Docker is that it enables us to run a project on any machine, regardless of the operating system.
Packing and shipping a project with Docker is pretty straightforward. …
It’s a common rule in software engineering that you don’t need to reinvent the wheel — use design patterns. Software design patterns are reusable solutions to general problems that you can adjust according to your needs. Of course, it’s not a one-size-fits-all solution. Sometimes you need to combine several patterns or use nothing at all. That’s why it’s important to know your product well to decide the best way to solve the problems.
Here are some of the design patterns you may find useful.
Creational patterns provide object instantiation mechanisms. They increase flexibility since they allow decoupling.
Sometimes, there are…
How a product is designed is the users’ first impression of the product, so it’s crucial to do it the right way. In software development, this is called the user interface and user experience. User Experience (UX) is how the user interacts with the product, like how easy it is to use the features. On the other hand, User Interface (UI) refers to the aesthetic of the product, i.e. how it looks and feels, and is an inseparable part of UX.
To deliver a good product, there are guidelines to follow when designing it. It’s important because a product needs…
These days, skills and experience are not the only essential things when it comes to succeeding in the workplace. Whatever work you do, it’s crucial to work well with others and even have good relationships with them. In other words, become a people person. Frankly, it’s easier said than done, especially in the middle of a pandemic, where almost everything is done virtually. That said, it’s totally possible to become a better people person even in these challenging times. Here are the people management skills and how you can apply them to your daily virtual work life.
Having good communication…
Truth can only be found in one place: the code.
— Robert C. Martin, author of Clean Code
There are many reasons why you should keep your code clean, but the most obvious one is to ensure that people who read your code in the future understand it nicely. Keep in mind that these people include yourself since we don’t always remember what we wrote in the past.
Another reason is to make it easier to debug and refactor. …
If you’re not new to software development, you’re probably already familiar with test-driven development (TDD). As a quick refresher, TDD is a development process where the software requirements are made into test cases before the implementation code itself is written. In TDD, there’s a cycle called Red - Green - Refactor. First, write tests and see that they fail. Then do the bare minimum to make the tests pass. After making sure that they pass, refactor the code to make it better (e.g. implementing clean code).
If you’re reading this article because of the cover picture, I’m sorry to inform you that I’m not going to talk about Chanel Oberlin and the other Chanels. Instead of talking about Scream Queens, I’m going to explore the five fundamental values of scrum that might be just what you need to become a Scrum Queen (or King, whichever you prefer). But before we get there, what is scrum?
Say you want to build an app to help teachers execute online learning efficiently. Of course, you could guess what features they might need and how they would expect the app to be. But as someone working in tech, do you really know what motivates them, what their goals are, and what challenges they face on a daily basis? Probably not. So how do we ensure that the app we’re making would actually help our target users? The answer is by creating personas — fictional characters representing the kinds of users you’d expect to use your product. …
In case you didn’t get the reference, it’s from the Christmas song Sleigh Ride:
Giddy up giddy up giddy up, let’s go
Let’s look at the show
We’re riding in a wonderland of snow
I’ve been using git for more than two years now, but I still find it amazing how it can literally save a developer’s life. (Okay, more like figuratively, but still.) It has saved me at least hours of exasperation and ugly crying. …