Dev & Business Teams - How Have You Bridged the Gap Successfully?
I would hope that a healthy discussion and not a solution comes out of this specific
, so I will use the Community Wiki as this is a rather subjective topic. Appreciate if it can be left open as a useful resource.
I recently switched to Dev Manager with a small tech team.
Business / Marketing / Design teams are roughly 4: 1 technical as you can imagine there is a lot of work trying to isolate the tech team from the barrage of demands.
To this end, we have applied some proper processes using SCRUM to design the project, requiring the business team members to complete the proper requirements documents, use cases, etc.
In the weeks following our first major release, we will introduce the business team for the proper UAT process, issue reports and change request processes, and improve our sorting and bug fixing procedures. But, as you can imagine, it's a pretty steep learning curve and a mindset change for everyone involved.
Just find some general feedback from the tech community (developers, team builders and devs) who have encountered similar ones and how they approached any particular anchor points.
a source to share
The key issue is prioritizing requests, each user wants their request to be completed first. The solution is a kind of pricing mechanism. If your department is treated like everything you can eat at the buffet, they will want everything yesterday and there will be no limit to their requests. If, on the other hand, they need to send a request and have a price assigned before work starts, they will think twice before making freeware and trivial requests.
a source to share
Here is lag point number 1.
My demand is too important for your meager little obstacles and hoops. I can't worry about the puzzling "processes" and "documents". I just have a simple thing and I just report it to the developer RIGHT NOW.
That point of engagement is almost impossible to avoid. Everyone knows that their demands exceed process, engineering, discipline, management and quality assurance.
The point of Agility is to let it take a manageable path.
Encourage conversation. Let them release. Tune, update and prioritize lag.
By focusing on the backlog, you can - to some extent - bypass the marketer working in the developer cube to make a "breakthrough" to the RIGHT NOW production code. This is a CRISIS. EVERY PANIC!
The history of the war.
We are betting on reorganizing the morass of poorly done code. During a meeting with users, the user wanted to know if the new application would allow immediate fixes.
I wanted to say, "Hey dinbat! You're in a mess right now for immediate fixes!"
Instead, I said, "In line with best quality assurance practices, we will make changes as quickly as possible. We want to be responsive, but ..."
Culture is difficult to change.
a source to share
First of all, you never throw an exception or do something that was not correctly represented in the new system. They will never learn to use a new system if you don't use it. Hardness is especially necessary, especially at the beginning of the process. It's also surprising how many more requests there are when they really have more work to do than just a phone call.
The latter publish a list of priorities. If something needs to be moved up the priority list, the client (internal client in this case) can only move it to their own stuff (and, of course, assuming it can be done if task A is not done in the first place). If he needs him to rise above someone else, he must get the consent of all other people whose work is ahead of him. This is not for you, but for him. This will reduce priorities. It will also save you time and arguments. Each internal client can talk to you individually to set their own priorities, but you are in control of the overall list. Once the developer has started the task, if at all possible (and not to mention the issue with the production taking down the system), make surethat it performs this task before moving to the next highest priority. Starting and stopping the same task repeatedly results in the code taking longer and in my experience it is more likely to be wrong.
You must retain the right to determine that there is a real emergency requiring a shift in priorities. This should only happen if production is down and the system cannot be used by many people (one person not being able to log in is not such an emergency, unless it is the CEO!). In this case, make sure you inform internal clients that their work is being delayed. Communication is the key.
a source to share
I am an engineer who has been on the side of the business for a while.
The key allows commercial people to communicate with you OFTEN. Listen, ask questions, internalize the value of what they are discussing. You want each person to feel like you are their personal concierge, helping Shepard with their requirements in the process.
Armed with this information, you can work more effectively on an agile development process — and your business teams will feel energized and confident in the pipeline design and development process.