Category: Uncategorized

  • I have a skills shortage in my business – Should I get people in?

    I have a skills shortage in my business – Should I get people in?

    Is the skills shortage hindering growth?

    Every business has a skills shortage – especially in the startup and small business spheres. To identify the need for a skill that they do not have seems to be the easy part. A technology partner is the one skill/person that comes to mind, as this enables businesses to build, scale, and grow.

    Build, scale and grow

    When looking for a tech partner to build our dream, many people have issues with trust. Even with non-disclosure agreements, we find people stealing ideas. I recently saw someone post on Twitter that their pitch deck was used as is by the venture capitalist he pitched to!  

    I often quote Eric Ries who said: 

    “if your idea can be stolen that quickly, it wasn’t a great idea to start off with” 

    When it comes to scaling and growing, the established business is already there, making it easier to hire an employee or contracting a technology partner to do the needed work.

    The founder skills shortage

    Many founders find themselves in the following dilemma: they have neither the cash nor the skills to get the idea off the ground. This makes it challenging not only for seeking a software developer willing to trade his time and code for equity but for the founder who finds himself obsolete.

    In my opinion, what differentiates a founder with ideas from a co-founder of action is one that is able to innovate in learning, testing, and growing an idea outside of the normal paradigm. 

    For example, one of my clients was able to build a fully functional minimum viable product using WordPress and WooComerce. I will not deny that I was surprised at the brilliance of getting that off the ground! 

    Using innovation to solve skill shortages

    Having previously written about validating your idea before coding, I want to build on this: we need to find innovative ways to solve our problems. For example:

    • Display an Excel mockup of what your product or dashboard will look like.
    • Use a (WordPress?) website rather than a mobile app to display functionality on a phone.
    • Do mockups for all emails of your solution before implementing the solution.

    Though I am not against the idea of coding to display your idea (and I do this), I know that the founder is able to learn certain things from the outcomes and position himself as an irreplaceable expert. 

    Filling the skills shortage

    We know that we have a skill shortage, especially in the technology sphere. It is not surprising that it happens almost daily on the Dev ZA Slack group that people ask for developers to work for equity. 

    But the founders need the skills – even companies with funding struggle to get the staff! 

    When you have a skills shortage, as a founder you have the following options:

    • Ask a developer to work for free (equity).
      • Please have a 10-year business plan, 5-year marketing plan, and projections on when the developer will have a return on investment (ROI) ready!
    • Hiring a developer to develop an MVP or prototype
      • As mentioned, this might be something as simple as a WordPress site
    • Find funding: there are options available for startups and small businesses
      • Effectify has an article here.
      • FrugalLocal (my influencer page) wrote an article with options here.
    • Outsource
      • It might not be necessary to hire the skill that you need. There might be software as a service options available to you.  

    As in property investment, it makes sense to have friends in the right places – lawyers, handymen, and estate agents. In the same way, it would make sense to connect with skills that would be needed when knowing that you have an interest in startups.

    Will my hired help convert to sales?

    Consider how long it will take to get a return on investment for filling the gap in your company.

    As in the above situation – we want to say that a certain profession or job will convert into money. In most cases, we find that IT is a cost centre that enables other parts of the business to make money. 

    Conclusion

    Every business has too much work and too few people/skills. To overcome this we need to consider the return on investment and value the new hire or partner will add. 

    Timing is vital for the success of your business, as cash flow and time to market are of the essence. 

    Enjoy your business!

  • Will my business idea work?

    Will my business idea work?

    I have a business idea, but I am not sure if it will work

    While having your morning coffee, you think about an innovative solution for an idea – something you can convert into a multi-million rand company. Or maybe, you have the supplier ready and awaiting your order, but not sure if your business idea will work.

    Many businesses will encourage you to do business plans, non-disclosure agreements and other business-like things, but the idea first needs to be formulated well and validated as something worth investing your time and money in.

    All that glisters is not gold

    -William Shakespeare

    What questions need answers?

    At the heart of any small business or startup is the validation of the following questions:

    • Do people want what I offer?
    • Are they willing to pay money for what I offer?
    • How much money would I need to spend on getting something out – and can I afford it?

    With this in mind, let us start looking into the validation of the idea.

    The business idea validation process overview

    When looking at viability, it is important to not waste any time that could be spent more effectively elsewhere. By starting with a quick Google search, one might be able to make a decision on the viability of the idea within minutes, rather than days or weeks.

    Competitors of my business idea

    Before pouring heart and soul into an idea, one needs to first understand the playing field. What competition is currently existing in the market?

    Foundr recommends asking the following three questions:

    1. Is there competition in my space?
    2. Are my competitors making money?
    3. How can I implement my idea differently and better than my competitors?

    To do this, we need to consider direct and indirect competition – direct competition means products/services that are similar to your offering, whereas indirect competition refers to other means that your needs can be fulfilled.

    Many startups and small businesses driving disruptive innovation will have difficulty validating their idea with competition analysis, as it isn’t always direct competition – and this could be okay.

      In Practice

      In practical terms, it is worth checking out the following in your research:

      • Do about 10 Google searches for similar products
      • Check out Google Trends, App Store, Play Store and other platforms where you’re planning to launch your idea from.
      • Speak to people that use the competition’s products
      • Speak to friends, family and business acquaintances about your idea

      Converting my business idea into a money machine

      An idea is great, but the question of profitability will mean the difference between success and failure.

      A company like Facebook realised early on that they will have the eyeballs. It was only a matter of time before they were able to monetise the product and cash in. It is however good to start thinking about how the idea will generate money and cash flow.

      Engagement models are the way that money will be generated and what needs to be done to make that money. The basic models are cost plus, fixed cost, cost for time and retainers.

      To give practical examples of how this could be applied, here are some examples:

      •  Software as a service (SAAS) – a fee can be charged as a monthly subscription fee to use the service.
      • Membership sites – content could be provided at a recurring cost
      • Selling products (digital or physical) through emails, websites or at a market
      • Add a finders fee or markup on sales and outsourcing of products (e.g. affiliate marketing or project management of developers)

      Verifying your marketing and channel

      Consider where your potential customer will be found. How will you reach them and what would the cost be per acquisition? At this stage, it would make sense to do a guestimate – just to get a rough idea!

      The channel you would have to use to sell your product or services will have some limitations. For example, if you have a mobile app, you are required to have all payments go through the store. The store adds a markup to all sales and thus needs to be considered when doing a costing.

      What if there is no competition for my business idea?

      It is not wise to spend 6 months and a few million rand to see if an idea can work.

      Eric Ries used the example in The Startup Way when he consulted with General Electric on a new generator. The cost of getting the generator to market was substantial, with about 2-3 years of development time to get the production line set up. He was able to lean this to less than three months to have a working prototype in a client’s hands by spending a fraction of the cost.

      Prototypes could be made out of cardboard, paper, in photoshop or in 3D software. You can even do an HTML mockup to show what the software will do!

      Do it as lean as possible. For more information on lean and wastage, I wrote another article here.

      Conclusion

      Don’t spend thousands or millions on something if you don’t have empirical evidence that it will work. Spend as little money as possible to validate your ideas – and scale accordingly. Ideally, you want to get your product (that customers actually want) to market as fast as possible (more info on this here).

      When looking at if your business idea will work, you need to consider the competition of your product or service.

      You also need to look at cash flow and the potential for making money – how much will the business make?

      Do good research and do it quickly.

      Simply be effective.

      Sources consulted

    • I need business ideas – where do I find them?

      I need business ideas – where do I find them?

      Where do you find great business ideas?

      I did a Tweet the other day about small business and ideas. We often complicate the generation of business ideas unnecessary, as we believe innovation and solutions are out there… and we are here. 

      For this reason, I decided to explore idea creation and problem solving processes in this post. I believe the principles are universal – for startups, small businesses and side hustles.

      Let's talk about discovering side hustle ideas – a #THREAD.
      Ideas are a dime a dozen, but like writer's block, it can be daunting needing to think about something to do.
      We'll talk about monetization and viability in another thread 😉

      — Frugal Local 🇿🇦 (@FrugalLocal) January 3, 2021

      Positioning yourself for great business ideas

      Make sure you positioning yourself for greatness. 

      Consider the people you hang out with. Stay clear of people that shoot down your ideas, break your spirit and leave you dazed and confused. Surround yourself with the type of people that you want to become.

      It is also highly recommended to keep an ideas journal. This could consist of drawings, graphs, charts, bullet points or just notes. Creative ideas take shape in strange places, including in the shower, in a business meeting or while researching a tough coding problem. 

      What evokes emotion?

      We all have things we enjoy – this might range from drinking coffee, coding to making magwinya (vetkoek). We also have things that make us want to jump off cliffs – these could include shopping, bad service, negativity or terrible food.

      Emotion is a powerful driver in finding ideas that can be monetised into a side hustle, small business or even into a tech startup. I see it as a nail sticking out of a table that scratches everytime you touch it.

      Matching your business idea to your passions and talents

      It doesn’t help if your idea doesn’t match your passions and talents. Write down all your passions and talents – what do you enjoy doing, what are you good at?

      When your idea is converted into a money-making business, you would be required to spend countless hours on it.  It thus makes sense that you align these with who you are.

      Consider the following channels of discovery:

      • If you have not done so, I recommend doing personality tests (such as 16 personalities).
      • Draw up a grid of skills, talents, passions and interests. 
      • Connect with lines where these overlap.

      Networking and business ideas

      The power of your business is directly linked to your success. Remember – making money is about people. It’s about adding value to them. 

      Don’t underestimate the power of surrounding yourself with people that are more knowledgable than yourself. They will bring wisdom and insights into your idea. Do not be afraid to share your idea. 

      Eric Ries said in the Lean Startup that the fear of sharing an idea is unfounded – “If your idea can be stolen that quickly, it is not a great idea”.

      Take the time to build your network and position yourself around the right people. Consider the playing field – your industry, clients and potential business customers. These should give you an idea about where you need to be steering your online presence and friendships.

      Mastermind and innovation groups

      It is worth looking into joining a group dedicated to innovation and change. These people tend to become friends, as they are kept accountable to each other. 

      Having brainstorming sessions with a few friends might also be worth it!

      Leveraging your resources for success

      Resources is not only money, it includes time and education. 

      Though I fully believe that anyone can start a business with very little money, some businesses require more resources. Understand what resources you require and what you need to have to make this work. 

      In some cases, you might have the technology available at your disposal but need the application. Discover what you need and fill that need. 

      Discovering what customers want

      Many founders do not have an idea of what customers want. This is normal. Even more people don’t have an idea yet – and that is okay. 

      When you have trouble coming up with a valid idea, we should consider positioning ourselves closer to potential problems. Seeing what customers do will assist us in finding a solution to a problem that we have not yet identified. 

      Horst Rittle explained about wicked problems – these are problems that can only be solved, time estimated and understood by doing. Do not be afraid to start doing – just keep track of how much time and effort you are putting into it. 

      Keep track at what point it becomes unviable to pursue something.

      Conclusion

      Coming up with an idea is challenging. Getting started by writing down what evokes emotion as well as what skills, abilities and talents are available to you. 

      Having a co-founder does help, but it is recommended leveraging your network, but is not essential to success. 

      Do not let an idea just sit there. You need to grow it. It is recommended to validate your idea through the build-measure-learn cycle – you don’t want to build something no one wants!

      Simply be effective.

    • Failing forward – thoughts on learning and wastage

      Failing forward – thoughts on learning and wastage

      Learning from failures

      We have all heard the startup success stories – The ones where people had a turnover of R 100 million within one year with a minimal amount of effort. 

      With this in mind, I am reminded of a friend who decided to start a coffee shop. He was going to make a small fortune. He spent quite a bit of money to get licenses in place, kitchen appliances, print menus, tables etc.

      Some businesses do not come cheap! After the opening night (which we celebrated with him), no business came through the door again. 

      His business failed.

      What really matters?

      Many people start analysing the situation and why they failed. Though analysis might be important, it often leads to analysis paralysis – even in the unpacking of the past.

      It’s often more valuable to ask the following questions:

      • What – what happened, what is the situation and what caused things to play out like they have?
      • What did you learn from it?

      Changing our thinking to learning enables us to get over our failures and move forward making better decisions.

      Wastage and learning

      If we use learning as a measurement of growth, it’s important that we learn the right things. We need to position ourselves and our business to learn as much as we can about our customers. 

      I am sure you’re saying: “Yes, but this is a great excuse that cannot be measured!”. The art of learning is focused on learning. We need to learn about things that matter. 

      Wastage in software development

      New features

      Historically, the software developer will receive guidance from the business analyst about what needs to be built, whereas the project manager will determine what is important.

      We know the following in the software development sphere:

      • Resources are expensive
      • Resources are scarce
      • Not all solutions are critical
      • A select few reports and enhancements are in use a few months after it was released

      With this in mind, what can we do to cut down wastage? For starters, we can ask:

      • How much value will this feature add compared to the development required?
      • Is this feature part of the critical roadmap, quick win or a nice to have feature?
      • If you’re fully agile or use lean methodology, ask how the idea can be tested without writing a single line of code?

      The goal is learning. Don’t write code unless there is definite proof of the value that it will add.

      Remember – the customer is at the heart of everything you do. 

      The support stream – BAU

      When running a business as usual (BAU) in the support stream, there are often a lot of issues at any one time that need to be resolved at the same time.

      In the IT space, we have support tickets on a Kanban board, agile methodologies and other restrictions to get developers to operate like machines. They need to push out code – which is often never used.

      The reporting team spend weeks aggregating data for reports – which are only used once – if ever.

      To avoid wastage, it’s vital to break down any support ticket to fit into one of the four urgent-important quadrants. Below is an example of where different tickets reside.

      Conclusion

      Business needs to focus on that which is important. 

      The way to measure this is by learning about what is truly important to our customers. 

      We should always learn from our failures.

      Simply be effective.

    • Writing code for performance optimisation

      Writing code for performance optimisation

      Slow systems and systems slowing down

      We all know the call from a client telling you that the software has become so slow, it’s unusable. Yesterday it was fine, but today it is a disaster. It’s not that the code has a life of its own, but reaches a tipping point where performance degradation has eroded to the point of unresponsiveness.

      Generally speaking, systems tend to get slower over time. Data sets grow, libraries get upgraded and code expands to fit business needs – one or all of these factors can influence the performance of a system.

      What is performance optimisation?

      Before we start, let us look at what is performance optimisation.

      In a nutshell, performance optimisation is the process of making slow computer systems faster. This could have different meanings, including making code, software or other changes:

      • To allow  rapid execution
      • Operating with less memory storage or other resources
      • Working more efficiently

      The focus here is on making the software more responsive and executing more rapidly.

      Levels of Optimisation

      The performance issue can be on one or many different levels of optimisation. The higher levels tend to come early on in the initial building of the software. for example, if a solution has been built on a NoSQL database and later on it’s discovered that it cannot handle 100 Billion records, and architectural rethink can be challenging.

      The issue could sometimes be on lower levels, such as a bug in a plugin/code library that causes slow response times.

      Here is an overview of the levels of optimisation:

      Design level – on this level design/architectural choices are made. For example, if a system has a strong dependency on network calls, it is best to optimise the solution to as few as possible calls over the network, yet still getting all the required data.

      Algorithms and data structures – The way that data is persisted in a database could affect the SQL execution paths as well as sorting and filtering algorithms. It is therefore advisable to plan these structures well before implementation.

      Source code level – Some languages do not have automatic garbage collection (disposing of used objects/code). Another example: x ^ 2 can be written as x * x. As systems could grow exponentially, this could potentially cause a great headache.

      Identifying improvements

      Debugging and finding the slow issue

      identifying ways to improve software performance is as much an art as it is a science. In most cases, a system’s performance normally starts with improving just one or two aspects of the system’s performance. This could be execution time, response time, memory usage, disk space and so forth.

      Depending on where the improvements are needed, a different solution could be required. In general, developers tend to spend their time in the source code level.

      Here are some examples of encountered cases:

      The front end of a web application is exceptionally slow. The user attempts to select a field from a dropdown, yet the dropdown takes 1 minute to load.

      • We need to uncover if the issue is in the database layer, an architectural issue or a front end issue
        • If the stored procedure is slow, it means that the issue is either in the database structure or stored procedure
        • If the stored procedure runs quickly, then the issue is either in code aggregation/arithmetic, network or the plugin

      Web optimisations

      Websites and web applications can have many issues that are out of the software developer’s control. This could include internet issues, browser incompatibility and users not understanding how to use the software.

      There are however tools that developers can use to understand user behaviour, performance issues and slow connections (such as the F12 Developer tools), as well as optimizations that can be done. These optimisations include:

      •   Adding GZip compression for faster file transfers
      • Image optimisation by saving for web and devices on photoshop as well as splitting out the main server and the image server.
      • Implementing AJAX calls with spin wait animations to make it seem like the page is loading faster
      • Caching of data – one can include caching server and browser side so that round trips to the database or server could be reduced.
      • Using local storage on the browser for lookups and other information.

      Proactive external tools

      In many cases, it’s easier to be preventative and using solutions that help in identifying slow parts in a system. For example, Azure performance monitoring allows for capturing a log of information about slow response times and errors that might occur.

      It’s also advisable to have a logging database (or logging service), as this might give insights into timeouts and other issues.

      There are also many database preformance tools available: some built in, such as RavenDB’s health dashboard and SQLServer’s execution paths that can help a person to bug-track.

      The RavenDB Dashboard for performance monitoring

      The trade offs for performance optimization

      Even though reasonable precautions can be taken to avoid slow code, it’s not always the best solution to start optimising code prematurely. Optimising code before this is an issue can cause unnecessary delays in delivery and wasting precious time.

      Some code best practices could actually slow down code. For example in large systems loosely coupled code paired with external libraries implementing dependency injection could contribute to a slow system.

      Conclusion

      Careful planning and consideration need to be given when starting out on a project. The architecture, infrastructure and technologies need to be chosen carefully, to align with the goals of the software.

      Once an issue with performance surfaces, it needs to be investigated, the root of the issue determined and the issue resolved.

      Though this sounds like an easy task, it’s not necessarily something quick.

      Simply be effecitve.

      Sources consulted