Software Development Archives - Synthesis Specialized Software Development Mon, 18 Nov 2024 14:51:47 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.1 https://www.synthesis.co.za/wp-content/uploads/2020/03/cropped-favicon-2-1-32x32.png Software Development Archives - Synthesis 32 32 If AI is set to transform businesses, then why are so many failing to succeed with it? https://www.synthesis.co.za/if-ai-is-set-to-transform-businesses-then-why-are-so-many-failing-to-succeed-with-it/ Mon, 18 Nov 2024 14:51:41 +0000 https://www.synthesis.co.za/?p=20978 Generative AI has entered the spotlight as one of the most exciting technological developments. But two questions arise. Firstly, when companies, like AWS and Synthesis Software Technologies, have been using it for years then why is the excitement only brewing now? Secondly, why are so many businesses failing to implement it successfully? This was the […]

The post If AI is set to transform businesses, then why are so many failing to succeed with it? appeared first on Synthesis.

]]>
Generative AI has entered the spotlight as one of the most exciting technological developments. But two questions arise. Firstly, when companies, like AWS and Synthesis Software Technologies, have been using it for years then why is the excitement only brewing now? Secondly, why are so many businesses failing to implement it successfully?

This was the conversation on an episode of Synthesis TV where Chris Erasmus from Amazon Web Services (AWS) South Africa and Paul Spagnoletti from Synthesis Software Technologies share their insider insights.

The Rise of AI Awe

From its recommendation engine to Alexa, Amazon has been successfully implementing AI for over 25 years. And this success has been a key factor driving the company’s renowned leadership across markets.

Spagnoletti explains how Synthesis has been using it to enhance its customers’ efficiency for years from fraud detection to email routing.

What has caused the global awareness, hype, and a step change according to Erasmus is that this technology is now in the hands of consumers. It has become democratised at pace.

“In terms of the evolution of humanity, many people think of the internet as the “big thing,” explains Spagnoletti, “but it’s not. It’s going to be AI and most importantly, it’s going to be the way we handle AI that we will be known for in generations to come. That is where the excitement lies. And, of course, without the internet and the cloud, AI would not have been put into the palm of our hands. Technologies like the internet, cloud, and data intelligence are all very big pieces of this incredible puzzle that we’re playing with, enabling everyone to experience AI.”

Business Breakdown

But why are so many businesses experiencing a breakdown and not business build-up when it comes to using AI?

“Because not everyone is taking the step back and actually thinking about the data and their data strategy and having that house in order to take real advantage of AI. That’s the biggest contributor to AI success,” explains Erasmus.

Spagnoletti explains that his customers’ first request is to use AI to leapfrog their business. But this is often where the mistakes come in. Businesses want to jump into AI without the fundamentals in place and without understanding the most relevant use cases for their businesses. Explaining this creates the “penny-drop moment.”

“We get so caught up in the passion around the technology that we go for the big shiny thing when actually some of the work that that AWS have done within Amazon itself, around the supply chain for example, that’s not the big shiny thing but the value to the business is profound. It’s almost hidden and nobody really talks about that. We get caught in the hype and not the value that can be built with AI anywhere from overlooked processes to boring administration. Value can live anywhere,” says Spagnoletti.

The AI Advantage

For successful businesses, Generative AI is already being used to create smarter, more personalised customer experiences, streamline internal operations, and even drive new business models. In many ways, AI represents the next frontier for these businesses.

Their recipe for success, according to the discussion on Synthesis TV, lies in their implementing the fundamentals and moving from there.

They start with an understanding of the underlying data fabric. They assess its accuracy, determine its location, and strategise how to leverage it effectively.

They understand where they want to go, and what they want to achieve and plan a clear route forward taking progressive steps over massive manoeuvres. Success is about the business value and not about the technology itself. Successful projects are purpose-driven.

Security is ground zero and they ensure data safety before launching any solutions. This includes foundational details from understanding where their data sits and how secure it is.

Lastly, most of these businesses have migrated to the cloud because it makes implementing AI cheaper, faster, and more effective.

Cloud Cadence

AI has been a driving factor around cloud cadence. Businesses once asked: “Should we move to the cloud?” Today the question has shifted to “How do we move to the cloud most effectively?”

