Tag: develop

  • What is Technical Debt?

    What is Technical Debt?

    As your developers are building your online platform or mobile app, you might acquire something called “technical debt”. There’s a chance that you’ll never be told about it – and you won’t even know what it is, so I wanted to write this article to make you aware of its existence.

    What is technical debt?

    There is no single way to build a platform or app. Like writing an article, people will approach it in different way, and as a result, the final output will achieve the same result but actually look different.

    The choices made during development – either by accident or deliberately – create technical debt. Technical debt is the amount of re-work that you may have to do to your product in the future to get the functionality that you want.

    Why does it happen?

    There are lots of different reasons why technical debt gets created. Here are two that you’re most likely to come across:

    1. Initial decisions related to the overall technical approach
    2. Incomplete or changing requirements

    Both of these can create technical debt that has a great impact on your future plans.

    1. Initial decisions related to the overall technical approach

    Usually, you’ll make a deliberate choice about how you will develop your platform or app.  The overall approach taken can create technical debt.

    For example, one way to build an online platform is to use an existing platform as the basis for your new product. Wordpress is a common approach. Alternatively, you can have a completely customised solution. They may both give you the functionality that you want, but there are pros and cons for each. For mobile apps, the decision is often between using a hybrid platform or building from scratch as a native app.

    This technical decision is often based around money. You want to spend the least amount of money possible to get you to market, so that you can start making money. There are other factors too, but most will boil down to the initial costs and development time.

    2. Incomplete or changing requirements

    Developers can only make technical decisions about what they know right now. If you don’t have a complete picture of what you want, or if you add or change something down the track, then there’s a risk of creating technical debt.

    The developers will craft a technical solutions based on the requirements that you give them. If you’re thorough in defining what you want your product to do, and all of the nuances around it, the developer now has more information to work with.

    Imagine you tell a builder that want a single-storey, two bedroom house – and then halfway through you decide you actually want a 2-storey house. All of a sudden, the builder has to change the way in which the house is built. Some of what has been built may stay the same, but there’s a chance that some stuff may have to be ripped out and re-built.

    What does it mean for you?

    Some technical debt cannot be avoided. You don’t know what you don’t know. That becomes part of the cost of doing business.

    Another part of technical should be a conscious and informed choice that you make. You may choose to go with one option because it gets you to market sooner. This reflects the uncertainty associated with building new products.

    The final part is something that you can avoid. Be clear about what you want. Especially with an agile development methodology, developers focus on what’s immediately ahead of them. It gives you some flexibility to change your mind. However, it creates technical debt. The best case though is for a developer to be aware of what you want from the very beginning. Any re-work is a cost to your business, and it’s money that you could spend elsewhere.

    With your new awareness of technical debt and how it is created, you should now be able to start a conversation with your developer that allows you to make informed and deliberate choices about your future platform or app.

     

    Are you ready to turn your good idea into a great product?
    My idea to launch checklist is your plain-English guide to getting there.

    It’s available now for only $24.
  • What’s the difference between Web Design and Web Development?

    What’s the difference between Web Design and Web Development?

    Do you know the difference between web design and web development? I often see people looking for recommendations for one or the other, but did you know that when you’re building an online platform or mobile app, you might actually need both?

    Traditionally, these two disciplines were quite separate and distinct. However, over the years, the line between the two has been blurred.  In this article, I’ll talk about both of these terms, and how they might impact your product development project.

    Web Design

    As it implies, web design primarily looks at how the site will look. Think colours, fonts, images – the general look and feel. It also considers the usability of the site. However, web design is now also so much more – which is where the confusion occurs.

    Web designers can also build websites. This often includes the marketing-focused websites that we all use for our businesses. The ones that explain who we are and what we do – these are called “static websites”. They can do this with the help of website platforms (or content management systems) like Wordpress and Squarespace, which usually have drag and drop website builders. These are further enhanced by “themes” that are essentially templates of “pre-built” websites. These allow designers to use their design skills to craft a web page for you.

    To even further extend the power of web designers, are “plug-ins” or “apps” that are essentially pre-built tools, which interact with the website to give it extra functionality. They allow you collect email addresses, and send them to your email marketing or CRM tool. They can also be as sophisticated as allowing you to have a membership section or accepting payments.

    A good web designer will also have some SEO skills as well. As a marketing tool, your static website should be easy to find through search-engines.

    Web Development

    Even with the increase in the scope of work that a web designer can cover, there are still limitations to what they can do – unless they really learn how to code. While most web designers will be able to do some front-end coding (using HTML and CSS), these programming languages focus on how things look on the screen. In order to do more complex things – you need a web developer. 

    Web developers have a different skill set. They can build a much more dynamic website that can capture information, store it, and do something with it. Developers can build applications that allow you to move and manipulate objects. All of the website builders, themes and plugins were built by developers.  This means that web developers are in a much better position to build a more specialised platform; with unique or specific features.

    Why do you need both?

    As you can see web designers and web developers do very different things. While they can both build you a website, it depends on what kind of website you want.    

    While a web developer can build you a static website, it might not look very good. This is not what developers are good at. However, if you want to introduce automation to your business, or to extend your business offerings through an online platform, then a developer is more likely to be able to help you.

    If you’re building a new online platform that you want to market and sell as a product, then you’ll probably need both. A web developer will build your platform – with all of the screens and components that you need to give you the features that you want. Meanwhile, the web designer will create the static website that you need to market your platform.

    But there’s more…

    Unless your web developer has some interface design (UI) and user experiences (UX) skills, you’ll also need one or more people to make your platform look nice, and to make it user-friendly. While, a web designer might be able to create a visual design for your platform, they may not have the skills and experience needed to design the user experience.

    The next time you’re thinking about who you need to turn your idea into a product, along with UI and UX designers – consider both web designers and web developers.  If you’re very lucky, you might find a superstar that has all of the skills outlined in this article! 

    Looking for a developer?
    Get my 10 essential tips for hiring the right developer for your project.
    Download it now for free!

  • Get from “idea to launch” with my new checklist!

    Get from “idea to launch” with my new checklist!

    If you’ve got a great idea for an online platform or mobile app, but you’re not sure where to start – you’re not alone. Tech can be intimidating for those that have never had any experience with it before. Sometimes you want someone to guide you through the process – but you just can’t afford to hire someone to help you.

    The good news is that building an online platform or mobile app is a process.  This means there are clearly defined activities that you can follow to reach your end goal. Once you know this, the whole thing becomes more manageable – you just have to take it one step at a time.      

    Introducing the idea to launch checklist

    Today, I’m pleased to introduce the “idea to launch checklist”. This downloadable checklist contains “must-know” tasks in 15 core areas, so you can turn your good idea into a great product. It provides a plain-English roadmap for your journey. You’ll see the main activities for developing a product, and the tasks involved in each step.

    The idea to launch checklist came about as a way to take non-technical people through the creation of a digital product. Like the design and manufacturing of any product or service, platforms and apps have their own brand of jargon and their own unique complexities.  This checklist needed to be written in a way that anyone could follow.

    I understand that not everyone wants to be an expert in software development. Business owners and working professionals certainly have enough things to do and learn! This checklist has been designed with you in mind. If you’re serious about building your own digital product, then the information in this foundational checklist is definitely in the “need to know” bucket. 

    Did you know that on average only 16.2% of software projects are completed on-time, on-budget and with the features and functions originally requested?

    Having worked on technology projects for almost 20 years, I’ve learnt a lot about software development – to a point where it’s mostly routine and I don’t have to think about what to do. Throw in 8+ years in product management, and there’s all of this experience that I took for granted.

    It made me realise that this lack of knowledge is costing people money.  I’m sure people would learn a lot from their experience, but I think they would prefer not to spend so much money on those lessons!

    As someone that’s been doing this for so many years, I really want to help people avoid this situation. So, I’m sharing my experiences and knowledge with people that have had their “light-bulb” idea, and are ready to do something about it.

    Here’s a taste of what you can expect from my checklist:

    • 21 ways to evaluate your idea. Let’s be real – you need to know if you’re backing the right horse.
    • 20 critical steps to finding the perfect developer. This is not the time for speed dating.  A bad decision will cost you time and money and could even delay your product going to market.
    • Plus 25 tasks that will ensure your product testing is rigorous and effective…. If you’re really going to do this, you want to do it right.

    Think about it – you can’t ride a bike the first time you try it. In fact, before you perfected riding on two-wheels, there’s a good chance you rode a tricycle or had training wheels. You also probably fell a few times.  Maybe you could only make it to the end of the driveway before putting your foot down. Eventually though, you made it to the end of the block and around the park a few times.  

    Building digital products is much the same as this. That’s just the way life is. It often takes a few goes around the block before you’re comfortable with what needs to be done. You can try it with two-wheels for the first time without the training wheels, or you can get some help to make it easier on yourself.

    This foundational checklist is all about action. I want to see you get that platform or app built, and I want you to get there in a straight-line path. So, if you’re ready to build your platform or app, click here to find out more.

  • What are your options for hiring a developer?

    What are your options for hiring a developer?

    You’ve got an idea for a web platform or mobile app that you’ve decided to turn into a real product. You’ve documented what you want the product to do and you may have even drawn up some screens. So, now you need someone to make your idea into a living, breathing product. Along with figuring out how to brief a developer, hiring a developer is somewhere near the top of the list of challenges when building a web platform or mobile app. It’s such an important decision to make, but where do you start?

    How do developers work?

    The first thing is to understand the structure of the development industry. Developers can work via different arrangements:

    1. As an employee – where they work for you either in a permanent role or via a fixed-term contract
    2. As a freelancer (or contractor) – either hired by you directly or via an agency/recruitment firm; with the agency performing a mainly administrative role (e.g. billing, payroll, etc) and charging a percentage of the fee paid for the freelancer
    3. As an agency – where the agency is an outsourcing partner; offering a variety of services related to developing apps

     As a new business, you do have a few additional options:

    1. Find a “technical” co-founder – someone who will build, operate and enhance your product for you in exchange for some equity in your business
    2. Apply for an accelerator – where some of these provide development skills and business guidance in exchange for some equity in your business

    So, which one is right for you?

    There’s a lot to weigh up here and it’s not a decision to take lightly. Some considerations include:

    • How much control do you want to have in your company?  The more equity you give away, the less control you have.
    • What’s your budget?  Some options are cheaper for you than others.
    • How much do you want to be “involved” in the technical building of your app? Similar to the budget question, the more involved you want to be, the cheaper it will be.
    • What roles do you need to fill? If you need different skills to make your idea a reality, some options will act as a “one-stop-shop” for all of your development needs. 

    While these are the obvious questions, there are a few other considerations to factor in.

    What are your ultimate goals for the platform or app?

    This is an important question to ask yourself as this affects the type of developer you look for. Are you building an app to sell out at a future stage? Or are you in it to create an ongoing stream of income for yourself? 

    When you give away equity or take on investment funding, there is always the expectation that people will want to get their money back – and then some. There are people that build apps purely for the opportunity to sell it for big bucks some time in the future. This business model generally involves large-scale investment up-front with a view of not making any profit in the short-term (think of any large online platform, and chances are this is how they’ve done it). Investors and founders make their money on the sale of the product (or going public on a stock exchange).

    If you want to build your app purely to supplement or replace an existing salary, then you want to find an option that involves business partner(s) that have the same goals as you do, or you outsource to a freelancer or developer.

    Do you know anyone personally or through a friend or acquaintance that might fit the bill in any of the above categories?

    By far, the easiest way to find a developer is through a referral – either someone you know personally or someone that has a good reference from someone you know and respect. Like anyone that you might hire for your business, trust is an important part of the equation and if you can find someone you trust through your own network, it makes things a lot easier.

    There’s a caveat here – don’t trust blindly! The developer may be good at what they do, but they may not have any experience in your domain or industry. The person you know may have had good results with a developer, but others might not have. Do your due diligence to make sure that the referral or recommendation is the right choice for your project.    

    Who will make a better long-term partner?

    Knowing someone may not be enough of a reason to hire them. Building and running a platform or app is an on-going process. As I explained in Part 4 of my series on product and software development, your product will change and evolve over time. You’ll also have ongoing maintenance and support issues to deal with. This means that ideally, your developer is in it for the long haul. You want someone that isn’t just attracted to the shiny, new platform or app you want to build. This someone needs to stick around after it’s been built. There are so many stories of developers that become unresponsive after the initial launch – mainly because they want to get onto the next shiny project. It’s not always easy to find the right developer though – generally, most will already be taken by the high-paying startups or they work in large corporations.  

    Where does that leave you?!

    You most likely won’t be able to afford to hire a developer in a permanent role and if you want to retain control of your business, then most of the equity options are out. This means you’re left with finding a tech co-founder, using a freelancer or an agency.  

    There is no “best” option here. A lot will depend on the person or agency that you choose – and there can be lots of variation in quality between them. Choose carefully as picking the right developer is an important factor in the success of your development project (check out my tips article for other factors). 

    To wrap up, if you’re looking to build a web/online platform or mobile app and you can’t code, then you’ve got to put together your own development team. There are several options for doing this and you’ll have to decide which is best for you based on your circumstances.

    Want to learn more about building and growing your platform or app? Join our email list to receive regular updates

    Just curious
    Evaluating my idea
    Ready to start building
    Building my product
    Launched my product

    * When you sign up for our list, we’ll send you emails that include news and updates, occasional offers and promotions, and exclusive content and resources to help you on your development journey. We will not spam you. If you don’t wish to hear from us anymore, simply select the unsubscribe option at the bottom of any email that we send to you. To view our privacy policy, click here.

  • What’s scope creep?

    What’s scope creep?

    The term “scope creep” might conjure up images of spiders and other crawling insects, but it’s actually a real concept in software development. I introduced it in my article on “Tips for Building a Web Platform or Mobile App”, and now I’m going to expand on it to tell you why you need to be aware of it and how you can prevent it.

    Scope creep occurs when the size of a project increases after it has started due to the improper management of requirement changes.

    Huh?!

    Ok – say you have a project that starts with a list of 10 things to build. That’s the scope of your project. As you go through the project, you realise that there are another 5 things that you want to build. If you decide to include them in your project, your scope has grown by 50% to 15 things. That’s scope creep.    

    Why do you need to know about scope creep?

    Scope creep is an easy trap to fall into. When you’re building a product from scratch, there’s only so much that you know at the beginning. As you start the design and build process, you learn more about your product, and you think of more things you want your product to do. You want it to be perfect, so of course, you need to include it in the initial version of your product. The new requirement is added to your project – then another, and another – and all of a sudden, it takes months longer to finish the build of your product and costs you more.

    Your developers will love you! They get more money and you get the product that you want.

    So why is this bad?!

    Presumably, when you were planning to build your platform or app, you had a budget of some sort – the amount that you wanted to spend or could spend on development. Better still, you had an idea of the financials required to make your idea commercially viable (e.g. the numbers that you needed to hit to make money). If you fall into the scope creep trap, you might a) not have enough money to complete the building of your platform or app and b) your idea may no longer be commercially viable.

    This notion of scope creep also ties into my article the other week about a minimal viable product (MVP). People often have good intentions and start with building an MVP – and then they get excited – a competitor has this feature that you just have to include, and there’s this really cool feature that you think your users will love. Your initial release gets bigger and bigger, and is no longer an MVP. Also remember, that 80% of features in most applications don’t get used! There’s a good bet that many of your unplanned changes won’t materially affect your product in a positive way.

    What can you do to prevent scope creep?

    There are two main ways that you can prevent scope creep from happening.

    1. Define your product properly upfront
    2. Manage change to your product scope appropriately

    1. Define your product properly upfront

    Scope grows when you realise that there’s something else that needs to be included in your project. So, to prevent this from happening, you need to have a better idea of what you want to build upfront. This involves having a very clear, and often detailed, view of what you want your product to do. Take the time to think through every process and every function that defines your product.  You want to make sure you’ve captured different scenarios that might occur, and the features you want your product to have. This will allow you to have a well-defined scope for your project.

    The reality is that there’s going to be things that you miss – and that’s ok, because now you’re only going to miss a few things rather than lots of things. This is where the second method for dealing with scope creep comes in.

    2. Manage change to your project scope appropriately

    When you discover that there’s something else you need to add or change you to your product, then there’s a few things that you should do before you decide to actually build it:

    1. Prioritise the change: How important is it really? Do you need it in the first version or can it be something that’s added shortly after?  

    2. Get your developers to estimate the size and impact: Understand how much it will cost you to make the change, and how it will affect the overall project schedule.

     3. Evaluate the impact to your financials and business model: Use the numbers to see if you can afford to make the change. Does it affect the commercial viability of your product? Will delays disrupt your launch strategy? Do the benefits outweigh the costs?

    If you do all of this and decide the change is worth it, then go ahead and do it. This doesn’t have to be an extensive, drawn-out process. The point is that you’ve made an educated decision about changing the scope of your project.

    If you’re working under an agile methodology, recognise that your change may mean that something else doesn’t get done. This change may have a higher priority and cause another requirement to be pushed back. You’ve got to decide whether to extend your project to include the lower priority requirement or not.

    Not all change is bad…

    Despite all of this doom and gloom about scope creep, there are often very legitimate reasons for making changes to your project. The lesson here is that you don’t want to be caught unaware of what’s happening. It’s very easy to for a lot of small changes to accumulate and drive your costs up and delay your launch. So, before your start your project, be as sure of your can of what you want your product to do, and while you’re product is being developed, have a process in place so that you can make informed decisions about changes that you want to make to your product.

    Want to learn more about building and growing your platform or app? Join our email list to receive regular updates

    Just curious
    Evaluating my idea
    Ready to start building
    Building my product
    Launched my product

    * When you sign up for our list, we’ll send you emails that include news and updates, occasional offers and promotions, and exclusive content and resources to help you on your development journey. We will not spam you. If you don’t wish to hear from us anymore, simply select the unsubscribe option at the bottom of any email that we send to you. To view our privacy policy, click here.