Welcome to the 2018 3rd Quarter Mitrais newsletter!
In this issue we are featuring Inventorium in Mitrais’ success story, creating a revolutionary and vibrant education system for the 21st century.
As a software development company, we continuously meet and engage with clients from all backgrounds to develop and manage business relationships with remote software developers. Read out full insight on The Other Side of the Mirror – 6 Things Your Software Development Partner Needs to Remember.
At Mitrais we acknowledge the importance of meeting and exceeding our clients business objectives. To help achieve our own business objectives we continuously invest in our existing people. Get to know Rendi Akhmad, our Technology Evangelist and our featured employee for this quarter.
Lastly, get to know our developer perspective on white paper, developed to evaluate Google Flutter against native mobile development.
Rethinking Education for the 21st Century
So much has changed since the school days of the 1960s and 70s. In that time, education was very much a "push" model, where curricula were formulated on a one size fits all basis, and it was hoped that they would benefit at least most of the students.
After all, this is how education had been done for generations. However, in the 21st century there were signs that the traditional model was increasingly in need of reimagination. 1 in 4 teenagers are dropping out of high school in Australia because they are disengaged from school and learning, and there is a clear need for a curriculum that is fun, future focussed and develops lifelong learners with a sense of curiosity, while making an impact on the world by focussing students on learning through making a difference.
Enter a team of expert educators in South Australia led by the renowned Professor Eddie Blass, formerly Deputy Dean at the Faculty of Higher Education at Swinburn University. This group decided that they were spending too much time complaining that the current education system is broken and not fit for the 21st century, but doing nothing about it.
Hence, they jumped ship and got started creating the Inventorium!
Inventorium was conceived as an online curriculum for people aged 15 plus that develops their employability skills, while meeting various high school outcomes or university entry requirements through the provision of a student centred, applied learning, project-based learning journey.
The curriculum can be delivered in the classroom with a teacher, or remotely with a mentor, and is non-linear so the students can select what they need to learn or want to learn and in what order they choose. Essentially, the Inventorium is an education system for the 21st century and hence can be utilised in multiple ways by multiple groups for differing outcomes.
Creating such a revolutionary and vibrant learning environment was not without its technical challenges, though. While the Inventorium team were completely committed to this change in the educational paradigm, finding a software development partner who understood and shared the vision was problematic.
As Professor Blass said, “We were looking for programmers to put a lightly gamified front-end User Experience in place, and build the non-linear record keeping within the Learning Management System. We were finding it very difficult to find anyone who could do this at a reasonable cost, and who didn't want to change our agenda then we received an introductory email from Mitrais”.
Mitrais’ benefits by being a software development partner to Australian/New Zealand businesses large enough to provide a comprehensive range of resources, but small enough to engage closely with clients and listen to their needs. Combined with our team of highly skilled developers, Mitrais strives to go the extra mile to delight our clients.
So, how did it turn out? “Mitrais have absolutely delivered what we wanted, and found solutions to problems we didn't even anticipate arising” says Professor Blass.
Inventorium is up and running, enabling young people to make choices to create their own futures, by developing self-confidence, teamwork, employability, and entrepreneurial skills – and make a difference in the world.
6 Things Your Software Development Partner Needs to Remember
Now that the use of remote software development is becoming a standard strategy to enhance your software development capabilities, there is no shortage of helpful articles and papers on points that you need to bear in mind to maximise the benefits for you.
There are, no doubt, several key aspects involved in choosing, engaging with, and managing business relationships with your remote software developer, and addressing them will increase the likelihood of success.
But a successful partnership is a two-way street. As well as the checklist of desirable behaviours that you need to display, your partner also needs to be on-board, and have similar goals for their interactions with you.
This article reflects the situation from the point of view of your partner organisation. Your development partner should ideally have been in this business for decades, and have a well-developed set of standards and aspirations for how they would like to work with you to achieve a long-term, high-trust relationship with your company. You may be interested in what a development partner may expect from themselves in such a partnership with you.
One of the hallmarks of successful integration of remote software development into your organisation can be consistency and stability of the partner resources. There is a lot of work involved in on-boarding new development resources and getting them up to speed, and that can be wasted if there are high levels of churn at your partner’s end. A great question to ask when considering a software development partner is “Are your development resources your full-time permanent staff?"
Some development partners’ business models are to identify, employ and train new development resources for on-sale to clients. Others, though, take your requirements and go to market (in their local area) looking for contract candidates on your behalf. The latter model, though it might be a quick fix for you, means that long-term engagement of the same resources is often much more problematic than dealing with permanent staff.
If you opt for this arrangement, be prepared to conduct regular on-boarding as development resources come and go from your team. If you are looking for a longer-term remote software development capability, a partner who permanently employs staff is likely a better option.
2. Great communication
Maybe the most important key to a great long-term relationship is for your remote software development resources to maintain open and honest communication with you at all times. Like any good team, it is vital that all of the key players are always on the same page, and completely aware of the dynamics of the project at hand. Software development is an endeavour that is notorious for it’s fluid and changing nature.
It is natural that requirements, specifications and timelines can vary in response to internal and external factors, particularly where the development is occurring under an agile methodology. Things just don’t stay the same for long.
A good development partner will try to achieve the closest possible connection between your local team and your remote development resources. Weekly written reports to all stakeholders should be standard operating procedure, and they should offer regular stand-up meetings as another great strategy to keep everyone on the right track.
Good vendors are generally enthusiastic advocates of video and screen sharing software to support this communication. The bottom line is to avoid surprises! Good news should travel fast, but bad news should be faster.
3. Fast response
Part of ongoing project success is to maintain momentum and velocity within the team. Nothing destroys those attributes quicker than silence from either end of the engagement. Everyone needs to know what is happening at all times.
All parties love working with responsive teams who are active and engaged in making every project a success. Facilitation of real-time interaction between team members is a great way to make them an integrated unit.
However, your remote software development partner’s physical location can make this a challenge. Consider the time-zone in which your remote resources operate.
If there are hours of overlap each business day, your team members can be directly discussing project issues and happenings with each other at all times.
Quick questions and clarifications can be resolved quickly, allowing the project to maintain it’s momentum, and establishing personal connections between team members regardless of their location.
Changes to scope of timelines can be instantly conveyed to the entire team, ensuring that misunderstanding and confusion is minimised or eliminated.
4. Clear escalation path
Issues do happen, even in the best managed teams. The key to effective team management is not in these issues though, but in how they are addressed.
Your remote software development partner should have an experienced relationship manager assigned to you, and ideally have a nominated Technical Lead or Project Manager involved from their end as well.
By having clear and explicit lines of escalation in place from the outset at both ends of the partnership, FUD (Fear, Uncertainty and Doubt) can be minimised.
Again – clarity and certainty in the lines of responsibility are key.
5. Standards matter
When dealing with dynamic and evolving software solutions, it is vital that the resultant artefacts (including technical documentation and code) are produced in a manageable and maintainable fashion. Any developer (even one with no initial involvement with the project) must be able to go back to the project in months or years and quickly be able to interpret and understand it’s structure.
Your remote development resources need to conform to generally accepted industry standards in their products, and that should be their default position. Such standards are widely propagated through software vendors (Microsoft, Apple and others regularly publish recommended standards which development partners should usually adopt) or communities (similar standards exist by agreement for Open Source).
Many clients have their own well-established standards in place to ensure consistency of product throughout their applications. Where such standards exist (and do not conflict with industry standards), your partner should have no problem adopting them for work on your projects.
If there is any conflict, your partner should recommend changes, along with the reasons behind their recommendations. In this way, your internal processes can actually be enhanced by working with an experience development partner.
Some development clients just need “arms and legs” capacity to get things done. Many, though, are interested in their remote development resources’ advice and suggestions regarding their products.
This makes sense because even a modest-sized remote development team may have many years of combined experience with a variety of projects, and leveraging that experience can be advantageous.
Your remote resources may well come up with suggestions and insights that improve the useability of your product, or the strategy for it’s development. Take advantage of this.
Google Flutter Comparison with Native Mobile Development
This white paper was originally developed to evaluate Google Flutter (a Google mobile UI framework for developing high-quality native interfaces on IOS and Android in record time.) against native mobile development (e.g. Android and IOS Swift).
We decided to publish this evaluation to provide an early overview of Google Flutter for the prospective client(s) that might be interested and internal documentation.
In this week’s newsletter edition, we are featuring Rendi one of Mitrais’ Technology Evangelists. Some of you may know him from his work around the office, but in this article, we would like to shed light on the man behind the machines.
Rendi was born and raised in Surabaya, spending some of his childhood in Samarinda East Kalimantan before returning to the land of his birth where he graduated from Sepuluh Nopember Institute of Technology, majoring in Informatics Engineering.
His interest in IT was sparked by his father, who like him was a computer programmer, Rendi said “He had many interesting books that I really liked to read after school. After that I joined the programming community with my friend who shared a similar passion. I already knew I liked programming from Junior High school, even before GUI tools and Windows became popular”.
As a Technology Evangelist Rendi’s main tasks consist of, interacting with clients and their stakeholders to design software architecture based on their requirements, analysing complex technical problems involving multiple systems to provide recommendations/solutions to solve them, and of course keeping up to date with the latest technology to provide recommendations for clients and Mitrais to implement into their organisations.
Like most people in the technology industry Rendi enjoys spending his free time reading books and playing video games, his favourite genres being RPG (Role Playing Games) and RTS (Real Time Strategy).
Rendi’s motivation and success can be attributed to his can-do mentality inspired by great minds, his favourite quote being “Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time (Thomas A. Edison)”.