However, businesses that “lift and shift” into the cloud miss the opportunity to access AI. Businesses are increasingly recognising that they must refactor and optimise their systems to fully unlock the cloud’s potential and the AI advantages that it enables. “Our customers understand that success means modernising and optimising the cloud. A recent customer wanted to lift and shift 60% of their estate only to come back to us and ask to optimise it completely. They want to leverage the cloud fully to shift the needle and access innovation,” says Spagnoletti.

However, migrating to the cloud is not simple. Many companies face significant challenges balancing legacy processes with the demands of modern cloud solutions. Businesses that haven’t fully transitioned are often caught in a state of “paralysis by analysis,” hesitating to move forward due to their fear of failure.

To force themselves into the new world of cloud, some companies are opting for a lift and shift as a stepping stone.

However, getting the technical aspects of the cloud right is not the only challenge. Cultural resistance often presents an even bigger obstacle. Legacy businesses may struggle with outdated principles and processes that slow down their adoption of newer technologies. The real challenge isn’t just moving to the cloud—it’s educating all relevant employees, gaining approval, and making the most of cloud infrastructure once there.

Engaging the Experts

Overcoming these challenges is where AWS and Synthesis play a critical role. They offer expertise not just in cloud infrastructure but also in optimising cloud adoption so businesses can thrive with AI and implement AI innovations successfully.

Synthesis, with its roots in software development rather than infrastructure, has taken a unique approach to cloud adoption. Unlike traditional infrastructure players who were forced to adapt to the rise of cloud computing, Synthesis embraced cloud technologies from a development perspective, recognising that putting code on servers wasn’t enough. AWS, with its flexibility, scalability, and constant innovation, became its platform of choice, allowing Synthesis to extend the value of its software for its clients.

“As AWS’s first Advanced Partner in Africa, and now 1 of 2 AWS Premier Partners in Africa, Synthesis has been instrumental in helping companies not only migrate but also fully leverage cloud-native features to shift the needle in their business operations.

We have spent over a decade investing in competencies and being at the forefront because we know what the cloud can achieve for businesses. Today, by combining our cloud skills and data, security, and AI expertise, we are proud to work hand in hand with AWS to ensure our customers are an AI success story and not another failed business” explains Spagnoletti.

The awe surrounding AI is apt and with the right expertise, foundations, technologies, and clear directions, certain businesses will be guaranteed radically transformative outcomes. The stage is set. It is now up to the players to own the show.

The post If AI is set to transform businesses, then why are so many failing to succeed with it? appeared first on Synthesis.

]]>
Unveiling the Code: Why Developers Must Crack the Domain https://www.synthesis.co.za/unveiling-the-code-why-developers-must-crack-the-domain/ Thu, 11 Jul 2024 17:48:15 +0000 https://www.synthesis.co.za/unleashing-economic-potential-the-soaring-growth-of-cross-border-payments-in-africa-2/ In a recent session with Nicholas Driver, Senior Engineer at Synthesis, his words resonated deeply: “It is important for developers to understand the domain.” This sparked my curiosity and led me to delve deeper into the significance of domain mastery in software technology. Nick highlighted the pivotal role of Sprint 0 in successful product implementation, […]

The post Unveiling the Code: Why Developers Must Crack the Domain appeared first on Synthesis.

]]>
In a recent session with Nicholas Driver, Senior Engineer at Synthesis, his words resonated deeply: “It is important for developers to understand the domain.” This sparked my curiosity and led me to delve deeper into the significance of domain mastery in software technology.

Nick highlighted the pivotal role of Sprint 0 in successful product implementation, emphasising that it is not just for discovery but also a comprehensive exploration of the domain at hand. He stressed that developers must grasp the client’s revenue streams to maximise client success. Understanding how their product impacts the bottom line allows developers to refine their work for increased returns, aligning software development efforts with revenue optimisation goals.

In a recent project implementation, the team’s decision to incorporate domain knowledge understanding was a game changer, taking their effort to new levels of success.

Developers must grasp the fundamentals of the domain to truly understand what they are building. Acquiring domain knowledge allows developers to communicate more effectively with business stakeholders and analysts. Not siloing the development process allows more brains to be put into the overall discussion, which could allow for unique insights.

The client-consultant relationship is not a zero-sum game. The product can and should be greater than the sum of its parts. Fostering collaboration across the team and with the client ensures a better working relationship, which is likely to lead to repeat engagements. There is an added benefit in not leaving the responsibility in the hands of senior and lead developers, giving them time to work on aspects other team members are not able to tackle. Additionally, there is increased peace of mind at the higher levels, allowing the rest of the team to flourish.

