How to follow values and principles to become Agile.

Agile is a set of four values and twelve principles that aim to uncover better ways of developing software by doing it and helping others do it.

Agile is not considered a methodology because it does not offer any specific methods, processes, rules, or ceremonies that you should adhere to.

If you are looking for actual methodologies, you can consider Extreme Programming, Kanban, or Scrum. But does following any of these actually make you Agile?

A bit of a history

It might seem that logically first there was Agile, and then there were Agile methodologies, but truth be told, it was the other way…


What is servant leadership, and why did The Scrum Guide change its definition?

The 2020 revision of The Scrum Guide has changed the definition of a Scrum Master from a servant leader to a true leader. Even though the guide still talks about how Scrum Master serves the others, it is a change that happened for a reason.

Misunderstanding of the servant leader

The servant-leader is a concept coined by Robert Greenleaf in his essay The Servant as a Leader in 1970. Thus, it is a notion nearly twice as old as Scrum.

However, many companies in the Agile adoption and implementation of the Scrum framework tend to understand it poorly. It has lead to Scrum Masters…


Micromanagement in Agile and Scrum

There are many different ways how Agile adoption happens across different companies. Because I love entertaining people with stories of Agile adoption, I want to focus today on the top 3 micromanagement symptoms in Scrum implementation that might appear like they are a good idea, done with the best of intentions but actually, go against the values and principles of Agile.

Symptom 1: Daily Scrum for daily report

The Daily Scrum is an important 15-minute event that allows the Developers to inspect their work daily and self-manage to plan the next steps towards Sprint Goal delivery.

The Scrum Guide clearly states that it is an event…


Changes in Scrum commitment, grooming, and the team

Do you know that commitment, grooming, or the development team are no longer terms used within The Scrum Guide?

A forecast replaces commitment.

Commitment has been removed from The Scrum Guide in its first revision in 2011 and replaced by a forecast.

The Scrum Teams do not commit to completing the work planned during a Sprint Planning event. The Scrum Team creates a forecast of work it believes will be done, but that forecast will change as more becomes known throughout the Sprint.

The new name reserves the potential for changes during the Sprint, and the company should empower the team to make…


Cross-functional teams in Agile and Scrum

There are many kinds of teams in different organizations. Some teams seem like they are always developing something without ever releasing anything. Other teams are always extremely hard-working while feeling underappreciated because others see them as their bottleneck.

Exceptional teams can generate value with every iteration with nothing to hold back their creativity and engineering excellence. But how can such successful teams be formed in your organization?

Functional vertical teams

Teams are often established around a specific function that they are asked to perform within an organization. For example, you can have a QA team that is purely focused on testing software…


4 values and 12 principles

Agile has started in early 2000 and it has now been part of the industry for over 20 years.

Agile is simply a set of 4 values and 12 principles. Unlike Scrum or Kanban, it is not a framework or methodology.

The 4 values of the Agile Manifesto

The four values of Agile come from the famous Manifesto for Agile Software Development which simply states:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation


How to recognize problems with agile adoption.

Is your team dependent on other teams to ship?

Agile teams are expected to be cross-functional and self-sufficient.

Shipping is about its whole process of iterative design, development, testing, and deployment based on a shared goal. If a team is able to do only one piece (for example only development), it won’t be able to ship within the same sprint. It will also lead to situations where they can’t work because they are waiting for input from design. Or their output will accumulate because QA won't be able to prioritize it enough to consistently pass it through.

If your agile teams are divided based on their specializations they cannot…


How to build a serverless NLP chatbot for your website

browser screen showing a chatbot conversation on the left and a list of training output on the right
browser screen showing a chatbot conversation on the left and a list of training output on the right
Image source: Author

It is possible to build a chatbot for your own website without dependency on a third-party service like Dialogflow or Watson, and without a server. I will show you how to build a chatbot that will completely run in the browser.

I will assume that you have some understanding of JavaScript and insight into how natural language processing works. No advanced knowledge or machine learning experience is needed.

If anyone tells you that it’s crazy to do machine learning in a browser using JavaScript, then don’t listen to that, because soon you will know better yourself.

Our code will be…


Terminology and differences in programming paradigms

cartoon about imperative vs. declarative code
cartoon about imperative vs. declarative code
Image source: Author

Believe it or not, you are likely already using multiple programming paradigms as a developer. Because there is nothing more fun than entertaining your friends with programming theory, here is an article that will help you recognize popular paradigms in your code.

For updated information please consider watching my YouTube video on the topic of imperative and declarative programming:

Imperative Code

Imperative programming is how we started with Assembly (1949) and continued with languages like C, C++, C#, PHP, and Java. Procedural and object-oriented programming belong under the imperative paradigm.

Your code is based on statements that change the program state…


All JavaScript developers are awesome and they deserve a brilliant way of filtering and mapping over an array with just one function with a linear complexity O(n) of one run through the array.

If you are looking just for the solution, then here is the code for filterMap. Thanks for stopping by.

Please notice that the above function is just a one-liner using a JavaScript reduce function. Here is an example of using filterMap:

filterMap is better than using two function calls of map and filter separately because you would need to go through the array twice. …

Martin Novak

Martin is a seasoned manager with rich experience in leading international teams and governing product strategies.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store