Brainstorming a new product idea is a very exciting and romantic process. However, many product leads or product managers forgot that product needs masses to succeed. That’s why, when building a startup and launching a product, the most important risk-prevention measure is product validation — ensuring there is actual demand in the market before the development and launch. No market demand means no money, thus no resource to preserve the product.
What problems do you want to solve? Your product or service should be able to resolve a real, existing problem. It should fill a real gap. …
Developing a user interface is an iterative process. After developing our initial design, we need to make sure that the design that we created can accommodate users in achieving their goals. To do that, we can use usability testing.
Usability testing is a method of testing the functionality of a website, app, or other digital product by observing real users as they attempt to complete tasks on it. The users are usually observed by researchers working for a business.
In usability testing, there are 3 core elements:
Facilitator who guides the participant through the test process
Participant: realistic user of…
When we first form the team, I barely know some members of our team. At first, it was actually a struggle for me to communicate effectively with the team members, this leads to a lack of trust within the team. In this article, I will explain how to make friends, establish relations, and understanding people and how our team attempt to get to know each other, especially from my point of view.
According to Forbes, there are 10 ways to build trust within a company. I will choose 7 ways that implementable for small teams.
Talk about your fears and…
To develop a great project, we can not do it by ourselves, we need other people to help us. However, working with people is never easy, we need ✨chemistry✨ to make it work, to make us comfortable working in the team. To build chemistry, we need a good team dynamics within the team. With good team dynamics, we can reduce chance of conflict, work collectively effectively, and reduce stress in doing the work.
Team dynamics refer to the psychological forces and and behavioural relationships between the members of a group. The dynamic within group is basically how the team ‘moves’…
Softwares work differently in different machines. This condition can be a blocker because sometimes when developers add a new code and test it on their machine, it worked, then they add it to the team’s repository. When another team member pulls the new code, the code might give a different behavior, it might even give a different behavior when deployed.
That’s when Docker is helpful. Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. The containers contain the environment, with all the parts an application needed, like libraries, dependencies, etc. …
When writing code, especially in a group project, functionality is not the only important thing, we have to make sure also that our team and future us can understand the code that we’re writing.
First, what is clean code?
Clean code is actually a very subjective term, it depends on a lot of things; what language and framework that we use, our internal team’s covenant, etc., however, the main goal of clean code is to make our code
What does “easy-to-read” code mean? It means our code has to be understandable at every level of our code:
Like its name, test-driven development is a software development framework that enforces its practitioners to write the test first, before the implementation. In another word, in this framework, the developers have to create a certain parameter of a program, manifested in unit tests, before they create the implementation.
This framework emerges in the late preceding millennia, developed by Kent Beck, as a part of Extreme Programming. The early form of this framework was manifested as below:
Normally, digital products are in a new, fast-moving market that changes frequently. That being said, the development process of digital products needs an approach that is flexible.
Agile is “the art of iterative and incremental software development”. It is a type of project management process, where problems and solutions are evolving through the development process. It consists of a collection of principles that provide adaptability and flexibility.
Agile concept emerged around the end of the 90s to the beginning of the new millennium. In the 1990s, with the increasing of software needs, the industries realized that they couldn’t move fast…
No one codes alone, we need to be involved in a team to build something great. We have tools like Google docs to write collaboratively, how about code? Do we have something to ease us to code collaboratively?
By definition, Git is a
“free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.” — https://git-scm.com/
What is exactly a version control?
Version control is the practice of managing and tracking changes to the software code. Version control keeps track of every modification to the code in…
A product is useless without its user, it will be just another useless running software.
Before jump into the coding-phase of a digital product, we need to make sure first that the product we develop is well-defined; the features, the design, the plan, and most importantly, for which segment of users are we building this product. The first step to define that is to create a Persona.
In the late 1990s, researchers in IT system development had begun reflecting on how we could best communicate and understand the users. Many concepts emerged in that time period, such as user archetypes…