In an agile environment where “working software over documentation” is the mantra, finding the right approach to ensure domain understanding is essential. Agile offers flexibility and adaptability, but teams must embark on a journey of discovery to tailor their approach to their unique needs and challenges.

One approach is “meeting in the middle,” which emphasises finding common ground and leveraging the team’s collective expertise. This fosters a flat organisational structure where all team members’ contributions are valued.

Developers should also be encouraged to explain their thought processes and decisions, promoting a culture of open communication and collaboration. Additionally, requiring everyone on the development team to lead discussions on solutions ensures everyone understands the purpose and rationale behind decisions, avoiding misunderstandings and keeping the team aligned. It is crucial that team members do not know beforehand what solutions they will take the lead on, as they will have to deal with the whole system at all times.

Fostering domain understanding among all team members reduces reliance on specific individuals and promotes a flat organisational structure where everyone’s contributions are valued. Key-man dependencies are often the bane of a project’s continued success. With a flat structure and an engaged team, the likelihood of key-man dependencies being created is vastly reduced.

The lead’s role is crucial in ensuring the team understands the domain. Strong emotional intelligence (EQ) is required to identify which team members understand the requirements. Initial internal development alignment sessions should be held so that team members have a safe space without the client to ask questions and solidify understanding.

With domain knowledge and an understanding of the business requirements, developers can write code with relevant comments. The ability to include why things are done a specific way and what the real-life implications of functionality are leads to shorter development time when existing code must be tackled by another developer. This, in turn, allows for a shorter and more comprehensive handover in case the initial team leaves a project.

Speaking at the World Government Summit in Dubai, Nvidia CRO Jensen Huang said, “Over the course of the last 10 to 15 years almost everybody who sits on a stage like this would tell you it is vital that your children learn computer science and everybody should learn how to program where in fact it’s almost exactly the opposite”. With the rapid advancement of AI, the divide between developers and those not trained in the discipline has all but evaporated. 

The role of engineers has evolved significantly over the years, transitioning from being mere “code monkeys” to becoming critical thinkers and problem solvers integral to the success of any project or organisation.  In his blog post, Jared Toporek highlights a key insight: “The real problems are usually centred around what the software is supposed to do” ( Stackoverflow, 2023).

Software development involves a deep exploration of the problem domain, often requiring collaboration between stakeholders, developers, and users to ensure that the software meets the intended goals.

This shift reflects a broader change in the perception of engineering as a discipline and the recognition of the multifaceted skills and expertise that engineers bring to the table.

In conclusion, domain mastery is a secret weapon for developer success. It allows developers to align their efforts with client goals, improve problem-solving abilities, and contribute meaningfully to the team. In a rapidly evolving landscape where AI and automation are changing industries, developers who understand the domain are far less likely to be replaced; they are indispensable assets driving innovation and success.

Authors: 

Tracy-Lee Kotze, Senior Solutionist, and Nicholas Driver, Senior Software Engineer at Synthesis. 

The post Unveiling the Code: Why Developers Must Crack the Domain appeared first on Synthesis.

]]>
A Focused Horse Wins – Congratulations Synthesis! https://www.synthesis.co.za/a-focused-horse-wins-congratulations-synthesis/ Fri, 17 May 2024 07:47:09 +0000 https://www.synthesis.co.za/?p=18715 I heard a story about a man who bought himself a very expensive thoroughbred horse. In the version that I was told, the owner wanted to use it for breeding purposes. The motivation aside, it was clear that the cost was more than he should have spent on any one item, and so he became […]

The post A Focused Horse Wins – Congratulations Synthesis! appeared first on Synthesis.

]]>
I heard a story about a man who bought himself a very expensive thoroughbred horse. In the version that I was told, the owner wanted to use it for breeding purposes. The motivation aside, it was clear that the cost was more than he should have spent on any one item, and so he became very concerned about its safety.

To protect the asset, and I assume for his own anxiety, the owner had a high security stable constructed. And it did give him some peace. At least for a while. Until his anxiety escalated and he became concerned that the stable was not enough. And so, he decided to hire a security guard to be there at night when the owner could not be. 

Word on the stable street, however, is that sometimes security guards get tired and fall asleep, which the owner knew would defeat the purpose. And which is why when interviewing the prospective employee, the owner mentioned this concern and asked each potential guard to explain what he did to prevent this from happening. One man provided him with an answer that he felt comfortable with:

“You don’t need to worry because I have a trick that keeps me awake throughout the night What I do is to think of some deep and perplexing questions and ponder them through the night. That keeps me engaged and unable to sleep.”

When asked for an example the security guard provided two. “Last night I contemplated where the wall goes when we drill into it? And, what happens to the hole of the bagel when we eat around it?”

Impressed at the unconventional technique (perhaps more than the standard of the questions), the man was hired for the job of guarding the racehorse through the night.

We know of course that this was really about the owner’s anxiety, which resulted in him being able to sleep peacefully for a night or two. But then as it happens (with this type of untreated ailment), he once again began to worry. Perhaps, he thought, the man had run out of questions and had fallen asleep.

Which is why, in the deep of the night, he got into his car and drove all the way out to the stable in to check up on his employee. When he got to the stable, he was relieved to find he was awake and deep in contemplation. “I am so relieved,” he said,” I was worried you had fallen asleep. Tell me, “He said, really because he needed to make conversation, “what question are you pondering tonight?”

The security guard scratched his chin, turned to him, and said, “I was wondering how it is possible, that with a high security stable and an awake guard, someone would still be able to steal the racehorse?”

Whereas it is highly unlikely that the story ever happened, it does serve to provide us with a few questions of our own. And ones that we should ponder. Especially those of us who live in the business technology world. Because we love “tech” and because we are drawn to innovation, we might be at risk for focusing on areas that might be interesting and forward-thinking, but not on areas that are needed by the business. And while we do that, we not only place our “racehorse” at risk, but we provide our competitors with the opportunity to move ahead of us. Time and focus have a significant cost, not only in terms of the traditional business expenses but also because of opportunity lost and because of incorrect focus and direction. 

This is where Synthesis Software Technologies strives to be different. Where we might love technology and where we might get very excited by innovation, our teams have been trained to ask questions that relate to the business even before engaging in the technology itself. 

The focus on asking the “right questions” is what has built trust with our customers, and which has resulted in Synthesis achieving several awards and recognitions in the past year. The My Broadband survey is one that we are particularly proud of as it recognized that Synthesis was the preferred software development company in South Africa for large business projects based on a survey of over 1,500 IT executives.

More recently, Synthesis also claimed the Intelligent Software Partner award at the recent Intelligent ICT Awards Africa. Another nod to their customer focussed approach. 

Technology companies have a responsibility to their customers. They owe it to them to not sell “tech for the sake of tech” and to assist them to ask the right questions and not focus on the irrelevant. Only by doing so we will see the potential of that thoroughbred stallion that is trained and waiting to get into the race.  

The post A Focused Horse Wins – Congratulations Synthesis! appeared first on Synthesis.

]]>
In Code We Trust, In Humanity We Thrive https://www.synthesis.co.za/in-code-we-trust-in-humanity-we-thrive/ Mon, 15 Apr 2024 12:25:29 +0000 https://www.synthesis.co.za/synthesis-award-winning-gen-ai-solutions-take-centre-stage-with-aws-2/ Project success hinges on many factors, but the human element of development teams should not be overlooked. While the team primarily delivers code, software systems and intricate system architectures, the journey to project success can be streamlined by prioritising the soft skills and relationships amongst developers – your fellow warriors in the trenches. With the […]

The post In Code We Trust, In Humanity We Thrive appeared first on Synthesis.

]]>

Project success hinges on many factors, but the human element of development teams should not be overlooked. While the team primarily delivers code, software systems and intricate system architectures, the journey to project success can be streamlined by prioritising the soft skills and relationships amongst developers – your fellow warriors in the trenches. With the right foundations, unbreakable bonds are formed that are worth striving for, ensuring a more cohesive and productive team.

“I have gained valuable experience through years of experience, collaborating with diverse clients and enterprises, and working within several development teams. The insights within this article stem from operating in both Technical Lead and Sales Engineering roles,” says Gabriel Eisenberg, Senior Data Engineer at Synthesis Software Technologies.

Leadership goes beyond titles

Regardless of the role, be it a Technical Lead or Developer, everyone can lead by taking ownership of their domain and contributing to the project’s success. Taking on responsibility goes a long way and empowers everyone. In my experience, I’ve seen that fostering a culture where everyone embraces ownership and actively contributes not only enhances individual growth but also strengthens the collaborative fabric of the entire team.

Be on the same page

