Loading...
Home
  • Tech Blogs
  • Videos
  • Conferences
    • Droidcon News
    • Upcoming Conferences
    • Become a Partner
    • Past Events
    • Keep Me Informed
    • Diversity Scholarships
  • Community
    • droidcon Team
    • How to Hold a Droidcon
  • Android Careers
Sign In

Global CSS

 

Our Engineering Roadmap

 

 
Mark Ng
Android Platform Manager @Auspost
Published: February 25, 2021
Tweet
Share
 

 

We just completed our engineering road map for our Android apps at Australia Post. Each year we get together and try to decide on what we are going to do from an engineering perspective for the next 12 months. Each team gets to decide on what should be done now, what they want to complete by the end of the year and whats on the horizon for next year.

The engineering roadmap is influenced by many things such as large product features coming down the pipeline, enterprise changes, third party libraries used in the app and of course Google, Gradle & JetBrains who provide a majority of the tools and libraries that we use for Android development. The engineering roadmap is part strategy, part aspirational, it addresses problem areas, tech debt, spikes for new technologies, architectural changes and provides a plan on how all these things are going to be tackled. During the year we might tweak the road map to include new technologies that are announced at events such as Google IO or Kotlin Conf/Online.

You may be asking whether our team or company should have an engineering roadmap for each asset/platform? The answer really depends on your company’s culture, maturity, ways of working and how your company approaches product development. If your product owners only care about pushing out new features and you never get to work on tech debt then the answer is probably NO. Hint: change jobs and find another company that values the craft of software engineering & product development.

The engineering roadmap should be something that is actionable, you might not get everything done on your roadmap but you should be able to bite off quite a few large chunks. At Australia Post we follow the 60-20-20 rule on our train to make sure our engineering roadmaps are implemented. What’s that you are asking? The 60-20-20 rule is where;

60% of our team’s capacity is used implement features prioritised by our product owner that meet the organisation’s objectives. The features are prioritised using WSJF — weighted shorted job first and scheduled over three months.

20% of our team’s capacity is used for small optimisations such as customer feedback, features that didn’t make MVP or whatever the team feels would bring the most value to the app and our customers.

20 % of our team’s capacity is used to address engineering items outlined in our engineering roadmap and these tech features are prioritised by the Engineering Lead.

We usually refer to these as our feature, optimisations & engineering streams. If we have urgent engineering items that are larger than our engineering stream, extra capacity can always be taken from our feature stream. The only caveat is that all features in the feature stream are assessed on business value, criticality, risk, etc for prioritisation.

Each year our engineering roadmap is presented by our Engineering leads to the Engineers, Platform Manager, Engineering Manager, Chief Engineer, and our Solution Architects. In the presentation we usually include accomplishments & highlights from the previous year, goals for this year, future technologies, key deadlines, key product features, an engineering theme, high level plan, detailed plan and synergies between our apps. Here are some of our slides from our 30 deck presentation.

 

Image for post

 

 

We usually start with looking back and celebrating our achievements for the previous year.

In 2020 we had a record number of 139K unique users visiting the app , with 417K visits in a single day.

 

Image for post

 

We do this for each of our apps.

The Digital iD app, in conjunction with Deakin University & Mastercard, successfully piloted their new identify verification platform.

Image for post

 

We then look at several key technologies coming in the future that promise to have a big impact on improving development.

 

Image for post

 

Like I mentioned before Enterprise changes and decisions can also have a large impact. This year our company is moving off Bamboo and using GitLab for all our CI/CD pipelines.

 

Image for post

 

During the year there are also quite a few key deadlines imposed by Google & other software organisations

It’s always prudent to be at least one or two months ahead of these deadlines. You don’t want to be in the situation where a production bug requires you update a library that is no longer supported but to move to that new version requires one or two weeks work.

 

Image for post

 

This is optional but each year we like providing an engineering theme to highlight key areas of work. Last year’s theme was reuse which reflected that work done to modularise our app to improve build speed, reduce merge conflicts and provide reusable modules. This year we are hoping to simplify our code base and prepare for Jetpack Compose.

 

Image for post

 

We also provide a high level plan on the focus areas for the year for each app.

 

Image for post

 

And then we drill down and provide more details of the actual work that needs to take place.

