On Scrum projects, we strive for a cross-functional team. A cross-functional Development Team has all the skills to meet the Sprint Goal.
Does that mean that the ideal Development Team is comprised of team members that can do everything? Can every Developer analyse, design, configure, customise, document, test and train? Can they code?
Not in my Development Teams.
Imagine you are a patient in the operating room. Your goal and the surgery team's goal is to have a successful operation. The surgery team – a nurse, a surgical technician, a radiologist, an anaesthetist, a surgical student and a surgeon – is a cross-functional surgical team.
Now imagine the anaesthetist is called into an emergency into another operating room.
would you like to step in as your anaesthetist: The surgeon whose hands are fumbling with the anaesthetic mask, or the nurse who is hurriedly reading the manufacturer's instructions on the gas bottle?
Me? I'd rather wait until we can find another anaesthetist. I expect surgery teams to have all the skills and resources necessary to complete my surgery. But I don't expect everyone on the surgical team to be able to do every job in the operating room.
Every Dynamics 365 practice manager has challenges resourcing projects. It's a contest of project demands versus skills, availability, and aspirations.
Asking a functional consultant, with no formal computer science education or experience as a professional coder, to find and copy someone else’s JScript from Stackoverflow and paste it into your Dynamics solution is asking for trouble.
I ask functional consultants to understand when custom code is the best solution to a requirement, and work with the professional coders to deliver well-designed, developed, and tested solutions that are maintainable, supportable and extensible. I don’t ask functional consultants to code.
I don’t code. Sorry Stephan.