...

But how can you tell one potential partner from another? Here are some key questions to ask during the selection process:

How do you know you can trust them?

Nothing matters more than this. If you have any doubts whatsoever, walk away. A good first step towards finding a reliable partner is to seek recommendations, demand references, and ask their customers questions like: What are they like to work with? Have they delivered the right outcomes for you? How have they dealt with problems? How collaborative are they?

How good are their technical skills really?

Every potential partner will tell you that they have amazing technical skills. Really, really talented people. The best in the industry. But how do you know how good they are in reality? It’s important to talk to the technical leadership to see if they genuinely understand your technology and what good looks like. It can also be worth interviewing the people who’d be working in your team. 

Do they understand how to build secure systems?

Today, all systems need to be secure – and by using tooling as part of the build process, teams can ensure security is embedded throughout the development process. So, are all the people in your partner’s team security aware? And are they given appropriate training on the subject?

Are they focused on delivering value?

Too many near-shore teams will prioritise billable hours over delivering genuine value to their clients. However, for both you and your potential partner, value – rather than actual cost – should be top of mind. In particular, going with the cheapest option might not always result in the best value for your organisation. If your partner doesn’t have the right technical or collaborative skills, for example, poor outputs and delays could end up costing you dear in the long-run.

Is there a commercial awareness right across the business?

The advent of the public cloud has introduced a completely novel dimension to designing new systems. Architectures must be cost-effective in their use of cloud services, which means those designing them must have a current knowledge not only of the services available, but also the pricing implications which may depend on usage patterns.

Are they in a suitable near-shore location?

Here, you’ll need to consider issues like cultural alignment and time zone differences. It’s really hard to make agile development processes work well if your teams’ working days barely overlap or your potential partner doesn’t have an ethos of close collaboration.

Do they have good English language skills that run deep in the business?

Check that everyone speaks good enough English to enable peer-to-peer contact between your team and theirs. If all communication has to go through a project manager, as they’re the only one who speaks your language, misunderstandings and delays will become inevitable.

Do their people collaborate easily?

Having a naturally collaborative culture will make communication at all levels much more straightforward. Everyone needs to be able to communicate easily and transparently so that issues and opportunities can be discussed openly.

The best way to find answers to all the questions above, and reassure yourself that you’re selecting the right partner, is to spend time with them. Find out if they’re happy for you to visit their offices as often as you wish. Insist on meeting the people you’ll be working with – and not just the senior management and sales team – and ask them some tough questions. The more time you spend doing this, the more you’ll find out what the business is really like to work with.

Finally, once you’ve selected your potential partner, or drawn up a shortlist, it’s often a good idea to put them to the test before committing to a contract. For example, you could give them a problem to solve – and even if it’s not a live issue, the way they go about finding a solution can be very revealing as to the way they operate.

Alternatively, you could engage them on a small, live project and measure them on how they handle it. This is a very low-risk way of assessing whether the potential partner is likely to be a good fit for your own organisation. Here at Damilah, we’d be more than happy to discuss any of the above questions with you and explain our ‘partner-shoring’ model to you – where our near-shore team will collaborate seamlessly with you to deliver high levels of shared value.

To find out more, get in touch now to discuss our range of services.

Here, we tackle the important matter of managing people…

If you’re a follower of English football, depending on your allegiance, you’ll have either been enjoying or lamenting Manchester United’s recent failure to live up to their previous high standards.

There are many possible reasons for the club’s relative lack of success, and we wouldn’t claim to be soccer experts who can fully explain its problems. However, one thing is clear: there has been no lack of talent when it comes to players on the pitch, with world-class footballers such as Cristiano Ronaldo, Casemiro and Lisandro Martinez in the squad, either now or recently. But individual talent is one thing, and team performance is another.

United’s troubles go to show that success relies not solely on hiring talented people. It’s also necessary to manage and motivate them in the right ways, so they perform as a team with a shared goal, constantly improving, and always working hard for each other.

