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?
It might seem that logically first there was Agile, and then there were Agile methodologies, but truth be told, it was the other way…
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.
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…
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.
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…
Do you know that commitment, grooming, or the development team are no longer terms used within The Scrum Guide?
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…
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?
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…
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 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
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…
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.
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 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…
If you are looking just for the solution, then here is the code for filterMap. Thanks for stopping by.
Martin is a seasoned manager with rich experience in leading international teams and governing product strategies.