Confused about backlogs for an Android/iOS application.
Greetings community,
I decided to implement Scrum in order to develop a successfully planned application for iOS and Android parallelly in my company.
I'm an IT Manager in a company that is developing an application like Uber, at first, they outsourced for a complete application development which took about 9 months of development. Unfortunately, the application turned to be full of bugs and in such a mess, with no version control or anything, it was a complete spaghetti code which would cost us extra time fixing it than creating a new one from scratch.
I decided to hire 6 developers, 2 iOS developers, 2 Android developers, 1 back-end developer, and 1 front-end developer, and now I'm completely lost about the application's backlog, I started to write few epics using (Axosoft), but when it comes to giving specific tasks for Android / iOS developers, I get lost whether I should separate the teams in Axosoft or specify the epics with two different subitems; one for iOS and one for Android.
Here is the current progress I made so far.
Does all the work to be done fall neatly into iOS and Android work, to the point where the two could be considered separate products? If so, then perhaps each product could have its own product backlog. Perhaps not.
If you split the developers into two teams, do you believe that each team will be cross-functional and self-sufficient? Will they, without any help from developers outside their 3-person team, be able to turn product backlog items into a useful increment of working software? This is one characteristic that Scrum teams are expected to have and that you might want to consider. If the split teams are not self-sufficient, what will be the impact of inter-team dependencies on their ability to focus on their own sprint?
What do you think will be the impact of the size of the team if you split (3 developers per team) versus if you don't (6 developers in a team)?
If you don't split the team, and keep it as one, do you believe the developers will agree to have a team goal, rather than split goals for the Android and iOS developers? Scrum encourages team responsibility, not individual responsibility. Will the Android developers be uncomfortable at the idea of the entire team being held responsible for iOS work?
Is this something you ought to decide by yourself? What does the Scrum Guide have to say about refining product backlogs, and the people who should be involved?
@Vincent
I believe the Android team itself will be cross-functional and self-sufficient, also the iOS team. However, I'm pretty sure splitting the team would be a bad idea for the meanwhile (Since we're short on time and resources); the idea of Android team to work with iOS team in order to achieve a working iOS software just doesn't sound right. They won't be pair-programming or anything, I'm pretty sure they will just have extra free time until the iOS software is finished and wait to start with the Android version.
And how come dividing the teams makes it an individual responsibility? I imagine that both of them are working in parallel to achieve the same goal "but with different technologies". isn't it more efficient that way?
@Ian Mitchell
I just needed to organize the development process by implying a development method in order to produce a good quality software. Please remember that I mentioned earlier that this product belongs to a Saudi company with Saudi stakeholders and owners, they have nothing to do with software development. However, they decided to run their own IT company. Which gets me a lot of headache and pressure, especially with backlogs, required features, and requirements.
The people involved are depending on me to manage the software development process.
Hi Abdalla, this sounds like a difficult start for your project. From your post I get the impression you don't yet have buy-in or understanding from your organisation and team about what Scrum is and what it involves or that you don't have the Scrum roles assigned yet.
Finding the people in your organisation that can fulfil the Scrum roles is essential and educating them in what those roles involve and how the Scrum process is critical. My (painful :-) experience is that if you don't have that level of understanding, roles-assigned and buy-in from the start then the benefits of using Scrum are diluted. It just ends up feeling like a kludge. Like the guide says, Scrum is easy to undersand but difficult to get right.
For your backlog question - what does the Product Owner say about the relative importance of Android / IOs implementation - does one have to go to market before the other or released at the same time? if they have to go at the same time then the backlog contains stories that are cross platform and the product owner chooses which cross-platform feature should be built next by the development team. The key thing is, if you are the Scrum Master then you should be working to help the Product Owner organise this backlog, not doing it in isolation from him/her.