The same is true when it comes to software development. You can’t produce great software without great people. But you also need to ensure you create the right conditions for those people to succeed.

We therefore believe it’s always worth the time, effort and expenditure of investing in all our people. By showing we care, and helping them to reach their potential, they will always go the extra mile and produce better quality work for our customers. So here are some of the ways we enable this at Damilah:

We strive to create a culture that is open and supportive, where everyone is clear on what success looks like and how they can find the right path towards it.

Our line managers are ultimately responsible for an employee’s growth and development, but it’s not limited to them. For example, someone might need support for a particular skill that is not within the line manager’s competence – in which case, we’ll ensure they are connected to the right person in the business to help them develop in the desired way.

In other words, we’re constantly supporting each other and growing together.

What’s more, it’s important to us that our people are prepared to take risks in order to develop and innovate. If they are afraid to, they will usually struggle to advance. Of course, that doesn’t mean they’ll take silly or unnecessary risks – but, rather, in a measured way with the right support.

Software and technology are always changing and we constantly need to try new things to stay ahead of the game. We’ll usually do that in close consultation with clients, and often ‘spike’ technology – that is, test something in a controlled environment. If it works, then great: we can roll it out. And if it doesn’t, we’ll learn from this and move on.

We’re currently doing exactly that with one of our clients. This approach allows the client to be reassured that what we’re suggesting will work, while also allowing everyone to feel in control. What’s more, we all learn together in an environment built on mutual trust.

I’ve worked in businesses as a CTO where the first thing to go when budgets are tight is training. But that’s always a false economy that ultimately impacts on the quality of the work delivered and the success of the business. So we will always continue to invest in training, because we know we’ll get a return on it, tenfold or more.

Therefore, every employee has a development plan, and that can include both technical skills and the ‘softer’ skills, such as communication or presentation. Doing this, we believe, delivers the obvious short-term benefit of upskilling our team – but also the long-term benefit of an increasingly knowledgeable, committed workforce that chooses to stay with us.

With the rapid pace of change in technology, it’s important for us to stay abreast of new innovations. We do this by providing opportunities to all our people to initiate or join specific innovation projects, which allow them to invest time in trying out new technologies that enhance our capabilities and ensure their skills remain at the forefront of the industry.

There is no greater motivator than success – and it can be addictive. We therefore ensure we celebrate those successes at every opportunity, for example by having annual awards for both individuals and teams.

It’s important that these are not subjective. Instead, they’re based on performance and also the way in which our people uphold and emphasise the values of our business. We find that’s a really powerful way of encouraging further success, which of course will always lead to additional benefits for our clients.

We believe strongly in the value of teamwork, and our commitment to this extends to our customers. We aim to avoid the traditional customer-supplier relationship, opting for collaborative, transparent partnerships from the outset.

We encourage customers to feel as if we’re all part of the same organisation, working towards the same goals. Quite simply, that’s our culture – and the culture we encourage from everyone we work with, both internally and externally.

If you’d like to find out more about any of the points raised in this article, and how we can deliver great software for your business, get in touch now.

Iain Bishop, founder and CEO, Damilah

Here, we tackle the essential topic of ensuring quality…

It’s easy to fall into a trap when it comes to managing the quality of software: an over-reliance on quality assurance (QA) at the end of the process.

While QA is vital, we strongly believe that quality is pervasive, and there needs to be a constant focus on this throughout a project. That also means always paying attention to a customer’s or user’s requirements. After all, there’s no point in building the best product if it doesn’t do what’s needed.

Because we always take this approach, we believe that quality is everyone’s responsibility all the time – from the developers writing the code, to the project managers, and even the customers we’re working with.

Doing this is not easy, and it requires a high level of commitment. But by operating in this way, as a single team, we can deliver outstanding outcomes together. Here are some of the most important considerations we always keep in mind when it comes to ensuring we create great software.

