1

We developed our app for iOS and Android in native code. Before using scrum we had the following development logic:

  1. We define the overall product requirements (for iOS and Android app)

  2. The iOS developer gets some aspects of the implementation and starts defining the data structures, classes, algos and starts implementation.

  3. Meanwhile the Android developer might do the same with other aspects of the implementation that can clearly be separated from the above. This way both can work independently and very efficiently.

  4. Once the iOS developer is finished with their chunk the Android developer translates this to Java (and vice versa) - as much as possible line by line.

This way we have produced good quality code quite efficiently for both iOS and Android. The translation task is not only extremely fast it also serves as a kind of quality assurance check for the code.

And of course the code is very easy to be meaintained since it is basically the same for iOS and Android

Now we are starting to use scrum. I understand the Product owner defines the product requirements.

  1. Does that also mean that they define all the software aspects, like data structures, classes, algos?
  2. Does scrum even support such development where iOS and Android code is identical as much as possible ?
  3. Or is scrum only usable if the iOS and Android developer each do their own thing with minimal coordination on code level?

We are thinking about one common development platform - but for now I would appreciate very much your insights into the scrum methodology and how to handle this situation.

  • 5
    The product owner defines product requirements, from an end user perspective; it's up to the developers to determine how to deliver those. – jonrsharpe Apr 27 at 17:00
  • thanks - that's what I thought. Now the questions 2+3 remain about how to align the ios and android implementations ? or is this not possible in scrum ? – user387184 Apr 27 at 18:01
  • Why would that not be possible? Again, it's up to the developers. Scrum is a product development management framework, it doesn't tell you how to actually write the code. – jonrsharpe Apr 27 at 18:20
  • I assume you already worked in time boxes before - now in Scrum you call them sprints. You did planning of the tasks for a time box before (which means in your case you usually ended up with tasks for iOS, tasks for Android, and porting tasks). Now in Scrum you call this "Sprint planning". So what actually are you trying to do different with a "Scrum" approach than before - except using Scrum terms? – Doc Brown Apr 27 at 19:00
  • 1
    If Scrum changes the perception of who is actually planning the nuts and bolts of development, it is being done even more badly than it usually is. – Erik Reppen Apr 28 at 2:50
2

who is responsible to define the algorithms, the class and data structures in a scrum team?

That is entirely up to the scrum team.

Now we are starting to use scrum. I understand the Product owner defines the product requirements.

Does that also mean that they define all the software aspects, like data structures, classes, algos?

No, not unless the data structures, classes, and algorithms are a specific product feature (ie: something a customer cares about)

Does scrum even support such development where iOS and Android code is identical as much as possible ?

Scrum supports any kind of development. The basic concept of scrum is that you get together a group of smart people and let them figure out how to build what the product owner needs. There's nothing about that which requires a single platform.

Or is scrum only usable if the iOS and Android developer each do their own thing with minimal coordination on code level?

Scrum works best when the team as a whole works together toward a common goal, and communicates frequently with each other. That common goal doesn't have to be a single application. It can be, or it can be multiple applications that work in concert with each other.

  • Correct. It seems to be a common misconception where folks try to "template" scrum, try to come up with rigid responsibilities, and assumes scrum is supposed to be some sort of prescriptive procedure. It's almost literally the opposite of that. – Matt Messersmith May 2 at 22:10
  • Then the reamaining question would be, why is it that this is a "common misconception" ? – user387184 May 3 at 6:09
1
  1. The product owner only define product requirements or features, the team or developer define how to do it.
  2. Scrum doesn't tell you how the developers manage or write code, just how to manage the development process. You can use scrum in many ways, just keep working as you do. If the way you work give you good result don't change. Just use scrum for developmet management and keep the way your team code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.