Teams perform best when communication is frequent, and individuals lean on each other for help. As my friend Lara Timm pointed out, although communication is critical, comprehension is what will ensure that the team is truly on the same page. While meetings are a wonderful way to bring the team together, it is worth taking the time to ensure that the team is aligned in these sessions. This simple act can save a lot of time over the duration of a project and can prevent large scale changes.

Often, people can be shy to speak up in meetings when they don’t understand what is expected of them. Hopefully, they will ask for clarification in private. I have found that encouraging questions in a supportive environment, while still being patient, can encourage more introverted types to open up and contribute their valuable opinions in a group setting.

Asking for help is a strength

Engaging with the team throughout the day is fantastic for alignment and ongoing communication. It also encourages asking for help when necessary. Willingly seeking aid recognises the team’s eagerness to help and foster collaboration for more effective problem-solving than solo efforts.

Asking for help is critical when consulting across industries and enterprises, as you will be exposed to numerous technologies which can be overwhelming. You cannot possibly know every technology and its nuances as there is a massive scope of technologies that is ever-increasing. Matt Turck’s 2023 MAD (Machine Learning, Artificial Intelligence & Data) Landscape shows the sheer scale of available technologies.

By asking for clarification or assistance from a knowledgeable teammate, the time to understand and implement a solution can be shortened drastically. There is humility in asking for help and doing so helps build relationships with the team. Hopefully, by getting help, one can empower others too.

Turning to project managers for aid

Not all members of the team are technical, but their contributions are just as valuable. Such roles include project managers, product owners, business analysts and others.

Project managers play a crucial role as intermediaries between the business and the development team, adeptly navigating the inherent human challenges in projects. Leveraging their people and administrative skills, project managers ease project progression by addressing obstacles and streamlining communication channels. For example, they can advocate for the team when developers may struggle to present their work or need to engage with business or client stakeholders, alleviating these burdens and allowing developers to focus on their core tasks.

Despite the more subtle nature of their impact, project managers are instrumental in ensuring project success and should be leaned on by developers. Their involvement is critical to supporting project alignment with budget, schedule, and scope.

Own up to mistakes early

Mistakes must be raised early. The sooner this is done, the quicker the team can join and manage the problem. This is especially important if it is a large-scale problem with far-reaching impact.

The reality of development work is that there will always be problems and mistakes that happen – even in the most established companies. We have seen examples of this at Meta (Facebook, Instagram, and WhatsApp), GitHub, GitLab, and many others.

While there might be frustrations from the team when mistakes happen, if they are not raised as they occur, they could compound into greater challenges.

Mentorship

One of the most meaningful things I have done in my career is mentoring juniors technically and in terms of their conduct in the workplace. As we’ve already discussed, this field can be overwhelming, particularly for someone new to it. Through mentorship, juniors can accelerate from an uncertain start to more stable productivity and growth.

In my opinion, technical mentorship is best conducted within a project. Not only will the senior have context of the junior’s challenges but also their day-to-day experiences. By investing time into their growth, the mentee will feel more comfortable. In turn, they will also be able to take on greater responsibility for the project which can ease the load across the team. Additionally, by taking the time to engage with your juniors (or really anyone in the team) you can notice their gaps which might be surprising. 

For example, I was working on the development of an enterprise scale data platform with a highly skilled team. One of our teammates was a graduate student who had studied Actuarial Science and through conversation with him, I realised that he did not have foundational systems thinking. Systems thinking is emphasised throughout engineering studies and is critical to understand technical architectures and the flow of data throughout the various systems. 

Without this core skill, he found it challenging to understand how the various pieces of the overarching architecture fit together. We took the time to delve into systems thinking and to his credit, he picked it up very quickly. To this day I support that he is one of the most intelligent and gifted people I have ever met, and my hope is that the time I took to address some of his gaps will allow him to take on greater challenges and accelerate his growth, skills and achievements over time.

Cameras on

In this era of remote working, many individuals opt to keep their cameras off, leading to a loss of crucial non-verbal communication cues such as body language and facial expressions. This absence of visual feedback significantly affects our ability to understand others’ thoughts and reactions.

Consider a scenario where you’re presenting to a client, and a comment provokes a bristling reaction. If cameras are switched off, this crucial non-verbal feedback will be missed and if the client chooses to say nothing, there’s a risk of a worsened relationship and assumptions may be made. Conversely, having cameras on allows for the prompt identification and addressal of such reactions, effectively handling any concerns that may arise.

