Working with remote teams
I decided to share my experience developing an iOS & Android app remotely using Agile methodology. Lunna is one app that provides tips, advice, and assistance on women’s health. Lunna is in beta testing now, so if you’re interested in testing it, just ask for access to this link.
I know you may be wondering “how long does it take to to develop an app,” and my answer is “it depends.” And yes, it depends on a lot, it depends on the complexity of your app, the platform you will use, and the development team you have. So let’s not think about that now, and let’s focus on the steps you need to take to develop your app using Agile methodologies and frameworks like Scrum and Kanban, even remotely.
Agile methodologies and frameworks offer great opportunities and value for building apps in short cycles.
What is Agile?
With shorter deadlines and increasing pressure for innovation, a need arose for a new way of managing software projects. The Agile framework is a way of managing software development quite different from the methodology we are used to, like Waterfall, for example. Using an empirical product planning and execution approach, iteratively and incrementally, in Scrum you divide the problem into smaller portions in order to deliver those portions regularly into a cycle called Sprint, which lasts from 1 to 4 weeks.
The goal is to work collaboratively on a team, because the team needs to be closer and more integrated. If you are working with Scrum for example, there are some events that you should follow as daily meetings that are time-boxed in 15 minute increments and they happen every day at the same time and place; Sprint planning; Sprint retrospective; Sprint review; and the Sprint itself, which is the period that the development team will be working on development of the software.
Why do I need to be Agile?
Mobile apps are different, and Agile frameworks and methodologies offer great opportunities and value to build apps in short cycles. An app needs to be reviewed frequently to meet end-user expectations, and it requires that operations be at the top of the infrastructure and systems to support frequent interactions and constant updates.
Mobile apps are different. Agile methodologies and frameworks offer great opportunities and value for building apps in short cycles.
Using Agile methodologies and frameworks, we deliver faster and more efficiently. And by delivering faster, we have more opportunity to test the product, feel the market, and also fail faster. I talk more about failures in this post.
1 — Product definition
To define a product it is necessary to place business requirements on a paper and draw wireframes based on these requirements. The result of this process should be the first mockups of your app. These mockups should have a set of app features. They don’t need to have all the features of the app in detail, but you can start by listing the most important features that should be delivered first.
From there, we must have the backlog of the first Sprints, which will be the first part of the app that will be developed. For example, what I developed earlier in Lunna was the first screen of the app, which is where the user spends most of the time and can see important information about their month. I chose to develop this part first because it is the main part of the app, and I also decided to use that to show to potential investors that specific finalized design and development.
We should have an idea of the features and user stories of each Sprint of the app. With this information, the development team (Designers + Developers + Scrum Master + Product Owner) will know exactly what they need to develop. As the app is constantly moving and iterating, developers can begin working on the product before the product definition is finalized, as some items will be finalized before others.
2 — Research
You ALWAYS have to research, before the app development starts, and also during and after it too! After all, you need to validate your research and discover if the end users really want to use your product, how, where, and when. One of the most important steps before launching an app is testing with users. Why test? It’s ready, right? I say no, little grasshopper. Testing with users is also complex like the app development itself. An app behaves differently on different operating systems, internet speeds, and also for different uses.
Critical bugs should be resolved before launch!
Allowing users to try the app before you launch will ensure that the initial version of the app feels familiar to users and it is close to what they expected and need. This will result in a greater chance of a successful development effort. The app should be tested with end users as well to ensure that we are delivering all the features that users need and also to understand how the users will be using the app. Critical bugs should be resolved before launch!
3 — Development
The development work is planned in Sprints. Each Sprint can last from 1 up to 4 weeks, and not more than that. Each Sprint has its own goals. The development team defines the amount of work that will be done.
When the team is going to develop an app, they have different challenges because each app has a unique set of complexities.
The time developing apps varies greatly. When the team is going to develop an app, they have different challenges because each app has a unique set of complexities. It all depends on these complexities, what libraries will be used, or whether everything will be built from scratch. Each Sprint includes the termination of all features planned during that period. It also has a goal that must be agreed upon by the team, and it needs to be reached on its termination.
4 — Quality Assurance
The Q&A should start as soon as an item or functionality is developed, for example, it isn’t enough to just deliver the features proposed at Sprint. The development team must ensure the quality of what is being developed! If a problem wasn’t expected happens, the team should meet and make a decision on how to solve it.
Software to Work Remotely
I made a list of the software that I use in my daily life and I consider essential, especially if you work with remote teams. Most of them are free or have trial periods.
This situation has probably happened to you, you go to the project folder to get a file and realize that you do not have the latest version of the material, then you have to ask someone to upload the new files or send it to you by email, right?!
The cool thing about G Suite is that everything is in the cloud and you’ll see in real-time people updating spreadsheets, text files and presentations. The possibilities are endless as there are several extensions to the G Suite that include a code editor and Gantt chart software.
- Trial: Your company can test the G Suite for free for up to 14 days.
This is an important tool used for communication between teams. You can create different channels for your team, like Development, Design, General, Funny Jokes. It also has a pretty handy integration with Trello, Google Hangouts, Asana, and others. For example, we use Google Hangouts on my team, so for for every standup meeting, the team is going to receive a link with the Google Hangout meeting at Slack. I also use it with Trello, every time I close a task at Trello, the team will receive a message at Slack.
Slack came out in 2014 and I wish it had been invented years ago. The software is free for smaller teams and up to 5GB of space. You definitely should test it with your team! I made a post with a compilation of Slacks integrations I like, check it out here.
- Free Trial: The software is free for smaller teams and up to 5GB of space;
- End of the trial: if you don’t upgrade: You’ll still be able to search and read your workspace’s 10,000 most recent messages. You’ll be limited to 10 apps or custom integrations. You’ll no longer be able to invite Single-Channel or Multi-Channel Guests. (Any existing guest accounts will be deactivated, but you can re-activate them as regular members.
If you also love creating Kanban boards but you work remotely, you should use Trello. You can create your Kanban board, and share it with your team where they can add new tasks, add images, leave comments and even add and remove people from tasks. It’s also free for teams, it’s worth a try if you’re looking for more options to build a Kanban board, I also recommend this post.
- Free Trial: Totally free for small or large teams.
If you like Kanban but want to create a simpler board, or just want to create a to-do list for yourself or your team, I suggest Asana. It is free for teams of up to 15 people, Asana helps you organize tasks, assign tasks for your team, and also add files and comments. In the paid version, they now have a timeline too, it’s pretty cool!
The cool thing is that it automatically creates charts so you can see your team’s progress, how many tasks have been completed, and how many tasks need to be done.
- Free trial: Totally free for small teams up to 15 users.
I love the fact that Basecamp is very simple. With it, you can create different projects, and sign up tasks for each project. You can also add files, and it has a really cool tool that’s called automatic check, in which it asks you and your team what tasks have been fulfilled.
- Trial: It is free for teachers and students, and also has the test period for 30 days.
This is a tool to create diagrams, flow charts, wireframes and a huge amount of graphics. I super recommend this software, you can use it on your computer and also on the phone and tablet.
- Trial: They have a 7-day trial and also the free version with feature limitation.
My other best friend is Google Hangout. It brings conversations with photos, emojis, and even group video calls. Hangout also perform group video chats with up to 10 users at a time. I love to use the shared video option too!
- Free Trial: Try it for free during 14 days.
It’s a video collaboration tool. You can use the free version with a maximum of 4 participants. The best part: guests won’t have to register to join!
- Free Trial: Up to 4 participants and 1 room;
- Pro: $9.99 per month with up to 12 participants, and 10 rooms.
My best and dearest friend: Sticky notes are wonderful if you like to create physical Kanban boards. I use it quite often even when I create task lists, and Kanban boards on Trello, I usually write in the paper first and then move on to the software. I’d love nailing sticky notes on the wall or in my own computer with super important information that I can’t forget!
These were my tips and document my day-to-day development of Lunna. Do you have some different software or another framework that you would like to share?
For those who worked or talked with me about tools for team collaboration, you know how I love Slack. I’m 100% sure…medium.com
I have been really busy this year. In the beginning of 2018, I decided to get the PMP Certification while having a…medium.com