Sophisticated customer
Dear agilers,
the situation: one scrumteam (software developer, SM, PO) in a company. In general they develop a platform for internal use within the company. This results in the fact, that our only customer is the same person as the manager is. In other words: our CEO is our "customer". He is an experienced software developer with strong opinions. When the PO of the development team and the "customer" meet and talk about the backlog and further development they struggle to talk about functionality ("WHAT do you want"). Instead our "customer" is often talking about solutions and the way to do it ("HOW do you do it"). His argument: "As a customer I can say that I want that specific architecture and I want it in written in Javascript!" which is in contrast to the self-organizing aspect of scrum.
Have you guys experienced similar situations? How would you solve our case? Do you think his argument is valid?
Regards,
Tobi
The simple answer is that it is up to the PO to liaise with stakeholders, whether they be technical or non-technical, and irrespective of their relative "seniority". The PO must assess their respective needs in terms of product value, including any essential technology choices. He or she can be expected to collaborate with the Development Team on such matters. The PO must be respected by all parties as the ultimate authority regarding value and how it ought to be leveraged.
Therefore *all* decisions regarding implementation matters (e.g. JavaScript) can be said to lie within the Scrum Team and not with stakeholders outside of it.
Does the CEO understand this? Can he be said to be a knowledgeable agile sponsor?
Also, you used the word "developer" in the singular. Is there really just one of them?
When is the timing the PO and your CEO meet?
If it happened during Release Planning or requirements discussion, it seemed ok for me.
During Release Planning or PBI Grooming, it’s one of the best timing to have a communication of stakeholders, PO, and DT members.
In spite of functional requirements, stakeholders might ask for several non-functional requirements.
These non-functional requirements may add to Product Backlog or look as constraints for developments and add to Definition of Done.
The common constraints including:
1. Architecture
2. Security
3. Platform (Java, .Net)
4. Implementation Techniques
5. Win Based or Web based
6. Others…
In my opinion, “As a customer I can say that I want that specific architecture and I want it in written in JavaScript” is not a good user story.
Suggest you CEO, move these kinds of requirements and “Expert Point of View” to non-functional requirements those will be add to the Definition of Done.
There are three common ways to tackle non-functional requirements.
Take you case, JavaScript, as an example:
Develop a line of rule as “For cross-browser compatibility issue, the web application must be implemented in JavaScript.”
1.Highest Level:
Add this rule to Coding Standard or Development Principle of your organization.
2. Higher Level:
Add this rule to the Definition of Done of specified Sprints.
3. More Detailed Level:
Add this rule to the details of User Stories which obviously will be implemented as a Web application.
Just for your reference.
Thanks for our answers,
@Ian, sorry, I got that wrong. There are more than one developer.
@Ching-Pei Li, the sentence “As a customer I can say that I want that specific architecture and I want it in written in JavaScript” is not a user story, it is the "customers" argument or rather his opinion.
I was already thinking about adding these "non functional but technical requirements" to the DoD. Like a framework for this specific software project (develop the platform).
What is the difference when you talk about the "developing principles of our organisation" and the "DoD". Wouldn't that be the same?
Regards,
Tobi
By an large, technology stack is predetermined and doesn't often enough room to change during the course of project, however it may change in case of any feature can't accomplished with in framework, therefore what i have seen usually customer don't set any preference in terms of technology rather focused on what they want, unless somebody inform them about technology constrained and drop of features due to that...
He may suggest technology should be used in a project however asking features to be build in his preferred technology w\o any rational, seems illogical unless there is strong evidence.
Hi Tobias,
DoD is sole defined for Scrum and always defined by Scrum Team.
Development Principle is defined for development organization and always developed by technical management department, SME, architect, external consultant, etc.
As mentioned at the DoD session of Scrum Guide:
If the definition of "done" for an increment is part of the conventions, standards or guidelines of the development organization, all Scrum Teams must follow it as a minimum.
http://scrumguides.org/scrum-guide.html#artifact-transparency-done
Development Principles and Coding Standard are considered as rules of the development organization.
For example, one rule for .net communication guideline may be defined as follow:
For loosely coupling or SOA requirements, use Web services architecture;
For internal high performance requirements, use .NET Remoting architecture.
Though DT can decide how to finish the work of a sprint, it must follow the guideline as a minimum.
Since you CEO has deep technical background, ask him/her helping you to define the coding standard and development principle so that there will be a common language between CEO and Scrum Teams.
There are no MO, PM, architect, analyst in a Scrum team, but it not to say we don’t need these roles and functions in an organization.