Agile in a Non-Agile Environment
How do you feel when you realize you are working in a non-agile environment? myself feeling like an Alien walking through a human environment, looking at me as a werido.
Nobody ever told us how would it be to work on a non-agile environment before, but coming from an Agile company our first thought was that everyone there will be exited about it, and magically each person will start collaborating with each other for the company's sake. The reality taught us it was the other way around, the toughest journey we ever had.
The company we worked for, used to work in a traditional way of doing software (Waterfall?), a business department, a solution design team, Development team and finally a Functional Test team.
- Managing the transition to agile
- Differences in organisational cultures
- No effective communication across teams
- Reporting progress and demonstrating control
- Solution design to far from the real implementation
- Requirements based on a classic approach
- Release date agreed without development estimations
The first approach we took was that we weren't dealing with all challenges at the same time; So, first of all , we just focused on managing the transition to agile in our development teams and see how this would change the environment.
This was rather easy due to the fact that development teams were looking forward to adopt Scrum to finally provide quality software on a sustainable pace.
The real challenge started when teams started to interact with other departments.
"There is nothing worst than a pincer movement to demoralize your opponent. Feel that you are trap on a none-escape situation it's the faster way to give up or suffer a painful journey."
Some of the challenges described before have an strong connection with business. Without effective communication, there aren't realistic estimations, no feedback from the stakeholders as well as non fulfil delivery dates, so it's easy to end up feeling pressure from both sides, Business to provide a release as soon as possible and Functional test, who has also pressure from business to get the sign-off as quickly as possible.
So, eventually the teams start to feel surrounded by pressure from every side, trap on a pincer movement.
Flaked by Business
- No contact with the team
- No Product Owner, therefore no prioritization
- ROI not clear
- Estimations not taken into account for the release date
- No willing to negotiate deliveries
Flanked by Functional Test
- Over testing, FT test don't trust integration testing performed by the team
- E2E still required
- Go-live takes so long
- No ownership
- Team morale decreases
- ROI not achieved
- Defects in production
At this point, a break though was needed, the only way was concentrate our effort on fixing some of the challenges, particularly the organisational culture but the communication issues as well.
Normally this transitions can only be done from inside, so the real challenge here is find the right people to do so, and most of the time we can find them among managers staff or even stakeholders, they care about company's sake and will do the best to make it work, those people can act as if they were an Alien Infiltration.
"In the infiltration scenario, the invaders will typically take human form and can move freely throughout human society, even to the point of taking control of command positions." Wikipedia
Looking for sponsorship among stakeholders/managers, can support agile transition from inside and across all teams.
They can remove walls faster and painless than anyone else , so with time we were able to reach agreements across all teams.
- Coach closest Business Analyst to be your Product Owner
- Prioritize your team backlog
- Unblock functional impediments
- Delegate on someone on your team to be a Proxy-Product Owner
- Fills stories with content
- Unblock functional dependencies between teams
- Keep in touch with Business Analyst as well as Functional Testing POC to coordinate releases.
With Functional Test
- Require a Senior Functional Tester to be part of your team.
- Along with QA on your team will set up a whole test plan
- Easier to get a sign-off to go-live
- Increase trust
- Involve QA members on the release process to Production
- Support clients
- Provide release notes and content information
- Catch the pulse on your teams, it's going to be thug journey, keep your team motivated.