Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android

Phases in app development

Hi,

I was wondering what the typical phases in the development of a new app are. How do you guys mostly start with an app?

Perhaps material for a new course on Treehouse?

2 Answers

Casey Clayton
Casey Clayton
16,708 Points

Well there are 7 common stages of development, of course everyone will have their own slightly different process but it will generally follow these guidelines.

1. Requirement process/Planning: Which is usually where you are figuring out exactly what you want your app to do and how users will interact with the software.

2. Software Design: This is usually the stage in which a developer will begin to come up with low-level component and algorithm designs. Generally speaking this is when you would starting working on the algorithms that will be required to get your software to function like you want, may involve pseudo coding etc.

3. Implementation: This is where you would actually starting writing the code for your program

4. Software Testing: This is the phase where you would begin testing your software to begin identifying bugs.(Test driven development makes this process go much faster)

5. Documenting: In this stage generally you are going to want to document your code so that maintenance becomes easier in the future if something needs to be changed.

6. Deployment: In this phase is where your first release would most likely be and people begin to use your software. This will also act as a sort of evaluation period when users will begin using it and finding more bugs/issues.

7. Maintenance:This stage is pretty self explanatory, this is where you will be maintaining your software(bug fixes, updates, etc)

Ben Jakuben
STAFF
Ben Jakuben
Treehouse Teacher

Great answer by Casey Clayton!

If you're itching to just get started with something smaller, then try to break it down into small, achievable chunks. Work on one thing at a time and don't be afraid of refactoring because it's a great way to learn. It helps to use a version control system like git so you can go back to different working models.

The one other thing I would recommend is to find a way that works for you to keep a list of "to do" items and other things to remember. I like to document my to do list in comments in one specific file, like the main Activity or Application file (Android) or App Delegate or View Controller (iOS).