Moreover, maintaining camera visibility encourages others to follow suit, facilitating a more connected and engaged virtual environment. This practice proves beneficial not only with clients but also with the development team. As Gabriel explains, “I always keep my camera on, even if I am the only one to do so.”

Give credit where it is due

It’s essential to acknowledge the efforts of the team’s great work and the impact they’ve had. When discussing features or problem-solving approaches that the team has implemented, it’s crucial to give credit to those who contributed to these solutions. This is especially important for team leaders. By recognising the efforts of the team, cohesion is strengthened, and team members feel valued for their contributions.

Gabriel concludes by saying, “We can never escape the human element, but cultivating stronger relationships and maintaining clear communication enables more effective management of the unpredictable aspects of projects, allowing us to devote greater attention to the technologies we enjoy”.

The post In Code We Trust, In Humanity We Thrive appeared first on Synthesis.

]]>
The Future is Agile https://www.synthesis.co.za/the-future-is-agile/ https://www.synthesis.co.za/the-future-is-agile/#respond Tue, 26 Apr 2022 17:32:33 +0000 https://www.synthesis.co.za/the-most-foolish-technology-predictions-and-can-we-avoid-them/ By Daniel Sinek, Synthesis Marketing Intern Business is dynamic. Fortune 500 companies are successful because they can adapt responsively. One savvy way to join their ranks is by using an Agile methodology. The Agile methodology is a cyclical process that is best suited for dynamic business environments that evolve. Agile refers to an organisations’ ability […]

The post The Future is Agile appeared first on Synthesis.

]]>
By Daniel Sinek, Synthesis Marketing Intern

Business is dynamic. Fortune 500 companies are successful because they can adapt responsively. One savvy way to join their ranks is by using an Agile methodology.

The Agile methodology is a cyclical process that is best suited for dynamic business environments that evolve. Agile refers to an organisations’ ability to adapt to situations by allocating the necessary internal resources as they are required, organisations can overcome any challenges in real-time. Agile is not something that can simply be taught and applied – it requires the synchronisation of thinking, resources, ability and approach.

If an organisation wants to operate Agile, they need to think agile and commit to the process. By embarking on an agile journey, there are several inherent benefits that may aid your organisation but first, let us start with why you should use Agile.

The |why|

Agile enables organisations to empower their employees to think abstractly, be creative, and enhance value by overcoming challenges through enhanced internal efficiencies. By empowering your employees with the ability to act swiftly, your organisation will be able to go to market quicker and continuously improve the value for customers.

By using the organisation’s why as a starting point, operations can be fulfilled to aid the achievement of the organisational vision. There are several inherent benefits of Agile.

The first benefit arises through the utilisation of an agile approach in conjunction with technology. This combination speeds up the provision of value to customers.

Secondly, instead of using the generic waterfall approach that requires copious amounts of planning – Agile shortens the planning time and prioritises the creation of value-enriched software. Any issues with software that are identified after deployment when using waterfall methodologies will be pushed forward into phase two to avoid scope creep. However, Agile allows the organisation to identify these issues as they go along, and simultaneously fix them. This translates into highly-valuable, working software.

While minimising delays and adopting an agile approach – organisations can spend more time creating and optimising as opposed to planning.

The |how|

To start Agile, it is important to understand that Agile is a set of beliefs that guide decision making within an organisation to ensure the delivery of optimal value for customers. By using a set of principles and values to loosely guide decision-making within an organisation – the value creation can be much greater.

We use Agile at Synthesis because it is optimal for software development. Agile allows us to deploy, test and optimise software to ensure value for our clients and optimal customer satisfaction. Good software can last forever and therefore, we troubleshoot as we go along which ensures our clients a minimal viable product (MVP) that can be updated as feedback is received. This provides our customers with a competitive advantage as they are enabled to be first to market, and simultaneously provide their customers with high-value products. Agile also enables organisations to be faster with the provision of a proof of concept.

When starting with Agile, do not try and transform your entire business, its processes and/or systems. Start where you are and iterate.

Identify pain points and work to transform them one at a time. Identify what works, and apply those learning elsewhere. Business is dynamic, and Agile is the future.

