+1  A: 

Here's a response to your edit.

There are several different software design methodologies. The most common methodology is the Waterfall method.

An article discussing the difference between Agile and Waterfall is here.


Here's a presentation on the subject that might help.

Also, I know it's a tad cliche', but the Wikipedia articles on general subjects like this are typically pretty good for gaining a high-level understanding of a subject. Also, there are similar articles outlined at the bottom to help you fine-tune your understanding of a specific topic that you may be interested.

Here's another article on the subject.

And finally, there are a slew of books on Agile Development that range across several difficulty levels and can be used to lay a really solid foundation.


From Wikipedia

Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. The Agile Manifesto[1] introduced the term in 2001.

Proponents of agile methods believe that they promote a disciplined project management process for software development that encourages frequent inspection and adaptation, teamwork, self-organization and accountability, a set of engineering best practices for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.

Robert Greiner
@Robert Greiner thanks for replying, I edited my question. Please take a look..
piemesons
A: 

Broad subject, books have been written on this question, however in its simplest sense:

Quick iterations demonstrating functionality of an application focusing more on user feedback for refinements as opposed to prerequisite waterfall style specification documents.

RandomNoob
@RandomNoob thanks for replying, I edited my question. Please take a look..
piemesons
A: 

Agile Manifesto comes to mind as one of the things that comes to mind when someone talks Agile.

There are some practices that are considered as part of Agile, such as having storyboards, Scrums, and sprints as part of overall structure. These are just an interpretation of how to implement the ideas behind Agile as in a way there are many things that could be called Agile to my mind.


As for other kinds of development, there are a few that come to mind:

Waterfall - This is where the requirements gathering, design, implementation and testing are all done as independent steps and done in order so that at any point only that one aspect is done. Thus, once the requirements are gathered, they can't be changed until the end of the project. This can work for projects where such blackout like periods are acceptable but generally this can be hard to use in a lot of situations.

Ad-hoc - This is where there isn't a formal methodology and "it just works" come to mind for how it would be described. The problem here is that without any structure, it isn't easy to add people to the project and not cause issues to some extent.

JB King
A: 

There's a lot of different "agile methodologies", each one with their own specifics. At the end of the day, to me, the ideas that have in common are:

  • Be open to changes. What will be wanted next week is not always (or even commonly) what is wanted this week.
  • Release frequently, even if only internally, so that you and your "customer" can see how and where things are going, and provide feedback/changes.
  • Communication is key; with customers, teammates, managers, and everyone else. It shouldn't get in the way of doing actual work, but it should be frequent.

The above simplifying to:

  • Be open to changes
  • Make sure what needs to change can be identified
  • Make sure you know what changes are needed
RHSeeger
A: 

It means when you develop something you set out expecting change, because up-front documents don't matter, the truth is nobody knows what they want. So you try to use technical practices that make changes easy, like iterations, pair programming, test-driven development, and adoption of toolsets like Rails, with the intention that the curve you normally expect over the life of the application (showing the amount of effort it takes to implement a feature as the codebase grows) is flatter than it would be otherwise.

Nathan Hughes
A: 

Agile Development is basically an overarching idea as stated by the Agile Manifesto. It is a reaction against a Waterfall method of implementing software where all requirements are understood up front. It allows for change throughout the development cycle and allows for the discovering of what the software does throughout the whole process.

For implementations, checkout eXtreme Programming and Scrum.

Chris Johnston
+1  A: 

It means you are supporting changes even after you accept them with pretty much 0 documentation :)

http://en.wikipedia.org/wiki/Agile_software_development

Kosala Nuwan