Traditionally, software development has been a linear and sequential process, with projects moved from one phase to the next as they’re completed. Projects are defined, built, tested, and released. This process is called the Waterfall methodology.
Agile Software development is a philosophy centered on an incremental, iterative development process, evolving requirements and solutions through an ongoing process of feedback and collaboration. The goal of Agile development is flexibility and speed.
While great for small, well-documented projects, the waterfall approach risks creating products that fail to meet customer needs or lead to costly rework.
As a client-centric mindset, Agile development is focused on continuously incorporating feedback to ensure the product is aligned with the outcome at every stage of development. The “Agile Manifesto” consists of 4 values and 12 key principles, but Agile is only a philosophy – to be applied, organizations need to choose an Agile framework such as Scrum, Kanban, Crystal, or others. As the most popular option, Scrum offers a structured set of tools, processes, and roles to help teams work effectively toward continuous delivery.
You would think that all organizations would be shifting to Agile, yet only 37.8% of organizations feel they “completely” understand Agile development and its benefits. Misunderstandings and bad Scrum practices can hamper the ability of organizations to achieve Agile goals.
This article highlights some of the most common mistakes that are easy for Agile teams to fix, giving “quick wins” and smoothing the process of adopting Agile development. Along the way, we’ll share with you our insider perspective on how we became an Agile enterprise – transforming not just our software development but applying that same agility to our entire organization.
1. Poor Agile training during the onboarding process
Training is crucial to a successful Agile transformation. Typically, organizations face the greatest number of changes when training is only applied on a team or project basis (as opposed to systemically as an organization). Rather than this bottom-up approach, effective training is top-down and ongoing.
With our IT team always growing, Agile training is an important part of onboarding new Agile developers. Effective onboarding ensures that when the developer is aligned on an engagement, they know exactly what is expected of them and how to work efficiently in the team as a productive team member.
For those developers already familiar with Agile in concept, we have found that every company applies Agile in slightly different ways, so retraining keeps everyone on the same page.
At Net Solutions, all employees go through a multi-week onboarding process that:
- Introduces them to the Agile philosophy followed by Net Solutions
- Provides training on the core tools and systems used in Agile projects
- Gives in-depth walkthroughs of processes
- Includes an “onboarding buddy” to provide immediate help whenever they have any questions
- Facilitates access to senior staff to address concerns
- Is driven by a mature process
- Is overseen by a dedicated HR executive
Since Net Solutions promotes improvement of processes and inefficiencies, the teams are constantly improving on established practices, processes, and experimenting with tools. Every promising enhancement goes through a pilot, a test, and is subsequently rolled out to the rest of the organization as part of regular training and refresher sessions.
As an Agile organization, we also leverage Agile training, incorporating feedback to improve project and team performance. Organization culture plays a key role in Agile effectiveness.
2. Lack of synchronization with other departments
If other departments are working to their own timelines or the company culture doesn’t support Agile, the project is likely to fail. The most effective Agile projects are cross-functional, rather than siloed, and are most effective when supported by strong leadership.
Agile teams at Net Solutions include a Scrum master, product owner, business analysts, UX/UI designers, developers, and QA. Teams are not fixed, but rather self-organizing as needs change over time.
Net Solutions spends considerable energy on maintaining and developing a culture that aligns with Agile philosophy that is:
- Constantly improving
- Individual accountability
This philosophy translates into a highly dynamic team that puts the focus on working together in true congruence to Agile. Regular and open communication ensures everyone is focused on targeted outcomes and seeking opportunities for improvement from every team member.
At Net Solutions, we use Scrum processes to come together for client success, including:
- Daily standups
- Communication tools to help everybody stay in touch in real time
- Tools & systems for logging progress that generate alerts and notifications
- Dedicated Scrum Master to ensure coordination
Speaking of which, that leads us to another common mistake…
3. No scrum master, or a scrum master who is only part time
The Scrum Master has a key role in keeping an Agile project together and running along smoothly. As the conductor of the orchestra at play, the availability and focus of the Scrum Master plays a vital role in an Agile project’s success. The Scrum Master should be focused on one project to allow for rapid responses and flexible sprint planning.
Net Solutions ensures there are dedicated personnel who take on the role of Scrum Master for each of our projects. Our Scrum Masters each:
- Have a deep understanding of the project and the team
- Ensure the project goals, scope, and processes are well understood by the team
- Support team dynamics
- Are quick to solve impediments
- Focus on the critical aspect of keeping everything running smoothly
Without this kind of focus, things can get off the rails quickly.
4. The scrum master is also wearing other hats
As noted above, the Scrum Master plays a critical role in managing the productivity of the team. Some refer to the Scrum Master as a “servant-leader” role — leading the team but also acting as servant to the Product Owner who owns the client vision and creates the product roadmap for the Scrum team.
Unfortunately, many organizations try to double up the Scrum Master as the Product Owner, a decision which leads to oversights or conflicts of interest. A Scrum Master does not have access to the customer, so wearing the hat of the Product Owner may result in a product that does not meet the goals of the client. When merged, a Scrum Master may cut corners on planning or managing the development process, either of which could put the project at risk.
The Scrum master should only focus on removing impediments from the team’s way to meet the product goals.
Thanks to the size of the team, Net Solutions has dedicated people playing the role of Scrum Master. This lets them focus on the responsibilities involved and not be distracted by additional tasks or alignments with a specific group.
5. Focusing too much on the tools
Though there are many good tools out there for those using Agile development, it can be easy to become myopic and lose focus in the process. JIRA and other popular project management tools can support Agile methodology, helping your team plan, track, and manage your projects. However, these tools are only as good as the team using them.
Net Solutions does not focus on tools at all. For us, they are a means to an end and are often changed to suit the project or client preferences. A tool agnostic approach to project planning is more in line with Agile methodology:
- The team can opt for a tool specific to a project if it is found to be a better fit
- The clients often ask their preferred tool to be used and they are adopted immediately, provided that they’re suitable to serve the job
- When taking over existing projects, if the tools already being used are sufficient, we continue to use them instead of asking the data be transferred to our preferred tool chain
6. Focusing too much on the processes
In the excitement of implementing Agile, organizations can actually go too far, putting in too many processes and resulting in a framework that’s actually less agile. In practice, it can become more about the processes or the tools (as above), and less about the people. In Agile software development, the processes are the “how,” but the core of Agile development is communication and collaboration.
Net Solutions ensures the Agile teams are empowered and encouraged to focus on collaboration and communication. So while processes are followed for efficiency, care is taken that they do not become bureaucratic bottlenecks. We use a range of formal & informal activities to ensure this is true, including:
- Release planning meetings where sprints are discussed
- Holding daily stand-up meetings where the team discusses their work, achievements, and difficulties
- Holding informal and impromptu meetings with Product Owners to discuss progress
- Ensuring proximity to allow team members to walk over for discussion on any aspect of the project
- Employing collaboration tools such as storyboarding for visual progress, Slack & Skype for informal communication, as well as bug tracking tools
For larger and complex projects, Net Solutions creates “war rooms” with dedicated whiteboard walls that act as anchors for meetings and discussions.
7. Lack of customer feedback
Fast feedback from internal teams is useful, but customers are still an important part of the feedback loop. Unlike traditional Waterfall software development that only solicits feedback at the end of a project, Agile depends on regular customer & end user feedback at different stages.
Net Solutions has a total customer-focused/client-centric approach to running Agile engagements. We work with clients at every critical stage, including:
- Writing user stories
- Discussing features & functionalities
- Approving Backlogs
- Prioritizing Features
- Approving Wireframes
- Evaluating & Giving Feedback on every Sprint Release
During the Discovery phase with any client, we talk about client preferences for how often they want to be updated and any preferred communication channels. Generally speaking, the Net Solutions Product Owner works closely with the client in the discussion and approval process. The Product Owner may use a variety of e-collaboration tools to formally gather feedback from clients including presentations, walkthroughs, surveys, and approval sign-offs.
Agile is More than a Buzzword
Some companies adopt Agile because they want to add the word to their marketing materials. Ultimately, these companies usually end up creating mini-waterfall workflows instead of truly shifting their mind set around goal setting and software development. Agile is about more than processes, it is a true shift in philosophy about why and how products are being developed – and ultimately how organizations are being run.
Following an Agile product development approach is not that easy as it looks. In the Agile Product Development Trends 2020 eBook, we share with you how you can leverage Agile in today’s uncertain business climate, as well as which best practices you should follow to achieve great results.