Tag: software development

  • 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.

  • Waterfall vs Agile: An intro to development methodologies

    Waterfall vs Agile: An intro to development methodologies

    Waterfall and Agile are the two most comment methodologies used to build software (e.g. the programs and components that make your platform or app work). In a previous post, I went through the activities involved in software development.  These include requirements, design, build, test and implement. A methodology is the way in which those activities are completed.  It’s the process that you follow to complete the work required to build a platform or app. When you start working with developers, the topic of methodology will most likely come up, so I thought I would review these with you in this article.  

    Today, software is usually developed following one of two methodologies – waterfall or agile. In both methodologies, all of the activities in the software development still need to be completed – the difference is in how they are completed. To recap, the activities in software development are outlined in the diagram below:

    Waterfall

    Waterfall is the traditional software development methodology. In waterfall, you complete one activity at a time before you go onto the next one:

    Here, you start with defining what you want in the requirements phase. Once your requirements have been fully-defined, you go onto the design phase. After your solution has been designed, you go to the build phase. When the build is completed, you test. Finally, once the solution has been tested, it’s implemented.

    Since you must finish one activity before going onto the next one, waterfall requires that you know exactly what you want to build up-front. This means that the requirements for your platform or app have to be quite detailed. The benefit of doing this is that when you know what you want to build, you can get a fairly accurate estimate of how much it will cost.

    The challenge with waterfall is if you come up with changes or additional requirements during the project. In extreme cases, you may have to go back to the design phase and re-think the solution. This often results in the project costing more and taking longer to complete. However, in most cases, if you’ve thought through your requirements, you can get a cost and time estimate for making the change that won’t have too much impact on your project. Alternatively, it becomes something you add shortly after launch.

    Agile

    Agile is a modern methodology that promotes flexibility. There are actually a few different methodologies that fall under the agile bannerd, but the most popular is called “scrum”. In agile, you still need to go through the processes of defining what you want, designing a solution, building it, testing it and implementing it. However, some of these activities are now done in parallel:

    You start with high-level requirements of what you want to build and this is broken down into parts that are completed over a series of “sprints”. A sprint is generally defined by a fixed period of time, so you determine the contents of a sprint based on what can be completed in that time.

    During a sprint, it’s a collaborative process to flush out the details of what you’re building. You and the development team work together (at the same time) to design, build and test each part. Implementation can occur at the end of each sprint or at the end of the project. An important distinction to make here is that an implementation, doesn’t mean that the functionality is made publicly available. It’s basically saying that the software is in a state that it’s finished. You may complete multiple sprints before you’re ready to actually launch the functionality to world.  

    The important part of agile is the element of collaboration. The idea is that everyone is working on a part together, so as you talk about what you want, the designers and developers are figuring out how it will work, coding it, and then getting you to test it out. Given the focus of flexibility, there may be multiple iterations to get it right. It requires a lot of commitment from you to make decisions quickly so that the team can keep going. Also, if you run out of time in a sprint, any things that aren’t finished need to be moved to the next sprint.

    The tricky thing with agile is that the quotes that you get will be based on high-level requirements. This means that as your project evolves, you may find more and more things that need to be included or the building of your platform or app may be more complicated than originally estimated. Your project will end up taking longer and cost more to complete. Contractually, it’s also harder to hold your developers accountable to what is delivered, because you don’t have detailed requirements to include in the contract.  

    So, which methodology should you use?

    If you’re just starting out in software development, the concepts of “requirements”, “design”, “build”, “test” and “implement” are all still new to you. You’re probably not sure what you have to do and you’ve got limited funds, so you want to know that your product will get built for the amount that you’ve allocated. If you have to spend time ironing out what you want to build with your developers, you’ll pay for that privilege. So, in this case, I would go suggest following a waterfall methodology.  

    This is probably going to be pretty controversial with some of the developers and agencies that you come across. However, I believe that agile works best with a trusted team (like a co-founder or full-time employee scenario), where you’re not counting the hours to get something done. Everyone on the team (including you) needs to know what to do to make each sprint count. You don’t want to run out of money before you finish building your product! You’re also dealing with a very small team – probably 3 or 4 at the most. Agile has more benefit with larger teams where people are working on different, but related things, at the same time. If you’re dead set on agile, I suggest switching after your initial launch. You and your developers will be more comfortable working together and it’ll be a lot easier to work in an agile way.

     I do have a caveat on this. I also advocate starting with the smallest possible project that you can. It’s much easier to start small and build on something that already exists. Compare that to starting with a massive project, which will carry with it a lot more risk. Remember that you can always implement without launching, so the waterfall approach can become pseudo-agile with lots of small projects. This will allow you obtain some of the benefits of agile, while allowing you to gain experience on how software development works and to get a more accurate estimate of the costs.      

    So there you have it – an introduction to waterfall and agile.  A basic understanding of these methodologies will give you some context into how developers and agencies build platforms and apps.  If you have any questions about this, please pop them in the comments below.

    Looking for a developer?
    Get my 10 essential tips for hiring the right developer for your project.
    Download it now for free!
  • The Story of the GPC Logo (and what it means to you)

    The Story of the GPC Logo (and what it means to you)

    For today’s blog post, I thought I’d share a story with you. This one, like most stories, comes with a lesson for you about building and growing your web platform or mobile app.

    The story begins about ten month ago, when a young (ahem) lady decided to go out on her own and start a new business. Even though a lot of people are shunning business cards these days, this lady decided that they were still worthwhile for handing out at networking events (and to give to family and friends!) So, to start, a logo and branding needed to be created.

    As most marketers will tell you, to create your brand, you need to understand a bit about who you are, what you want to do, what you stand for, who you plan to sell to, etc. All of these go to influence some important visual elements of your brand – the name of your business or product, the colours you use and the fonts that you pick.

    A logo – basically consists of some colours, and maybe an image and some text. Some might even have a picture. Seemingly a simple thing – but it says so much about your business, which is why it’s so important. You want people to say nice things about you!    

    There are lots of graphic designers out there who can help you come up with a brand and logo. However, if you’re even slightly creative or have a limited budget (like I did), then head to Canva where they have a category called “Logo” to get you started.  Canva basically allows to design and create visual things – think business cards, posters, presentations, social media images, product labels, etc.  

    People can spend ages coming up with a brand and logo. Lucky for me, it was fairly straight-forward. A flick through the available logo templates in Canva, some tweaking of colours, a change of font and voila, I had the start of a logo. I showed it to some trusted advisors (a.k.a. my artistic friends), updated a couple of things and I was done!

    What made it easy for me was that I knew I wanted a circle of some sort in my logo.

    “So why did you I want a circle in my logo?”, you might ask!

    Well, I wanted to reflect the circular nature of the software and product development processes. Most people think that you start with an idea for a web platform or mobile app, build it, launch it and then you’re done. In reality, the development never stops – which is why we call both software and product development – “lifecycles” (For more info on these processes, check out this article).

    Once you’ve launched your app, you find yourself in a constant cycle of updates. Some you have to do (e.g. operating system upgrades for mobile phones, new legislation, etc.) and some will be driven from your customers, and your business strategy and processes. If you’ve already spent a ton of money building your app and the thought of spending even more money on development makes you cringe, I’m sorry to tell you that you might have to revisit your numbers to fit this in. However, for the most part, these changes are actually a good thing – and it’s what makes software and product development pretty exciting.

    There’s a good bet that when you launched your product, the product that you ended up with is at least a little bit different from your original idea. You’ve learned a lot along the way and now it’s time to take your product to the next level! The cyclical approach to development ensures that you can continue to improve and grow your product. Pick the right changes to make, and your product will help you to achieve your goals.

    The circle in the GPC logo is not a solid one.

    Did you know that there are a lot of different ways that you can draw a circle? Canva certainly has a few! So, how did I end up with this one?

    Did you know that research suggests that only 16.2% of software development projects finish on-time, on-budget and with the features and functionality requested? (Chaos Report, The Standish Group, 2014) What an appalling stat!

    Despite the number of apps and web platforms that get created every year, software development is not a perfect science. There are so many places where things can go wrong – not defining your product well enough, picking the wrong things to build, hiring the wrong developers, testing the wrong things, not testing enough, testing too much… the list is endless. With so many potential points of failure, it’s definitely a tricky road to navigate.

    So, based on all of this, I wanted the GPC circle to reflect the imperfect nature of this process. It’s also why one of my main goals is to help my clients successfully complete their development projects.

    And that’s my story…

    The GPC logo was built to be simple, but meaningful.  I hope that my little story gives you some insight into building and growing your platform or app.

    The next time you see the GPC logo, think about how you’re going to prepare for the cyclical nature of developing your product, and how you can address some of the potential pitfalls along the way so that you can have successful development projects.

    If you want to discuss how you’re going to navigate the road to building and growing your app, sign up for a free 30-minute discovery session* to make sure you’re on the right track.


    * When you sign up for a discovery session, we’ll also add you to our mailing list so you can receive emails from us (with your consent). These emails will include news and updates, occasional offers and promotions, and exclusive content and resources to help you on your development journey. You may also receive follow-up emails in relation to the discovery session. 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.

  • Telling a developer what you want your app to do (challenges and strategies)

    Telling a developer what you want your app to do (challenges and strategies)

    A common challenge of non-technical people building web platforms or mobile apps is that they struggle with how to tell a developer what they want. Defining your product is part of the requirements writing activities in the software development process and it’s an important part of building your app.

    Imagine you describe a feature to your developer and when it’s ready, it doesn’t do what you want it to.  Sound familiar? It’s actually not uncommon for this to happen. So, in this article, I’ll explore why this is the case and provide some strategies for overcoming it.

    A different skill…

    Explaining and describing things is a skill and so is writing. These are skills that we all have – most people have written an email or told a story. However, it can be a lot harder when you’re trying to articulate what you want your product to do.

    Imagine you want to buy a house and you’ve engaged a real estate agent to find you one. When asked what you want, you might say that you want to live in a particular area and you might mention the number of bedrooms and bathrooms that you’re looking for and may be a price range. The agent finds you a bunch of houses and you go and look at them. You then realise that you forgot to mention that you want a single-storey house and that it should be detached and have a pool and a lockup garage, etc. The real estate agent comes back with another list of properties – and you realise again that there are some more things that you want.

     This example illustrates what happens in app development projects all of the time! People are constantly adding to their list of “wants” and all of a sudden, the project takes longer and costs more than you anticipated.

    Have you also noticed that we very rarely talk about what we want in life at a detailed level? When we’re asked to do it, it can take us a while to come up with a really good answer. It takes even longer if we’re asked why we want what we want. When we’re documenting what we want our product to do, we’re doing just this – and if we haven’t practiced this skill, then it takes a lot more time and effort to do and we might not be able to do it very accurately.    

    A different audience…

    There are a lot of people that write for a living – newspaper journalist, author, screenwriter, songwriter, technical writer, website content writer, etc. All of these people fundamentally do the same thing, but they write different content and for different audiences.

    Telling a developer what you want works the same way – which means you have to write for your audience. 

    It feels like it should be easy – but it isn’t. Developers generally have minds that work a bit differently – and so they should. It’s what allows them to do the great things that they do. It also means, that if you don’t tailor your content in a way that a developer understands, it’ll be a lot harder to end up with the product that you want.

    Different content…

    The final reason as to why it’s so hard to tell a developer what you want is that you’ve probably never have had to talk about this kind of stuff with anyone before! Building an app is likely a new experience, so you might not realise that there are some things that you were meant to tell your developer.

    For instance, did you know that you have to tell your developer your expectations for how many people will use the app? How quickly you think your platform will grow, etc.? What information do you want to collect in a form? What kinds of reports do you want? What fields should display on those reports? These are the kinds of things that you probably don’t think about when you’re defining your product.  

    Like any profession, developers come in different forms – some are purely coders and follow instructions to the “T”. This is where the level of detail in your content is very important. You can also get developers that are a bit more adaptable and will ask questions for clarification. However, you still need to give them enough content so they can understand what you’re trying to do. Remember, any time they have to clarify something, that’s time taken away from coding your app.

    Strategies…

    So, with all of these things working against you, how do you effectively tell a developer what you want?

    Learn the skill:

    Defining your product and what you want it to do is a skill. In apps and software development, it’s actually quite a specific and difficult one. There are people that get paid 6-figure salaries in large organization to do this. I know this, because I was one of them! So, how do you learn this skill without years and years of experience?

    First start by understanding what information you need to provide and how to structure it. You can look for some examples of how others have done this before (search for “good business requirement examples”). Model your own writing after these examples – and then keep going. Odds are the examples that you find are going to be high-level ones, so you need to dive a bit deeper to get the level of detail that you need for your app.        

    Know your audience:

    Developers are coding programs for a computer to interpret so start to think like a developer. How you describe your product to a developer is going to be very different to how you might describe your product to a potential customer, so adjust accordingly.  

    Start by being logical and systematic in what you write. Use “if this, then that” language to describe how someone will interact with the app and how decisions should be made. Write in bullet points and avoid long paragraphs. Draw diagrams to illustrate concepts. Find examples of existing apps that can illustrate what you want your app to do.

    Write it down:

    Basically, if you want your product to do something, then you’re going to have to document it for your developer. They can’t guess what you want – and if they did, chances are, it wouldn’t be the same as what you imagined. Think about your experience with an online tool or app – what happens normally? What happens when something goes wrong? If you want the field on a form to be a drop down, then you’re going to have to state that in your requirements.

    To make sure you have the right content, think about all of the processes required to make your product work. Think about all of the people that will use your app and how they will use it – I’m talking about all of the support functions that will be needed to run your app too. Also, spend some time thinking about the detail – use workflow diagrams to map your person’s journey and then consider, in detail, what happens at each step.

    Building an app for the first time is quite a feat. There is a LOT involved – and you have to tell that developer exactly what you want. It’s a very good bet that if you don’t, you’ll end up with something you didn’t want. That’s just human nature – we make assumptions based on what we know – but those assumptions may be different from someone else. So, if all else fails, write it down!

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

    If you haven’t guessed already, I’m pretty passionate about this kind of stuff. Web platforms and mobile apps get built all of the time, so people have found a way to get past these challenges! But how much time did it take and how much did they have to spend?!

    My aim though is to get you to the other side without wasting time and money having to clarify what you want or extending your project because there were things that you forgot to include. I hope my strategies will make it easier for you to tell a developer about what you want them to build.


    * When you sign up for a discovery session, we’ll also add you to our mailing list so you can receive emails from us (with your consent). These emails will include news and updates, occasional offers and promotions, and exclusive content and resources to help you on your development journey. You may also receive follow-up emails in relation to this session. 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.

  • Tips for building a web platform or mobile app

    Tips for building a web platform or mobile app

    Curious about how to get your web platform or mobile app developed?  There’s a lot to figure out and sometimes it helps to get a few pointers on what to look out for.  So, in order to get you going in the right direction, I wanted to share with you some tips to help you successfully complete your app-building project and to set yourself up for running an app business.

    Building products and businesses are complex at the best of times – there are lots of moving parts, so you want to arm yourself with as much information as you can. These tips will give you a glimpse into the kinds of things that you’ll have to think about to get your app built and launched.

    Here are my 10 tips for building a web or mobile app:
    1. Validate, validate, validate:  How you do you know if your idea is “great”? Is this the idea that you should be building? You can save yourself lots of time and money by evaluating your idea and deciding whether it should be built in the first place.  See last’s week’s article on ways you can start to validate your idea.
    2. Learn how software development works: If creating a web or mobile app is new for you, then you need to learn more about how they get built. There’s actually a process for doing this – called the software development lifecycle. You should find out, at a high- level, what activities and outputs are involved in this process. This will make it easier to communicate with your developers and you’ll know what you need to do and what happens next.
    3. Start small: Think of the most bare bones version of your product and build that first. You want to make sure that your product really solves your customer’s needs, wants or goals. Starting small means that you don’t spend lots of money when you don’t need to. You can get something tangible built in a shorter amount of time. You may not be able to launch this product, but it will give you something to build upon. It’s always easier to build on something that has already been built than trying to build everything upfront.
    4. Define your product in a way that a developer can understand: You may think your developer knows what you want them to build – think again. The brain of a developer is wired differently from yours – it’s what enables them to do what they do! Unfortunately, this means that you might end up with a product that doesn’t do what you want it to. Developers expect their instructions to come is a certain way, so you need to learn the best way to define your product.
    5. Focus on “what” you want to do rather than “how”: “What” describes the activities and features that your product will provide; the “how” is the design and technical solution that will deliver what you want your product to do. If you provide a “how” to your developer – that is what they will build – even though it may not be the best approach for your product. Once the “what” is nailed down, you can work with your developer to decide on “how”.
    6. Prioritise what you want to build: It can be easy to make everything a high priority – a “must have” for your big launch. The reality is that if you build everything you want, you’ll never launch. You should prioritise based on how much something helps you to achieve your goals and those of your customers and users.
    7. Find a great developer: This is one of the most important factors for a successful project. If you don’t find the right developer for your project, you face an uphill struggle to build your product. You need to find a developer that has as much interest in your product as you do. Check references and find opportunities to “test” them before you hire them. Building trust and a strong relationship with your developer is paramount.
    8. Carefully manage the scope of your project: Scope creep occurs when the size of a project increases after it has started due to improper management of changes for what you want to build. This causes the cost and schedule of your project to blow out. Track any changes that you want to make to the product and have a process in place to evaluate whether it’s really needed.    
    9. Be structured in your testing: Testing is about making sure that your product works as you expected. It’s pretty much guaranteed that it won’t – even with the best developer in the world. A new product is a complex thing and it will have problems. This means that you need to have a structured approach when you test your product.
    10. Plan for what happens after your initial product has been built: Before your product is launched, there are several things that you need to plan for including; getting a copy of your code, defining how changes to the “live” product are managed, backing up and recovering your product if something goes wrong, getting access to any admin passwords and setting up a process for managing issues. Building your product is just the beginning – there’ll be lots to do on an ongoing basis.
    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.
    Any tips to share?

    There you have it. My ten tips for building a web or mobile app. Of course there are many more, but these should get you going if you’re starting from scratch. If you’ve done this before and you’ve got other tips that you’d like to share, please leave them in the comments below.


    * When you download a copy of our cheat sheet, we’ll also add you to our mailing list so you can receive emails from us (with your consent). These emails will include news and updates, occasional offers and promotions, and exclusive content and resources to help you on your development journey. You may also receive follow-up emails in relation to this download. 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.

  • Intro to Product and Software Development and Product Management (part 4 – launch and beyond)

    Intro to Product and Software Development and Product Management (part 4 – launch and beyond)

    You’ve finally made it! You’re ready to launch your product – but what does that mean? In the last article of this series on product development, software development and product management, I’ll talk about the “Implementation” and “Launch” phases. If you missed the other parts in this series, you can find part one (intro) – here, part two (beginning) – here, and part three (building) – here.

    Product Development

    In the “Launch” phase of product development, you introduce your product to the world. You execute the launch activities that you prepared during the “Develop” phase and your product is now ready for people to use.

     A few weeks after your launch, you should perform a review of your project to see what learnings can be gained. This will allow you to improve your product development processes as you continue to grow and enhance your product. From a product development point of view, you’re done for now and the product management part kicks in.

    Software Development

    “Implementation” is about installing your app wherever it needs to go (e.g. making it available on the App store or Google Play store, installing the code on the host, etc). Your developers will also tidy up their work so that they’re ready for the next project.

    There are situations where you may choose to not make your app available to people right away.  This might happen when you break down a technical project into multiple parts and spread out the delivery over several phases.  Alternatively, you might complete the implementation but delays to your marketing or other launch activities may prevent you from making your app available.

    Once the app has been launched (a.k.a “gone live” or “in production”), your technical team should be around to support it in case something goes wrong. You’ll need to spend some time defining some processes around this so that everyone’s expectations are clear on what needs to be done.

    Product Management

    Finally, the product management component comes into play!  Now that your product has been launched, you start to manage it through its lifecycle. Initially, you focus on the “Introduction” phase.

    Notice that things start slowly – don’t expect a big rush of sales on Day 1! This is where you wear your marketing and sales hats to make people aware of your product and to build their trust in your business. Ideally, you’ll do some prelaunch activities to start the awareness process.  You might leverage your email lists and social media platforms to get your first customers. When you’re a team of one, creating awareness takes time, and often some money, as you don’t have a team of people to help with all of the work.

    After your initial sales, you’ll be monitoring the progress of your marketing and sales activities, getting feedback from customers and looking to get yourself to the “Growth” stage. This (most likely) will include adding more features and functionality to your app. This is where the product development and software development processes kick in again. First, you talk to your customers, watch competitors and research the market to see where changes need to be made (ideation). You then decide which ideas to pursue (analyse). Next, you document what you want build (define and requirements) and you build the changes (develop, design, build and test).  Finally, you make the changes available to your customers (launch and implement). This development cycle is ongoing – so be prepared to continually invest in your product. 

    In the “Growth” phase, you’ll often see a lot of sales without having to invest a lot of money in marketing, sales and new app changes. Eventually though, this high-growth stage ends and you hit the “Maturity” phase where your sales will level out. You can choose to extend the Growth stage by looking for different ways to enhance your product. Alternatively, you can also look at targeting new customer segments or add features and functions that generate revenue from an entirely different source. You may also decide that you don’t want to continue to invest in the product and look to sell it.

    Eventually though, all products make it to Maturity and into “Decline”. Decline is where sales start falling off and your product starts becoming less profitable. During Decline, you look at how to manage your exit from the product and even remove it from the market.

    Wrap Up…

    So there you have it – this is the end of my 4-part series on product development, software development and product management. I hope it’s given you a good overview of what is involved in building a web platform or mobile app.

    Don’t worry if it all sounds a little overwhelming – you’re just getting started! You didn’t just wake up one morning and start walking – it took some time to get there. Think of building your web platform or mobile app in the same way – take it one step and at a time and you’ll find yourself learning as you go.  

    If you have questions about this series, then please leave them in the comments below.

    Don’t miss a post!
    Join our mailing list to get tips and updates via email
  • Intro to Product and Software Development and Product Management (part 3 – build your app)

    Intro to Product and Software Development and Product Management (part 3 – build your app)

    I hope you’re starting to get a feel for what’s required to build an app. I’m now onto part 3 of my series on introducing concepts in product management, product development and software development. In part 1, I provided a general introduction to these concepts and in part 2, I looked at what happens at the beginning. In this post, I’ll cover what it takes to bring your product to life by focusing on the things that are involved in actually building your app.

    Product Development

    In product development, building your app involves “Develop” and “Test” activities:

    “Develop” involves designing and building all of the components required to deliver and run your product. This is the fun stuff! Here, you take all of your requirements (what you want), you find a solution for them (how it works) and then you build it. This should not only include the technical bits for your product (see below under software development), but all of the manual processes required to support your product (e.g. customer servicing, accounting, etc) and the “administrative” things required to run a business (e.g. logos and branding, bank accounts, business registrations, terms and conditions, privacy policy, etc). These non-technical pieces are just as important as building your app – so please don’t forget about them! The develop phase includes planning your testing activities as well.

    “Develop” activities also includes thinking about how you want to launch your product and to whom.  This will allow you to prepare things like content and advertising ahead of time. You should come up with a plan for your launch; including your launch activities and the tasks required to execute your launch. You may also want to start some prelaunch activities to get the attention of early customers.  Launch activities should not be limited to marketing and PR.  They should include all of the bits and pieces needed to get your business up and running as well (e.g. starting insurance, etc).    

    After your product and operational processes have been built, you need to make sure everything works the way that you want it to and the way it was designed to. This is what “Testing” is all about. You not only have to test “normal” scenarios but also what might happen if things go wrong. This is an important step because you don’t want your new customers to have a bad experience when using your new product! Creating and developing a proper testing process will help you to ensure that nothing gets overlooked and forgotten.

    Software Development

    In software development, building your product involves three activities: “Design”, “Build” and “Test”:

    First though, you’re going to have to find a developer. This involves deciding how they’ll fit into your team (e.g. employee, freelancer, co-founder, etc), finding the right people and getting some estimates (or negotiating a salary or equity). You may also choose to hire a UX (user experience) designer to create the screens for your app.

    The “Design” phase is about coming up with the technical and functional solution for your product. The final look and feel and layout of the screens will be determined. Solutions will also be defined for the processes and functions in your app. Some other technical things will probably also be done to prepare for your app to be built – like finding a hosting site, setting up a code repository, creating developer accounts for mobile apps, etc. 

    It’s important for you to make sure you review and approve your solution. You want to see what you app will look like and understand how it will work.  It’s easier to adjust things at the design stage rather than waiting until after your app has been built!     

    After your app has been designed, you get to the actual “Building” (finally!) Here, the developer codes your app and performs some testing on the code components. You’ll probably be required to provide the content that your app requires and if you’re building a mobile app, you may want a separate website as a marketing tool. It’s also during this phase that you’ll take your solution and determine how to test it.  

    In large corporations, the “Test” phase is broken down into different types of testing. The technology team covers “systems”, “integration” and “performance” testing, while the business team will organise “user acceptance” and “beta” testing. A summary of each type of testing is below:

    • System testing is about making sure everything within the app works correctly from a features and functions point of view.
    • Integration testing is for making sure that the app talks with all other applications (think payment gateways, email automation, CRMs, etc) correctly.
    • Performance testing is used to check the speed and responsiveness of the app under different conditions.
    • User acceptance testing allows the business (e.g. you) to check that the app works in the way that they expected it to.
    • Beta testing puts your app in the hands of “real” users so they can put it through the rigours of everyday use.

    Unless you hire a full-service agency, it’s a good bet that you’ll end up doing all of the testing for your app – except for performance testing. Testing involves a different skillset from coding, so you’ll find that many developers won’t be able to do this properly.

    As the business owner, you’ll need to keep an eye on your development team during these activities.  You’re the “project manager” for your project which means you’re responsible for making sure your product gets delivered! Your development agency may provide a project manager – but that will only be for the technical components. You’ll still have to oversee all of the activities required to build your app – even managing your project manager!

    “Design”, “Build” and “Test” activities can occur simultaneously as your product is broken down into pieces and each piece is completed before going onto the next piece. This collaborative approach often allows you to develop product components a lot faster as team members are working on something together which reduces the amount of back-and-forth time and decisions are made more quickly. However, it does require some experience with the software development process to work this way and you’ll have to be a lot more involved in the day-to-day project activities.

    As you can imagine, there’s lots do here – not just on the technical side, but also on the business side.  It’s easy to feel overwhelmed.  Knowledge is power though – and if you know what to expect, you’re one step ahead!    

    Product Management

    You still haven’t launched yet, so there’s not much managing that you need to do. As mentioned previously, you’ll have to put together a launch plan so that you can get those early customers on board.

    …. and you’re ready for lift-off (almost!)

    So there your have it – you’ve built and tested your app. You should be comfortable with the way the app is working and you have completed all of the preparation activities for your launch.

    In the final article of this series, I’ll look at the last phases in software and product development – the implementation and launch of your app. I’ll then explore what happens next.

    [last updated: April 20, 2018]

  • Intro to Product and Software Development and Product Management (part 2 – at the beginning)

    Intro to Product and Software Development and Product Management (part 2 – at the beginning)

    In my last post, I introduced you to the concepts of product management, product development and software development. In this post, I want to bring it all together and explain what it means to a non-technical person starting on their app development journey. This all might seem a little daunting, so for now, here’s what you need to know:

    Product Development

    “Ideation” and “Analyse” are the most important parts of product development. In these phases, you need to be able to come up with an idea and see if it’s worth building:

    There are lots of different ways to come up with ideas for an app – but most usually come from personal experience – either at work or outside of work. Look for problems in your day-to-day life that might need solving.  Maybe it’s something in your industry or something in your job role.  Maybe it’s something at home, while travelling, parenting – the possibilities are endless!  

    After you have an idea, you want to make sure it’s the right one to pursue.  What makes you the right person to build this app?  Where might you need help? How big is the market? What’s the competitions like? There are lots of ways to evaluate your idea.  If you don’t validate your idea, then the rest of the process is really irrelevant. Validating an idea is about making sure you don’t want to waste your time and money on building an app that doesn’t allow you to achieve your goals.

    The product development process has natural “gates” that give you permission to stop what you’re doing and to go onto the next idea. If you don’t think your idea is good enough, keep repeating the “Ideation” phase until you have an idea that is more desirable. In the “Analyse” phase, if the idea doesn’t pass your validation criteria, you go back to the “Ideation” phase.

    Click Here
    To learn more about idea validation

    If you’ve decided to go ahead with developing your idea, you’ll then need to “Define” your product. This is about writing down what you want your product to do. This is an important process because it dictates how your product will end up!  Spend some time here really understanding the processes that people will go through, what you want them to do, what they’ll want to do and what information needs to be captured and stored. Also, consider all of the processes that might be involved in running your app – for example, how will people contact you if there is an issue? How will you respond to them? etc.

    Software Development

    The “Requirements” phase of software development overlaps with the “Define” phase of product development, so your defined product also forms the basis for the Requirements phase. The Requirements phase in software development will focus on the actual app being built; whereas the Define phase will look at everything that’s need to deliver and run the product.

    This phase is about telling people about what you want build – which makes it pretty important! If you can’t articulate what your product should do, then you might end up with something that is vastly different from what you expect. You’ll then spend a lot of time and money trying to make it right.

    Developers use the information that you provide about your product to estimate the cost of building it. This means that you want to be very clear about what you want your app to do. A lot of projects end up costing more money and take more time to complete because new things come up later in the project.

    Product Management

    Your product hasn’t been built yet, so the elements of managing the product through its lifecycle don’t come into play yet. However, you’ll want to start thinking about who your first users will be as you enter the next stages of building your product.

    What happens next?

    After you’ve figured out what your product needs to do, it’s time for you to start building. In our next article, we’ll look at getting your app designed and built.

  • Intro to Product and Software Development and Product Management (part one)

    Intro to Product and Software Development and Product Management (part one)

    In my last post, I talked about app building being a complex process, so in this post, I want to introduce to you some of the processes and concepts that you’ll need to be aware of. Building a web platform or mobile app falls under several disciplines and it’ll help your journey if you understand a bit about each one. These disciplines are:
    • Product development
    • Software development
    • Product management

    For those of you that have known me for years and haven’t figured out what I do – hopefully this will give you an answer!

    Product Development

    Product development is all about building and enhancing products and services. This is the process that you’re going to go through to build your app. Traditionally, this process has six phases that are summarised below:

    Product development is a cycle because you need to continually fix and enhance your product in order to meet the needs of your customer.

    In product development, we look at the whole end-to-end customer experience – not just the product itself. Therefore, the define, develop, test and launch phases have to include all areas of your business; including sales, marketing, operations, customer support, security, legal, accounting, etc.

    Product development can also follow a process called “lean startup” which considers three stages in a startup business – Problem/Solution Fit, Product/Market Fit and Scale. The goal is to first find the right solution for a particular problem. You then find the right market for the product. You only start to scale the business after all of that is done. Lean startup involves completing small “experiments” that address the first two stages. This allows you to be confident that you have the right product before you try to grow your business. While taking a different approach to developing a product, the six activities in the product development lifecycle are still undertaken. However, the product is developed over a series of iterations rather than as one big project.

    Software Development

    Software contains one or more programs that provide instructions on how to execute a set of tasks. It is differentiated from hardware, which is the physical device where the software runs. These days, software is behind all kinds of everyday things – both on the Internet and in person. Software is what allows you to make an online restaurant reservation, view a video on your computer, get directions on your phone and pay for something at a store with a credit card.

    In software development, you are generally building software to allow you to do something for someone. Software development is made up of a set of activities that form a process called the “software development lifecycle”. These activities are summarised in the picture below:

    It is a cycle because after implementation, you continue to fix or enhance the software, which requires you to complete the same activities again. A project can contain one or more cycles of development.

    There is an additional activity that runs across all of these other activities called project management. This is about making sure that the cycle of development is completed on time and on budget based on the defined requirements for the project.

    Product Management

    Product management is about managing the lifecycle of a product or service from when it is first launched to when the product is no longer available. It applies to every product or service you can imagine – not just web or mobile ones. The product lifecycle has four stages, which are summarised below:

    During these four stages, it’s up to the product manager to make decisions about what should happen to the product based on how it is performing. In the case of small businesses – that person will be you! Some of the decisions that need to be made might include selling the business or removing a product early if sales are not as high as expected. Alternatively, changes or additions could be made to the product to try and boost sales. On the flip side, if a product is doing well, introducing changes to a product could extend its life by creating another growth stage. As a business owner and entrepreneur, these are some of the difficult decisions that you’ll have to make for the products that you want to sell.

    As you manage the lifecycle of your product, you decide what products to build and how you want to update and change that product through its lifecycle. The changes that you make to your product are executed through the product and software development processes.

    Product management requires you to think about all aspects of how a product or service works and how it is delivered to your customers. This means that you have to decide how to promote it (marketing), where and how to sell it (distribution and sales), how to build it (R&D, technology, manufacturing, etc), how to deliver it (operations) and what happens when something goes wrong (customer support, technical operations). All of this has to be done with the regulatory and technological environment that you operate in (security, legal, accounting, etc). In large corporations, there are other people and teams that are responsible for these things. However, when you’re starting your own business, you usually have to take on all of these roles yourself – if you decide to start a café and your cook doesn’t show up, then you might have to take over for the day!

    Fitting it all together

    Product development and software development run parallel to each other to allow you to launch new products and updates. It’s important to recognise that building software is only part of what is needed to launch and run a product – the two processes need to work together.

    Product management drives the ongoing need for these two processes. After your initial launch, you look at the performance of your product through it’s lifecycle and you make decisions about what changes to make to it. Each change will go through all of the activities in the product and software development processes so that they can be incorporated into the product.

    Over the next few posts, we’ll apply these concepts and process to building a web or mobile app – starting at the beginning.

    Have any questions about these processes and concepts? Please feel free to leave me a comment below.