Water-Scrum-Fall is a software development methodology that combines the elements of both Scrum and waterfall development methodologies. Most agile organizations out there in the world are currently following the Water-Scrum-Fall procedure because of the effectiveness associated with it.
Back in the day, waterfall was the most common development methodology. However, organizations understood the shortcoming associated with sticking to a waterfall methodology. For example, they were spending too much of time unnecessarily on the project upfront. On the other hand, they had to face numerous challenges at the time of implementing change as well. However, those organizations were not ready to go fully agile as well. That’s where they started using a combination of waterfall and agile methodologies, which is known as Water-Scrum-Fall.
Water-Scrum-Fall can be considered as a flexible approach available for development of a product. That’s because it is helping the development teams to fully understand the problem that has to be solved, while providing them the opportunity to come up with a practical method to solve it. Organizations that follow Water-Scrum-Fall methodology are adhering to the waterfall method when they are planning, project management, and budgeting. However, the development teams are adhering to agile in their day to day developments. This will eventually benefit the development team to get their work done.
One of the most important aspects that you can find in a Water-Scrum-Fall environment is that the project would still need high-level project planning. However, it would have governance and approval gates, where it is following a traditional approach as per the waterfall method. In the meantime, the development team would adhere to non-agile interactions with the project and front end teams. This would eventually help them to adhere to the Dev-Ops and continuous delivery principles, while ensuring smooth transition in between all deliverables.
— Slimane Zouggari
Scrum was developed back in the year 1990. As of now, scrum and agile software development methodologies are heavily being used by the software development teams all around the world. The latest update to the scrum guide took place on 18th of November 2020. This update was published by Ken Schwaber and Jeff Sutherland.
One of the biggest changes that you can see in the scrum guide 2020 is the removal of software specific terminology. As a result, it has become possible to use scrum for non-technical environments as well. You can find simple terms and simple language along with less perspective.
There are some changes to the definitions as well. For example, the definitions associated with definition of done, increment, sprint backlog, sprint goal, product backlog, empiricism and scrum definition have changed.
Development team concept that was included in the scrum team is now removed. This is done with the objective of eliminating the dysfunctions that can take place in between the product development team and product owner. Along with that, the entire focus of the scrum team is on the same objectives.
As per the new definition, the scrum team is now made out of a product owner, scrum master and developers. All the people who work to create a usable product are called as developers, regardless of the specific functionalities that they have. On top of that, entire team is now responsible for the development of useful and valuable product and ensuring the delivery of that increment at the end of the sprint. To add more value to this, the terms responsible and accountable are used more consistently.
These are some of the most prominent changes that we can see in the scrum guide 2020. If you are working for an agile development team, it is worthy to get your hands on the scrum guide and be familiar with all the changes.
— Slimane Zouggari
When working on a software development project while adhering to the agile framework, it is important to have a clear understanding about Scrum anti-patterns. An anti-pattern is following a process that doesn’t adhere to the guidelines of agile methodology. When such a method is followed, it will not be possible to achieve positive results as a scrum team. The scrum team will be making the life harder when moving forward with the software development project. Due to the same reason, it is important to have a clear understanding about the Scrum anti-patterns and take appropriate measures to get rid of them.
Here are some of the most prominent Scrum anti-patterns that you can find in agile teams. When you are aware of these Scrum anti-patterns, you will be able to take appropriate measures to overcome them.
Absence of a product owner is one of the most common Scrum anti-patterns that you can find. Even if a product owner is present, he might be absent during most of the sprint. Then it will not be possible to answer the questions that the development team will come up in a timely manner. As a result, a micro-waterfall approach will be created. The development teams will never be able to release their developments in a timely manner. Due to the same reason, it is important to make sure that the product owner is present during the entire development phase.
Lack of flexibility shown by the product owner is another example for Scrum anti-patterns. In here, the product owner should be flexible to adjust the acceptance criteria, especially when the initial requirement cannot be achieved due to technical limitations. If there is no impact on the business, product owner shouldn’t worry too much about it and the product owner should change acceptance criteria.
— Slimane Zouggari
Nexus spring backlog will be created at the time of Nexus sprint planning. This is a visualization of the work that has to be done throughout the Nexus, which contains all dependencies. Primary objective of Nexus sprint planning is to properly coordinate the activities of the scrum team within a single sprint.
Implementation of Nexus model within the agile scrum team to scale it properly will make Nexus spring backlog possible. It will help the scrum team to get to know about the dependencies and volume of work that has to be done.
When it comes to Nexus spring backlog, the entire product development roadmap will be visualized. Then it is possible to get a clear understanding on what kind of developments will come up in the future and how to prepare accordingly. Along with that, it is possible to visualize all the dependencies as well.
We tend to go ahead with Nexus spring backlog in order to make sure that all the upcoming developments are properly aligned with planning. This will also help us to manage the dependencies effectively. Along with this understanding, proper scaling of teams can be done.
In order to get the most out of Nexus spring backlog, you need to make sure that you are getting the most out of Nexus sprint planning. That’s because Nexus sprint planning will determine how the backlog items are properly utilized for the developments.
Nexus spring backlog is used when the development team, or the product owner has a clear understanding about the development roadmap available in front, but needs to properly scale the development team, so that developments can be completed timely.
— Slimane Zouggari
Nexus is a scaling framework that you can find in agile. If you want to scale the agile teams within your company, this is the right approach available to move forward with. This framework focuses on how to organize teams to deliver a project that has a large scope.
Scrum model has bottlenecks when delivering large projects within a short time period. That’s where Nexus comes into play. This framework can help a company to get two or more teams involved to complete a project. Along with that, it is possible to deliver the large scale project within a short time period.
If a large project has to be completed, one team will not be able to work on it and deliver it within a short time period. This is where the help of more than one team is required. Nexus comes into play in such a situation. You can easily scale two or more teams through this framework and get them to work collaboratively ensure timely delivery of the project.
Scaling teams is important to get most work done within the limited time. Therefore, it is important to go ahead with the Nexus framework and properly scale the teams to complete a large project with tight deadlines.
When two or more teams are working to achieve one common objective, misunderstandings can happen. Hence, it is important to understand how to overcome them.
If a development has to be completed within a short time period, it is important to overcome overheads. Overcoming such overheads will become an easy thing to do with the help of Nexus model. That’s because it has got the ability to eliminate the bottlenecks and deliver positive results.
— Slimane Zouggari
Nexus Integration Team (NIT) is a new role that you can find within the Nexus framework. This role will be performed by a group of individuals. As mentioned in the Nexus guide, this team will be able to coach, coordinate and supervise the application of Nexus framework within the Scrum team. Along with that, it is possible to get the best outcomes of the Nexus framework implementation as well.
Primary responsibility of the Nexus integration team is to make sure that Nexus framework is properly maintained and adhered to by the team. It is important to scale the agile scrum teams. The team will supervise and see whether it is taking place properly. If not, appropriate actions will be taken for it.
The Nexus integration team has a clear understanding about Nexus framework and the role played by it within the agile scrum teams. They will closely monitor the process and introduce changes as needed.
Nexus framework is important to properly scale the agile scrum teams. Once it is implemented in the team, the team should be able to follow it and get the most out of it. If that doesn’t happen, a series of issues can take place. That’s where the Nexus integration team will monitor the process and make sure that everything happens properly as planned.
It is important to highlight the importance of Nexus framework for the agile teams, so that they also make an effort to move forward with the changes and stick to it at all times.
If an agile team is not adhering to the Nexus framework, a Nexus Integration Team can analyze the situation and provide appropriate feedback.
— Slimane Zouggari
Those who are working in agile community they have had come across this new new product development game a lot of times. This white paper was published in 1986 and it is still valid and it does helps the businesses. Having a look, we see that there are six key principles of this paper which are connected to each other.
When we see the traditional approach while developing a product then it will move like a relay- race as the baton is passed from group to group. Now, when we see the new new product development game then it will be like rugby, where the team is having the ball and they pass it to each other and take it to the desired place. The most used framework scrum is also inspired by it.
Six key Principles
Let us take a look on the key principles of new new product development game:
- People are quite possessive about the business or work plan in the traditional approach, and they control and monitor day to day activities for others. But, this new new product development approach themselves. While talking about scrum, the race is an agreement between the development team and management. Product owner and the others will decide how to work and where the flexibility is needed.
- Project teams which are self-organizing if exhibit these three conditions will be ideal. The conditions are autonomy, self-transcendence and cross fertilization.
- Overlapping the development phases, that will enable the team to absorb the noise or vibration generated throughout the development process.
- Multi-learning, now this is said that it is a two-dimensional learning i.e. 1) Multi-learning across multiple functions. 2) across multiple levels. Are we clear with the vision? Is the right product selected or being built? In scrum there is a learning opportunity as the team working on the product interacts with each other and learn from the market trends.
- If we say that a person has both “control through peer pressure” and “self-control” then we can say that he is having subtle control. The sprint goal should be inspected by the development team so that they can adapt the sprint backlog in accordance.
- The transfer of learning should be done on organizational level, spring and scrum should make it sure that the team members share knowledge with each other.
— Slimane Zouggari
A task particularly aimed at collecting information or answering a query instead of delivering shippable outcome. Sometimes user story that is generated and cannot be properly estimated until a development team executes some actual works geared towards resolving design problems or technical questions. The solution is to actually make a “spike” wherein some work have the purpose of providing a solution or answer. The word “spike” comes from Extreme Programming or XP wherein this means “A Spike Solution is an ultimately simple program for exploring potential solutions”.
Spike in Agile Software Development
In the agile software development, architecture actually evolves in order to address the needs of Product Backlog Item or PBI’s forecasted on the given Sprint. This is lean. Unlike a skyscraper or a bridge, establishing business software does not really require defining the entire architecture upfront. Remember that spikes are invention of XP and are considered as special types of stories that are used in driving out risks and uncertainties on project facets or user story. It might be necessary to spike on the perfect persistence option however, implementation of spike must be wrapped to a PBI.
Spikes by definition got maximum time box sprint size. That tends to be your upper bound. At the sprint’s end, spike is either done or not really done same as other stories. Spike is the technical investigation to produce answers with regards to certain criteria on PBI prioritized on upcoming sprints. This is an excellent way of mitigating risks earlier and promoting fluid iterations later on projects. This also allows team to ensure feedback and develop clearer understanding on upcoming complexity of PBI.
Why Doing It?
Spikes are done for the following reasons:
- The group might not know about another area, and spikes might be utilized for fundamental research to acclimate the group with another domain or technology.
- The story might be too huge to be estimated accurately, and the group may utilize a spike to analyze suggested conduct, so they can part the story into respectable pieces.
- The story might contain essential technical risk, and the group may need to do some examination or prototyping to pick up trust in a mechanical approach that will permit them to commit the client story to some future timebox.
- The story might contain noteworthy functional risk, in that while the purpose of the story might be comprehended, it’s not clear how the framework needs to communicate with the client to accomplish the implied benefit.
Just like other common stories, spike is actually put on backlog, sized and estimable to fit perfectly in iteration. The spike results vary depending on the type of the story as this generally produce information instead of working code. Spike can be used and can result to decision, proof of concept, prototype and other partial solution which tends to help in driving final results. In an instance, spike must be developing just the sufficient information to be able to identify and size stories concealed beneath the spike.
— Slimane Zouggari
A company always makes sure that the product they are selling would have a great demand among consumers. Apart from the product making a great first impression to consumer, the company should also hold a good reputation. In this case, a sprint planning meeting is required in order to ensure that the product backlog is on the right track. This prevents hassles and problems in the future transactions of a company.
The sprint planning meeting would take much time if not done with an excellent backlog grooming session. The product owner has the first say on what the agenda will be about and what are the possible ways on how to make the product successful. If you are the product owner, it is necessary to hold the right grooming sessions in order to meet the following:
• Be able to write user stories that are essential in making the product successful in terms of scrum planning and the like.
• Be able to effectively break down long user stories in order to make these easy to use and understand.
• Be able to rewrite user stories that are poorly written. This ensures a right approach to the flow of the sprint planning meeting and the success of the product.
• Be able to efficiently estimate many backlog terms possible.
• Add an exceptional acceptance criteria to the product.
• Be able to go deeper into the backlog do more wide range technical planning strategies.
A backlog doesn’t only make a Sprint Planning Meeting successful but it also contributes proper ideas or deliberation that will happen within the meeting. The ideas or concepts shared by the product owner and the company team would result to a good impact not only to the status of the company’s performance but also to the backlog grooming itself.
Here are few guidelines to able to conduct an excellent backlog grooming session:
• An excellent goal would be good
The product owner must set a goal in order to make the session more interesting and so that would not result to a waste of time. Having a goal would lead to a smooth flow of the meeting.
• Have a proper schedule
Planning a schedule in advance would be result to an effective sprint planning meeting and the company would be able to set adjustments and refining the product is needed.
• Limit employee participation
Limiting the participation of members of the meeting, particularly stake holders is necessary in order not to produce delays or problems in the backlog session. Stakeholders have a few knowledge about the product as compared to the product owner and the team.
The right backlog grooming even in scrum meetings brings no problem or a waste of time on the part of the company members and the product owner. This ensures a most authentic and successful agile approach in deciding what possible user stories can be used or what certain business product plans needs to be made or adjusted in order to achieve on the goal the company wants to achieve.
— Slimane Zouggari
Teams cannot maximize Scrum and use it to solve their problems due to a Scrumbut. Organizations that are looking into implementing Agile may turn to Scrum. However, implementing Scrum will not let you attain the success that Agile is recognized for if you don’t make the shift. Organizations that don’t make that shift are called Scrumbuts as they are putting Scrum into action, but with changes for their unique situation. Here are signs that you may be a Scrumbut.
Your developers keep getting ahead of the testers
Scrum team aims to complete the task by the end of the race and members of team do what it takes to achieve this. Team members who get ahead of the others will hold back the team in due course. Every member of the team has to do something to help the group such as writing a test framework or running a test. If the entire team falls behind, all members also fall behind, regardless of what they are accomplishing as a person.
You fail to comply with regulatory documents
The Scrum team provides working code. Building the most amazing user experience won’t matter at all if your software cannot be used and you don’t comply with the required documentation. Ensure all tasks are done during the sprint.
Members of the team are scared to try new ideas as they’re afraid of failure
Scrum team members always do their best and feel comfortable about it as they know they won’t be blamed for trying to achieve the best. You should not allow your team members to become afraid of failure.
Retrospectives focus on “who” instead of “what”
You should focus on how you work together. It’s also important to focus on the tools you use to complete your tasks. There may be members who cannot meet the team’s demands. Those team members will be will be uncovered without the retrospectives revolving around them. You should allow the team to focus on the skills of its members and eliminate those that prevent the team from achieving success.
You want all of the stories described in detail before you start the first sprint
Traditional organizations don’t start until they have discussed every detail. On the other hand, Agile organizations put the stories into the backlog once they have enough information to estimate them and allocate business value. The information gets discussed later by determining implementation activities during the sprint planning assemblies. By waiting to define the information until everyone is ready to work, the team can avoid unnecessary waste.
You focus on metrics than on outstanding results
There are plenty of metrics that can be considered by a Scrum team and ScrumMaster. These metrics help the Scrum team determine blockers. However, these metrics can become a goal that the team may only focus on it and forget about the results. The team can only be considered effective if the software is launched and the client is satisfied. Metrics should only be used to determine problems and during the retrospective.