Apps What's your development process?

ekor

Newbie
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
 
D

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.
 

ekor

Newbie
Thread starter
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.

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!
 
D

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

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?
 
D

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

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

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.
 

ekor

Newbie
Thread starter
I'll be my own team
c74.jpg

Hahaha, but yes although I prefer mockups on my laptop over sketching the ui, it helps you see what you need to code
 
D

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.
 

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.
 

Ult1mat3X

Lurker
Hey,

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!
 
Top