I hope this gives you some idea what an engineering roadmap is , what it should include and the value it can bring. Each year when we look back at the amount of tech feature that we have completed the year before I am astonished at what we were able to pull off and how much better we are placed for doing this work. Software maintenance is a vital part of software engineering — just like a car if you don’t service it routinely and replace the broken parts then one day it’s not going to start. Software is no different.

 

Thanks to karl. 

 

 

 

Tags: Android, Software Engineering, Roadmap Software, Android App Development, AndroidDev

 

View original article at: 


 

Originally published: February 23, 2021

Android News
Getting… your BottomSheetScaffold working on Jetpack Compose Beta 03
Getting… your BottomSheetScaffold working on Jetpack Compose Beta 03

By Carlos Mota

It’s Monday, no releases this week, and… there’s a new version of Jetpack Compose — beta 03—available. What a perfect time to just increment 02 to 03 and see what’s new. The API is (almost) final so after updating from alpha to beta there weren’t any big changes to do. However, and remember that’s still in development, there’s always something that I need to update. 

By ProAndroidDev -
Android News
Noisy Code 🗣 With Kotlin Scopes
Noisy Code 🗣 With Kotlin Scopes

By Chetan Gupta

Scopes make your code more readable? think again... You are going to encounter these scope functions namely let, run, apply, also, within every Kotlin codebase, along with all the mischievous ways developers exploit their usage from the way they were intended for. Let see how popular opinion on those ends up just as a code noise.

By ProAndroidDev -
Android News
Improving Android DataBinding with Bindables library
Improving Android DataBinding with Bindables library

By Jaewoong Eum

DataBinding is one of the most important factors for MVVM architecture. The basic concept of DataBinding is to link the view and view model via observer patterns, properties, event callbacks, etc. Linking and automating communication between the view via the bound properties or something in the view model has a lot of benefits in the MVVM architecture concept.

By ProAndroidDev -
Android News
KMM QuickStart Guide
KMM QuickStart Guide

By Mayank Kharbanda

Kotlin Multiplatform (KMP) is a code-sharing technology that allows us to use the same code for different platforms whether it’s JVM, Android, iOS, watchOS, tvOS, Web, Desktop, or WebAssembly. In this article, we will use Kotlin Multiplatform Mobile (KMM) which is a subset of KMP with the focus on providing better tooling and support for sharing code on mobile platforms i.e. Android and iOS.

By ProAndroidDev -
droidcon News

Tech Showcases,

Developer Resources &

Partners

/portal/rest/jcr/repository/collaboration/Groups/spaces/droidcon_hq/Documents/public/home-details/EmployerBrandingHeader
EmployerBrandingHeader
https://jobs.droidcon.com/
/portal/rest/jcr/repository/collaboration/Groups/spaces/droidcon_hq/Documents/public/employerbranding/jobs-droidcon/jobs.droidcon.com
jobs.droidcon.com

Latest Android Jobs

http://www.kotlinweekly.net/
/portal/rest/jcr/repository/collaboration/Groups/spaces/droidcon_hq/Documents/public/employerbranding/kotlin-weekly/Kotlin Weekly
Kotlin Weekly

Your weekly dose of Kotlin

https://proandroiddev.com/
/portal/rest/jcr/repository/collaboration/Groups/spaces/droidcon_hq/Documents/public/employerbranding/pad/ProAndroidDev
ProAndroidDev

Android Tech Blogs, Case Studies and Step-by-Step Coding

/detail?content-id=/repository/collaboration/Groups/spaces/droidcon_hq/Documents/public/employerbranding/Zalando/Zalando
/portal/rest/jcr/repository/collaboration/Groups/spaces/droidcon_hq/Documents/public/employerbranding/Zalando/Zalando
Zalando

Meet one of Berlin's top employers

/detail?content-id=/repository/collaboration/Groups/spaces/droidcon_hq/Documents/public/employerbranding/Academy for App Success/Academy for App Success
/portal/rest/jcr/repository/collaboration/Groups/spaces/droidcon_hq/Documents/public/employerbranding/Academy for App Success/Academy for App Success
Academy for App Success

Google Play resources tailored for the global droidcon community

Follow us

Team droidcon

Get in touch with us

Write us an Email

 

 

Quicklinks

> Code of Conduct

> Terms and Conditions

> How to hold a conference

> FAQs

> Imprint

Droidcon is a registered trademark of Mobile Seasons GmbH Copyright © 2020. All rights reserved.

powered by Breakpoint One