The post The Future is Agile appeared first on Synthesis.

]]>
https://www.synthesis.co.za/the-future-is-agile/feed/ 0
The most foolish technology predictions and can we avoid them? https://www.synthesis.co.za/the-most-foolish-technology-predictions/ https://www.synthesis.co.za/the-most-foolish-technology-predictions/#respond Fri, 01 Apr 2022 17:06:00 +0000 https://www.synthesis.co.za/10-years-of-reinvent/ The most foolish technology predictions and can we avoid them? By Kim Furman, Synthesis Marketing Manager If the quintessential experts get their predictions wrong, how can anyone else hope to get them right? Covid-19 has taught us to shy away from predictions – the future is an uncertain landscape. Yet some areas allow for more […]

The post The most foolish technology predictions and can we avoid them? appeared first on Synthesis.

]]>
The most foolish technology predictions and can we avoid them?

By Kim Furman, Synthesis Marketing Manager

If the quintessential experts get their predictions wrong, how can anyone else hope to get them right?

Covid-19 has taught us to shy away from predictions – the future is an uncertain landscape. Yet some areas allow for more accurate predictions. Examples of this are data-rich fields such as baseball and the career development of its players.

Technology, especially emerging technology which lacks past data, does not fit into the realm of easy predictions. Hence the examples below. However, for those with an eye and an understanding of the probability for an emerging technology to succeed, lies great opportunity.

Here are just six examples where the experts failed:

  1. “I think there is a world market for maybe five computers.” – Thomas J Watson, IBM Chairman (1943)
  2. “Television won’t be able to hold on to any market it captures after the first six months. People will soon get tired of staring at a plywood box every night.” – Darryl Zanuck, Executive 20th Century Fox (1946)
  3. “The idea of a personal communicator in every pocket is nothing more than a pipe-dream fuelled by greed.” – Andy Grove, Intel CEO (1992)
  4. “The internet will fade away because most people have nothing to say to each other. By 2005 it will be clear that the internet’s impact on the global economy has been no greater than the fax machine.” – Paul Krugman, renowned Economist, (1998)
  5. “The subscription model of buying music is bankrupt. I think you could make available the Second Coming in a subscription model, and it might not be successful.” – Steve Jobs, Apple CEO (2003)
  6. “Two years from now, spam will be solved.” – Bill Gates, Microsoft Founder (2004)

I often wonder at the context of which many of these quotes were taken given how wrong they are. Nevertheless, looking at these quotes some interesting insights can be found.

Underestimating

The owners of these words drastically underestimated the technology. “I think what is peculiar about technology predictions is that we usually underestimate. While other predictions usually exaggerate, technology usually over performs and surprises. Because technology is fundamentally a novel thing, it creates new things that are hard, probably impossible to predict,” explains Tjaard du Plessis, Synthesis Head of Digital & Emerging Technology.

Lack of insight into human behaviour

Krugman felt the internet would fade away “because most people have nothing to say to each other.” The problem here is not merely lack of understanding about the product but about people. Social media has proved that humankind has plenty to say, sing, dance, meme and everything in between. Understanding behavioural science – why people do what they do – is essential. Connection and bonding are key drivers of human behaviour. As Aristotle put it – “Man is by nature a social animal.” Predications that don’t take into account the drivers of human behaviour and the desires of the market are more likely to fail.

Overconfidence

Another lesson comes from Steve Jobs who doubted the demand for his own innovation. According to Nate Silver who wrote the book “The Signal and the Noise: Why So Many Predictions Fail–but Some Don’t”, overconfidence is a poor sign of successful predictions.

“Most predictions fail, often at great cost to society, because most of us have a poor understanding of probability and uncertainty. Both experts and laypeople mistake more confident predictions for more accurate ones. But overconfidence is often the reason for failure. If our appreciation of uncertainty improves, our predictions can get better too. This is the “prediction paradox”: The more humility we have about our ability to make predictions, the more successful we can be in planning for the future.”

Should we never predict, endeavour or invest for the fear of looking foolish?

Tom Wells, Synthesis Chief Disruption Officer shares this advice: “It’s okay to be a fool nine out of ten times if it means that one time you will be correct. Explore as many stupid ideas are possible – one of them is bound to be good – even if everyone else thinks they are pointless.”

There is no absolute formula for not looking foolish when predicting the future of technology. The future is uncertain but the more times you endeavour (the extent of which depends on risk appetite), the greater your likelihood for success.