Quality starts at the very beginning. That means the first discussion with the main stakeholders and really understanding their requirements. We then need to ensure the requirements are described in a way that’s testable, so we can validate whether the finished product meets the correct criteria.

We’ll then work with our development teams to check the written requirements are achievable and can be implemented with the right level of quality. Only once everyone is satisfied with this will we be ready to start work on a product.

It’s rare to have a project without some kind of time pressure – and of course that can compromise quality if not managed properly. So, as well as defining ‘Ready’ before we start a piece of work, we also create an agreed definition of ‘Done’. This will include the types of tests and reviews which must be completed before a feature is considered finished.

But, of course, unforeseen problems or scope changes do happen during a project, meaning that things can take longer than expected or need to be reprioritised. When this happens, it’s important to be open and transparent, and also to have courage – for example to explain to a key stakeholder that a change in the delivery schedule might be necessary.

I’ve seen organisations that have a very top-down way of working where people are too afraid to give bad news to their superiors, so they’ll do whatever is expedient to avoid it. Unfortunately, though, the upshot is usually that the management will eventually discover that the delivered product is not good enough – and they’ll wonder why. The answer, of course, is because of the culture in their business. Therefore, transparency and honesty are vital. After all, everyone is ultimately working to achieve the same goals.

Although, as we’ve stressed, quality needs to be baked in right through the process, effective testing is still crucial. And it’s important to test early and regularly, otherwise a nasty shock may arise at the end – for example, realising an entire project is built on code that doesn’t work properly.

We use agile processes, breaking a project down into sprints that usually last two weeks. At the end of each sprint, we’ll carry out tests to ensure the software is fulfilling its requirements, working effectively, and conforms to the highest security standards.

We employ tooling to continuously conduct vulnerability testing and ensure software complies with OWASP Top 10 security standards. We put these tools into the build pipeline to ensure they are always running and developers know immediately when code is non-conformant.

We also use static code analysis tools to ensure the code we produce conforms to quality, reliability and maintenance standards.

And while our most experienced, senior developers are involved in these processes, again we also look to automate as much of it as possible. That way, a test can be rerun on a frequent basis – as software will always change during an agile development process – with no backlog building up.

Scaling needs to be considered from the get-go – but there’s always a balance to be found. It’s easy to end up over-engineering a product so it can scale when that may not be needed for several years, if at all. But ignoring scalability can lead to its own problems if it turns out to be necessary.

It’s therefore essential for us to truly understand our customer’s needs so we can ensure the right level of scalability is built in. We’re also finding that public cloud gives us the option of scaling a product easily and rapidly, if required.

In addition, it’s crucial to consider the future maintainability of a solution – and this is often more important than the initial cycle of development. If quality is compromised during the build phase, maybe for cost reasons, it can quickly become a false economy as maintenance of poor software can be expensive and greatly increase the total expenditure.

In our opinion, automation is definitely the way to go when it comes to maintenance. But it’s incredibly hard to automate if the product hasn’t been built to high standards in the first instance – which further emphasises the need for stringent quality control during the initial build phase.

If you’d like to find out more about any of the points raised in this article, and how we can deliver great software for your business, get in touch now.

Iain Bishop, founder and CEO, Damilah

Here, we tackle the tricky topic of risk…

Whether you’re developing software or sending a person to Mars, there’s always a fine line to tread at the start of every project: between optimism and pessimism.

Naturally, everyone involved will be hoping and working for the best possible outcome. But unless there’s a keen awareness of what could go wrong – whether you want to call that pessimism or realism – it’s highly likely that some poor outcomes will result.

This is why effective risk management is vital when it comes to delivering great software on time. And, as with many other considerations – such as managing scope and quality – doing it well means taking a holistic approach from start to finish, and beyond.

It’s important to point out that, if you continue reading this article, you may end up with a sense of foreboding, worrying that every project is fraught with dangers waiting to derail it. And it’s true that even the simplest undertaking can have inherent risks that threaten to compromise quality, cost or delivery times.

