David Frost is sitting at his desk, the computer monitor glaring at him, his attention is drawn to the outside through the large windows. Deep in thought he watches the world going by.
“Hey Dave,” he abruptly looks up, it’s James, one of the sales guys, he continues.
“How is the ‘Quick-Up’ feature going?”
“Well 90% done,” replies David trying to placate this really annoying guy and wishes he would just go away and leave him to it.
“Well, that is what you said 2 weeks ago!”
“If you leave me alone I will get it done quicker,” replies David
“Frost get it done! We need it ASAP”.
He leaves abruptly. David turns to Brian, “that guy is such a tool!” Brian nods and turns back to his monitor, placing his headphone on and turning up the music.
David looks at his monitor, there are a bunch of emails, one from the Keith the head of sales and another one from head of operations Rich, the 4th one this week and it’s only Tuesday!
We have an important client coming in tomorrow, we talked about getting a demo ready. Can I have something for 10am tomorrow? This could be really big, so pull out all the stops.
We need to talk, we are getting a lot of feedback. The quality of your product is letting us down. Please spend more time doing support issues. This is a top priority.
David sighs, looks at Brian moving his head to the heavy metal music ringing in his ears and Jeff the other developer, both working on the internal accounting system. Thinking to himself “If only they could help? Looks like yet another long night”.
A month later and the ‘Quick-Up’ feature is finally compete, James is demoing it to the client. The client throws a pencil at James. “What’s this?” The client stands and starts drawing on the white board vigorously, “Isn’t it obvious? What are you playing at?” James says “Look I told the developer exactly what you told me. I will sort it out, I will get this put right.” The client looks pissed “You better, we can find others that will do this cheaper and quicker”. James tries out the final part of the demo and the application crashes. The client stands takes holds of his folders and walks out, leaving the office door wide open.
Points to think about:
- How could scrum help this situation?
- Would a product owner help or hinder?
- How could a backlog help?
- What would stop people coming up to the developers and asking them just to do work for them?
- How would more reviews / feeback help?
- What about the team structure?
- This company is not acting as a team, everyone is looking after number one.
- They will need to restructure the development team so they work together on the most valuable items first.
- A product owner is needed to decide the order of the work i.e. what gets done and when.
- Maybe Keith the head of sales may be a good choice for Product Owner as he would know what is coming up and Keith can work with Rich to organise what technical debt should be done first, based on the value it would give the client.
- Having an ordered backlog would make it clearer what work gets done and in what order, no jumping the queue, unless Keith has agreed.
- Moving to sprints the work is broken up and the progress of the work becomes clearer, as we are now working on small iterations.
- The developers start working together on the most important items, 4th developer is added whom has experience in XP practices and encourages the team to pair program to enable faster understanding of the multiple systems the company has.
- Introduce test driven development, looking at the tests first then moving to development, to improve quality.
- To speed up integration testing, automation is introduced and becomes part of the definition of done.
- At the end of each sprint the work is demonstrated to James and the client and operations at the same time. The client / Operations is able to give feedback much faster moving the product in the right direction sooner.
- Each day at the team stand-up the day is planned looking at the most important work in the sprint and together working out how to get it done before starting new work. Keeping the amount of parallel work to a minimum and keeping the team focused on what is important.
- A better pace of work is managed, no more late nights.
- The next few sprints are planned and even a few more tentatively organized. These are placed on a large board by the development team. Everyone in the company is clear what is coming along.
- As Keith is the PO and a busy man he delegates much of the conversations regarding design directly with the development team and the client that. Removing the impediment of protracted communication. Sometime the client could come and sit in the development office to see daily progress of the work.
- The team would define the stories needed to support the goals (features) as defined by the product owner.
- To make development even more transparent the back wall is broken into two areas, one has a large wide board attached and this is where the sprint progress is monitored. The other side of the wall is taken up by a story map. This a visual representation of the product in development and the goals, user interactions and finally the stories needed to make the goals happen. This is useful as it includes hand drawn wire frames, alternatives and is a great discussion point with the client, whom now is joining in each day for the stand up, just to hear the progress.