The post The most foolish technology predictions and can we avoid them? appeared first on Synthesis.

]]>
https://www.synthesis.co.za/the-most-foolish-technology-predictions/feed/ 0
Agile Software Architecture – Becoming Super Agile https://www.synthesis.co.za/agile-software-architecture-super-agile/ https://www.synthesis.co.za/agile-software-architecture-super-agile/#respond Tue, 30 Aug 2016 09:14:25 +0000 https://www.synthesis.co.za/?p=729 You’ve adopted Agile? Great! Over the last few years, there has been a huge movement from the sequential Waterfall process towards a more flexible Agile approach. The question is: Has your software architecture followed suit? The “agile” in software architecture has similar connotations to the “agile” in Agile methodology meaning it can respond quickly to […]

The post Agile Software Architecture – Becoming Super Agile appeared first on Synthesis.

]]>
You’ve adopted Agile? Great! Over the last few years, there has been a huge movement from the sequential Waterfall process towards a more flexible Agile approach. The question is: Has your software architecture followed suit?

The “agile” in software architecture has similar connotations to the “agile” in Agile methodology meaning it can respond quickly to change, adapt to new requirements, reduce overheads, be iterated and released frequently etc.

To be truly adaptive to change, both the process and architecture need to be able to work in synergy.

Agile Team vs Monolithic Application

Even though a team has adopted an Agile methodology, large-scale applications are still often constructed using a monolithic, tightly-coupled architecture. The problems with such an application are:

  • They are difficult to scale.
  • Changes are woven together, leading to the so-called “Big Ball of Mud” anti-pattern – a term popularised in a paper written by Brian Foote and Joseph Yode in 1997.
  • Refactoring is avoided in fear of breaking related code.
  • Over time, as the codebase grows, it becomes harder and harder to maintain and eventually has to be rewritten in its entirety.

Clearly, the disconnect between process and architecture makes the long-term benefits of Agile harder to realise.

It’s hard to be “agile” when working with a “Big Ball of Mud”

Aligning Process and Architecture – Decouple Everything

So how does one avoid the “Big Ball of Mud”?  By breaking up a monolithic application into discrete components / services, it becomes much more suitable to an Agile delivery mindset, since:

  • Components are built to serve a single purpose and do it well.
  • They are technology independent: teams can choose the language, tools or frameworks of preference.
  • They can be built, modified and tested in isolation.
  • New components or services can be added and scaled if needed.
  • Refactoring becomes a whole lot easier i.e. smaller component can more easily be rewritten or replaced.
  • Organisations can be broken up into smaller teams focusing on different areas of the application.

These principles can be applied at any level of the application including UI, back-end and deployment.

The Future of Agile Architecture

The latest modern standards, tools and frameworks are helping to drive the move towards agile architectures.  UI with Web Components, back-end with Micro-Services, and deployment with the help of the Cloud and Containers.

Web Components

These are a set of features currently being added by the World Wide Web Consortium (W3C) that allow the developer to create their own reusable, encapsulated HTML elements.  Full browser support is not quite there yet, but modern UI frameworks such as Angular 2 and React allow one to use a component-based web architecture today.

Micro-Services

This “buzzword” has recently gathered much attention, but basically refers to many smaller minimal function services that can interact together to achieve a common business use-case. They are independent in terms of their scalability, failures and deployment. State is externalized and communication between components is performed via defined interfaces and RESTful APIs.

The Cloud and Containers

Gone are the days of spending time provisioning expensive, highly-spec’d servers for running an application.  Software containers, such as Docker, guarantee that an application will run the same regardless of the environment.  Combining containers, the Cloud and Micro-Services also enables the infrastructure to grow or shrink based on demand.  This brings along huge benefits for cost saving and scalability.

More can be said about each of these, but there’s no doubt in my mind that Web Components, Micro-Services, the Cloud and Containers will change the way that we construct applications – and they have begun to do so already.

Challenges

Adopting a decoupled architecture is not without its challenges:

  • It can require additional development time and needs management buy-in.
  • Introduces additional complexity at the infrastructure level.
  • Testing, logging, security, monitoring and performance need to be carefully designed both across isolated components or services as well as when combined as a whole.

The Age of Super Agile

By aligning process and architecture, and avoiding the “Big Ball of Mud”, hopefully software teams can make the move from not just being Agile…but Super Agile.

Super Agile

By: Chad Epstein, Synthesis Software Technologies

The post Agile Software Architecture – Becoming Super Agile appeared first on Synthesis.

]]>
https://www.synthesis.co.za/agile-software-architecture-super-agile/feed/ 0