1. Are you ready for the Galaxy S20? Here is everything we know so far!

What's your development process?

Discussion in 'Android Development' started by ekor, Jul 21, 2017.

  1. ekor

    ekor Newbie
    Thread Starter

    Hey guys, working on a project and thought I'd get other people's insights.

    So as the title but states my question is when you're starting to develop a new app what's your process?

    Do you think of a name and icon first?
    Or maybe you get straight to the coding?
    Do you design the look and feel of the app before anything else?

    Do you have any tips about making any part of the development process a little easier or maybe more efficient?

    Looking forward to hear your replies! Haha

    1. Download the Forums for Android™ app!


  2. Deleted User

    Deleted User Guest

    I'm a fan of test driven development (TDD). That's because the quality of your testing, directly reflects the quality of the finished application code. I'm constantly amazed at how even professional software development teams neglect the tasks involved with testing. And it's very difficult to 'bolt on' quality into a finished software product, but it's staggering how many people think you can do that.
    There's nothing in my mind that can beat a comprehensive regression test suite. Imagine making a code change, and not being sure if you've broken something. Running a set of automatic regression tests goes a long way to building your confidence.
    So to answer your question, giving thought to how you can test your code, up front, can do a huge amount to making the development process both easier, and a whole lot more efficient.
  3. ekor

    ekor Newbie
    Thread Starter

    Biggest mistake I would make when I started would be making multiple code changes with no testing in between. Probably tripled development time & caused me many headaches. ( I still do it when I get carried away :rolleyes:) Great reply, thanks!
  4. Deleted User

    Deleted User Guest

    I have more thoughts. At the risk of boring, well you don't have to read, but anyway..
    Have you ever heard of Agile development methods? The basic idea is that you develop a small part of the system, test it fully, then move on to the next cycle with a further set of features/tasks. So you incrementally build up the application's functionality in a piecemeal fashion. Think of it as a sequence of complete mini projects, each with its own design, coding, and testing phases.
    Compare this with the traditional, so-called "waterfall" process, where you spend a huge amount of time in each phase of development, which usually ends up with a massive integration and testing crunch at the end. At which point you could discover some basic misunderstanding in the requirements, and spend a massive amount of time putting it right.
    With the Agile approach, you tend to flush out any requirements and design flaws early in the process.
    This way of developing software makes perfect sense to me, and does work.
    ekor likes this.
  5. ekor

    ekor Newbie
    Thread Starter

    Do you stitch together each "mini project" as you go or do you wait until you finish each separately to piece them all together at the end?
  6. Deleted User

    Deleted User Guest

    Ah well this is where it gets a bit challenging. Because the process relies on being able to break the whole thing down into manageable tasks. And also to estimate the time to complete individual tasks. This can be difficult, and requires some experience. At the start of the "sprint" (that's what we call a mini project), the team will get round a table and discuss the tasks and collectively estimate them. The task list is called a backlog, and the team will select those tasks that can fit into the sprint - normally takes 2 to 3 weeks. You would include only the set of tasks which will fit into the next sprint.
    So there is no piecing together as such, because each set of tasks will gradually complete the functionality of the whole system.
    Btw this particular Agile process I'm describing is called "Scrum".
    Ult1mat3X and ekor like this.
  7. ekor

    ekor Newbie
    Thread Starter

    I'm going to give it a go well as best as I can, normally I just jump around and work on different parts of the project aimlessly with a loose plan of what I need to get done. Which obviously hinders productivity.

    Only wish I knew at least one other dev around me so that I could work with in the fashion you stated at full.
  8. Deleted User

    Deleted User Guest

    Yes I have to say what I described above is really meant to be used in a team environment, because there are certain designated roles which team members would adopt.
    But if you're working alone, then you would do well to think about breaking the system down into manageable pieces. Certainly think carefully about the requirements. This can quite often firm up the ideas you have in your mind. I would also say that sketching out the UI design and screen workflow is a good thing to work on initially. This definitely makes things clearer when it comes to getting into the coding.
    But don't neglect testing.
  9. ekor

    ekor Newbie
    Thread Starter

    I'll be my own team
    Hahaha, but yes although I prefer mockups on my laptop over sketching the ui, it helps you see what you need to code
    Ult1mat3X likes this.
  10. Deleted User

    Deleted User Guest

    Yup, being your own team is in a lot of ways, the best way to work. I sometimes despair at the way human beings treat each other. and don't get me started on egos. But I digress. :)

    Yeah mockups are great. I use this thing called Balsamiq, which is brilliant for web UI design. Not sure if it can do Android style.
  11. ekor

    ekor Newbie
    Thread Starter

    True, although I can't talk because I'm pretty stubborn in general so my ego is one of my many faults haha

    Is it anything like axure? I use axure, mockup plusv2, along with photoshop for prototyping apps, web apps, & websites. But always looking for new software to try.
  12. Ult1mat3X

    Ult1mat3X Lurker


    To be honest, I want to state that mobile app name and icon should be done in the end of development, just my opinion.
    At the start, you need to make a scheme of your app, determine which functions must me integrated. You should also have a strict imagination how your app must be working and which auditory will use and (and why?). Then pushing away from these base questions, you may start coding and bring what you invent to life, then solve the design and modeling tasks, and right after you may publish it when ~80% of the project is done. Start collecting opinions - they may help to find any bugs and fix them, also you may hear any good suggestions from community about "how to improve your app", etc...

    If you can't create the app you wanted by yourself, you can also find companies who would help you in implementation.
    You can find may developers online, here is the list represented: https://clutch.co/directory/mobile-application-developers, but personally I would suggest Magora, this fellows know their business really well and my colleague from Danon gives feedback about finished their app dev successfully!

Share This Page