However, we spend a lot of time predicting and assessing those risks to help avoid problems before they occur; or, if they do materialise, to ensure we can mitigate against them in a way that will result in minimum impact for our customers.

In other words, we spend a lot of time thinking about risks, and how to manage them, precisely so our customers don’t have to.

In every software development project, there are usually three major types of risk to consider, as follows:

1. Scope

This could include changes to the scope, or adding new requirements, once a project has already begun. For more on this, see our article on this topic .

2. Technology

This could involve, for example, incorporating new technologies and new practices, or changing the platform on which we are working.

3. Dependencies

This generally revolves around the interdependencies between teams, and is an area we focus on strongly. We might have, for example, a dozen or more teams working on a single project, so frequent and clear communication is essential to avoid blockers. We’ll therefore sequence and synchronise our schedules so they are complementary to each other, while constantly keeping the lines of communication open. 

At the start of every project, we’ll create a risk mitigation plan based on a combination of our own experience and empirical data.

To do this, firstly we’ll identify the risks and assign each one a score – assessing its possible impact on a scale of one to five, and the probability of it occurring on a scale of one to four. Multiplying those two values gives us a risk score from zero to 20, with 20 being the highest possible.

That gives us a clear idea of what to focus on. Then we’ll plan how to avoid those risks and also pinpoint the signs that help us to spot a problem at the earliest possible stage. Our overall aim is to steer clear of situations where people just hope for the best because they want to report good news to the management – maybe because they’re under pressure to deliver by a certain time.

In our experience, it’s always better to have the risk discussion at the beginning of a project so we can develop a realistic plan, rather than end up making excuses for failure throughout. That’s why it’s so important to think through risks early on, and to keep updating the risk assessments, as risk management is an ongoing process throughout any project.

A good example is the introduction of new technology, which often carries its own risks. A proactive approach, such as ‘spiking’ – in other words, taking a couple of people aside and testing it well in advance of the project deadline – is an effective way of managing it. I’ve worked on many projects in the past where our first choice was wrong and the tech we were planning to use just wasn’t going to work for us – which is exactly the kind of risk that spiking can help to avoid.

The phrase, ‘There are no problems, only opportunities’ is a cliché – because, we believe, it’s often true. In many cases, when it comes to risks inherent in a project, we can also identify an opportunity hidden within.

The methodology we use to assess levels of risk allows us to calculate both negatives and positives. For example, making certain technical changes may pose a short-term risk because we need to alter the scope of a project to accommodate them. But in the longer term, those changes may help us to build a solid platform that will accelerate the development of additional features.

By using the same methodology for opportunities as for risks, we can gauge how one is balanced against the other – and if the gain score is higher than the risk score, it’s probably worth considering.

As always, the great benefit comes from close collaboration with our customers so we can truly understand their requirements and how we can create value for them. Then we can effectively measure the risks worth taking and ensure we deliver the best possible outcomes.

If you’d like to find out more about any of the points raised in this article, and how we can deliver great software for your business, get in touch now.

Iain Bishop, founder and CEO, Damilah

Here, we tackle the thorny topic of scope and scope creep…

We were recently working on a project for a customer that required us to re-architecture a solution to help deliver some key mid-term goals for their business. The project had been carefully scoped, and a roadmap produced.

However, our customer received some important feedback from their prospective customers. The solution would need an additional feature in a short timeframe to enable them to secure a contract. That immediately shifted the scope of our project, as this new requirement suddenly became a top priority.

In many cases, this kind of pivot may cause a significant problem by adding a large amount of additional work which could jeopardise the success of the entire project.

But it didn’t for us. We were able to quickly re-prioritise the tasks involved, allowing us to complete the essential elements on time and extend the deadline for the rest. That meant we delivered the most essential value for the client, fast, and the project was still completed in a satisfactory way.

Such a scenario, where scope changes are required mid-project, will be familiar to anyone involved in software development: scope creep can be one of the biggest risks. Left unmanaged, it can result in delays and unsatisfactory outcomes for both the client and the developer.

We therefore believe it’s vital to pay close attention to managing scope, from before a project even starts, and right through to the end and beyond.

In our experience, scope creep – or ‘gold plating’, where unnecessary features are added to a product – usually comes from one of two places.

The first is the product manager or evangelist. Understandably, they always want the best product they can have – that’s their job. And, to achieve this, it’s important that good ideas are thrown in during the development process. But the constant danger is that, if you add something in, you don’t take something out. When that happens, and we’re working to a fixed delivery timeline, quality is likely to be compromised or, worse, the whole project is likely to fail.

The second is on the technical side. There may be a desire to create a technological standardisation – for example, a new way of accessing data in a program – which invariably creates more work. That’s often for very good reasons, and it might also be the case that this has to be prioritised ahead of everything else, because of the value it could bring to the business and customers. But the effect it will have on the project has to be acknowledged, as there is usually only a finite amount of time and effort available.

Here are our four main approaches to keeping a project on track:

Managing scope is not solely a delivery manager’s job. We believe everyone needs to play a part – and that includes the customers with whom we work in partnership. If everyone involved has a transparent and honest relationship, and keeps the lines of communication open, scope issues can be kept to a minimum.

If we can create a clearly defined scope with the customer from the outset, we are usually able to hit the ground running and very few issues will occur. When the scope of a project spirals out of control, it can nearly always be traced back to a failure to recognise changing priorities in a project and adjust the plans accordingly.

We use agile development processes that involve working in short sprints, usually two weeks at a time. That’s because, at the end of every cycle, we’ll share our progress with the customer and obtain their feedback, allowing us to make small, incremental improvements. It’s an excellent way of ensuring the customer is getting what they really need – and nothing they don’t need.

And, best of all, it ensures we don’t miss any gems. Our experience tells us that if you wait until everything is completed, you miss the chance for domain experts to share their knowledge and ideas along the way. The more collaboration you have, and the more feedback you gather, the better the product you end up with.

Truly understanding the value of each part of a project for our client and their end users allows us to deliver the best possible outcome in the shortest time available. This necessitates working closely with key stakeholders to ensure the most important aspects, from a business or commercial perspective, are prioritised.

We believe our customers have a huge role to play in helping us. Our advice, therefore, is to always engage fully throughout the process, as this will result in the best possible final product that precisely matches their needs – delivered on time.

If you’d like to find out more about any of the points raised in this article, and how we can deliver great software for your business, get in touch now .

Iain Bishop, founder and CEO, Damilah

When it comes to thinking about new products, we often wish for more time to conduct interviews, analyze data, and explore competitors. But these tasks take up a lot of time. That’s where ChatGPT comes in handy—it can save us time and make our processes more efficient.

Let’s dive into the world of product discovery by tapping into ChatGPT’s vast pool of data and capabilities. This guide will walk you through how to use ChatGPT for a more efficient product discovery process, helping you prepare for the development of innovative products.

  • 1. Start your discovery by focusing on either your business goal or the problems you’ve noticed for a specific group of people

Prompt you can use: “I have a business objective and I’m looking to identify potential customer needs aligned with my goal. My objective is [specify your goal]. Could you please investigate the potential pain points experienced by this specific target group.”

  • 2. Understanding the problem or the unsatisfied need

Prompt you can use: “Can you please act as a Product Manager and explore the actual problem underneath these pain points? Please use the ‘5 Why’s’ method to find out why this problem is happening. Once you figure out the main reason, summarize your findings in a clear problem statement.”

  • 3. Defining Jobs-to-be-done (JBTD)

Prompt you can use: “Could you please identify the top 5 crucial tasks (JBTD) that my target customers need to accomplish when dealing with the problem? I aim to gain a better understanding of the key activities customers will undertake, when facing the problem.”

  • 4. Defining User Personas

Prompt you can use: “Could you please outline the three user personas who are likely to be my most frequent customers?”

  • 5. Preparing empathy map for our target customers

Prompt you can use: “Would you be so kind as to create an empathy map for my target customers? I’m eager to gain a deeper understanding of their thoughts, feelings, what they see and hear, and what they say and do.”

  • 6. Going through an Ideation process

Prompt you can use: “Picture yourself in a room with your team, including Software Engineers, UX/UI Designers, QA Testers, a Product Owner, and a Scrum Master. During an ideation process, what would be the three standout ideas as potential product solutions for addressing this customer’s problem?”

  • 7. Defining a value proposition for our product

Prompt you can use: Can you please define our value proposition for the first product solution? Describe how it meets customer needs, its unique benefits, and what makes it better than similar products on the market.”

  • 8. Doing a market research and competitive analyses

Prompt you can use: Can you explore other companies in the market selling similar products? Summarize their strengths and weaknesses and identify areas where we can gain a competitive advantage.”

  • 9. Defining functionalities

Prompt you can use: “Please outline the key features for the product solution. Consider functionality, user experience, and any unique aspects that will set our product apart in the market. “

  • 10. Defining the MVP

Prompt you can use: “Can you now please define the features and functionalities that are essential for our Minimum Viable Product (MVP)? Focus on the core elements that will allow us to deliver value to our users quickly and efficiently.”

To show that these prompts truly make a difference, we put them to the test in a real-life example. In this case study below, you can follow how we turned an idea into a possible product solution, with a clear explanation of our thought process.

At the end we’ll say that ChatGPT can be a really valuable asset in product discovery, helping us save significant time. However, it’s important to remember that while ChatGPT and AI, in general, can be incredibly helpful, they don’t guarantee the automatic success of our products. Success still relies on thoughtful execution and a comprehensive approach beyond the capabilities of AI alone.

Olgica Strezoska, Principal Product Owner at Damilah

To avoid building products that nobody wants, extensive Product Discovery is essential before embarking on the actual development process.

What is Product Discovery?

Product discovery is a dynamic and iterative process that lays the foundation for successful product development. It is the process that helps product teams understand the real problems and needs that people have and then figure out the best ways to solve them before starting development.

The concept of product discovery originated during the 1990s. During that era, companies allocated substantial portions of their marketing budgets to persuade customers of their product’s necessity. Unfortunately, this led to a lot of very expensive failures, as products often made it to full release before companies realized that people just didn’t need or want them.

The main goal of product discovery is not to ship features but rather to promote a continuous environment of learning that will help improve the product incrementally and consistently.

Product discovery is all about de-risking. As Marty Cagan puts it in his book “Inspired”, the purpose of product discovery is to address these four critical risks:

  1. Value risk – Will the customer buy this or choose to use it?
  2. Usability risk – Can the user figure out how to use it?
  3. Feasibility risk – Can we build it?
  4. Business viability risk – Does this solution work for our business? 

The product Discovery process can be divided into these 4 phases:

1. Understanding Users

The first phase is all about user research and building empathy for our users. We must be able to put ourselves in users’ shoes, and that can be achieved only if we truly get to know them, listen to what they are saying, and learn about their habits, desires, and frustrations.

To achieve this understanding, several steps can be taken:

  • Conduct Surveys and User Interviews: Engaging with the target audience through surveys and user interviews provides valuable insights into their preferences, pain points, and aspirations. This step helps in identifying genuine problems that need solving.
  • Continuously Ask “Why” (The Five Whys method): By consistently questioning the reasoning behind the product, teams can uncover deeper insights and align their solutions more effectively with user needs.
  • Observe users and create empathy maps: By synthesizing and visualizing the data from user research and interviews, empathy maps can help us identify key insights. 

2. Defining the Problem

With a better understanding of the users, the next step is to precisely define the problem or need our product intends to solve. That can be done by analyzing the user research data we gathered and finding patterns that emerge from this data (using the Affinity mapping technique). By prioritizing the most important problems for users, the team can decide which user problem they want to focus on and clearly define their hypothesis before jumping into solutions.

3. Ideating and Prioritizing

Once we know what the user problem is, we should continue to the Ideation phase so that we can slowly come to the solution of the problem. This phase consists of gathering different ideas from the team (using brainstorming, mind mapping, or similar techniques) on how we can respond to the users’ problem or need. At the end of this phase, we have to prioritize the idea for which we are most confident it will bring value to the users so that we can continue prototyping and testing our hypothesis.

4. Prototyping and Validation

The final stage is about building a quick prototype to be tested and validated to gain confidence that the right product is going to be moved into the product delivery process. Prototyping ensures that the product solution aligns with the identified customer need and that users can navigate through the potential solution effectively.

Product discovery is the bedrock of successful product development. It empowers businesses to create innovative solutions that genuinely address user needs and desires. By deeply empathizing with the target audience, conducting thorough research, and actively listening to feedback, companies can build an environment of continuous learning and craft products that resonate deeply with their customers.

Olgica Strezoska, Principal Product Owner at Damilah

Typically, the process involves reviewing the company’s technology and technical infrastructure, including architecture, scalability, security, performance and reliability of products and services.  Also understanding the people and their approach to software engineering, processes used and how closely they are engaged with their customers.

All software products, even new ones, tend to have technical debt, which may vary from areas of the code which may need refactoring to support scalability/performance future requirements to utilizing out of date or even obsolete versions of third party products. It is important that engineering teams have an understanding of their technical debt and a plan to manage it.

Iain

Modern software product teams tend to invest in devops and automation of both their delivery pipelines as well the testing of software. This is sometimes difficult and expensive to reverse engineer into long established “old tech” products, but is likely to be important to resolve if these products are expected to change significantly as part of the investment thesis.

It is also really important to review any major work-in-progress projects, especially where technology which is new or unfamiliar to the engineering team is being used, for example where public cloud is involved. Public cloud offers many opportunities to introduce time and money saving infrastructure as a service, but used in the wrong way may in fact incur significant additional costs. Understanding best use of cloud and the opportunities presented may be important to support value creation opportunities.

One of the biggest challenges I hear about when talking to investors occurs when they receive the Tech DD report from one of the third parties who have productised the process. Lots of analysis and data is presented outlining all the various potential areas of concern in a neatly structured form.

The question is then “So what?”. As a CTO what would concern you? I have been involved in many Tech DD activities as a CTO, either whilst performing that role on a full time basis, or as an independent consultant asked to advise an investor.  Being able to see the wood for the trees and raise red flags is an important part of the role, as well as looking for opportunities to improve productivity and customer engagement.

Assimilating all the data and turning into a workable plan can be quite a task depending upon the size of the organisation. Sometimes the selling business is deliberately obfuscating with information, which itself tells a story or denies access to key technical people so as not to unsettle them.

At Damilah, we have extensive experience conducting technical due diligence activities, particularly for product software companies. As product experts ourselves, we understand how to build a great product and the day-to-day challenges which may occur.

people-working-in-office

We have deep technical expertise of legacy applications as well as modern cloud SaaS products and understand the needs of investors wishing to create value and scale businesses they acquire and what the barriers to these may be.

We also have teams of highly talented software engineers able to tackle the most complex transformations from monolithic to micro-services, or from on-premise to cloud native SaaS solutions, working closely with existing client teams. We adopt a modern agile way of working , to deliver maximum value to the customer in the shortest possible time, with full visibility for all stakeholders.

In particular we have extensive experience of working with Private Equity houses and their portfolio companies, understanding well the need for value creation to support the investment thesis, having worked ourselves in these environments.

To discuss further, please contact iain.bishop@damilah.co.uk.

Iain Bishop, CEO and Founder at Damilah