Applied Agile Software Development


Applied Agile Software Development

Agile Software Development (ASD) is a set of principles; Applied Agile Software Development (AASD) is one of the choices for making ASD work. AASD is a very tangible set of procedures to develop software in a mature and efficient way, based on the principles of ASD. AASD is comparable to XP and Scrum.

The main principles of Applied Agile Software Development's procedures are
* they should be very applicable; never propose a procedure that is "good in theory, but can't be used in practice".
* the procedures should mention all needed software tools (such as SubVersion, Eclipse, etc.), and its versions.
* there's strong emphasis to use FOSS tools, but that's not an imposition of the method. That is:
COTS tools are not forbidden. The most important goal is to have the method to be really applicable, useful and productive.
* this method is in constant enhancement, pursuing the excellence in Software Development.
* this method is being developed in a collaborative way, and external contributions and reports are welcome; that's why it is being documented mainly in Wikipedia.

cope

AASD can be applied theoretically to any computer language. Most examples here will be given to Java, and C++.

Actors

* Customer
* Software Firm Entrepreneur
* Analyst
* Software Development Manager
* Developer

Workflow

An issue is created in state "new".

The manager makes the issue to go to "queued" state.

When the developer actually starts to code, he/she should change the state to "coding".

When the developer finishes the issue, the state should be changed to "done" and assign the issue to the tester; this state has also the meaning of "test queue".

The tester sees the issues in "done" state as work assigned to them, much like the developers look to states in "queue" assigned to them. The testers do the test and accept or reject. Accepted tests go to "tested" state, while non accepted states go back to "queued".

The "tested" issues remain in this state until the manager changes them to "closed".

"closed" issues are the ones out of focus, that remain existing for documentation purposes; "closed" issues can be reopened by the manager if some new demand happens related to the issue.

oftware Tools

* Source Code Server (repository) [http://subversion.tigris.org/ SubVersion] . Other software of the same category: [http://www.nongnu.org/cvs/ CVS] , Visual_SourceSafe.
* Software Development State Workflow (also known as bugtrack system) [http://www.mantisbt.org/ Mantis] . Other software of the same category: [http://www.bugzilla.org/ Bugzilla] .
* IDE (Recommended: Eclipse, other options: NetBeans)
* Coding Standards Auto-Critic
* BuildID Stamper

ee also

*Agile Software Development
*Software Engineering
*Extreme programming
* [http://www.sbvb.com.br/aasd sbVB page about AASD]
* [http://en.wikipedia.org/wiki/User:Sbvb sbVB]


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Software development process — Activities and steps Requirements Specification …   Wikipedia

  • Software development methodology — A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system. Contents 1 History 1.1 As a noun 1.2 As a… …   Wikipedia

  • Software Development Rhythms — The approach of software development rhythms seeks to answer the key question of whether programmer productivity is impacted by the various agile practices, rather than by any single software development method. Beck says, Programming sometimes… …   Wikipedia

  • Open source software development — is the process by which open source software (or similar software whose source code is publicly available) is developed. These are software products “available with its source code and under an open source license to study, change, and improve… …   Wikipedia

  • Crystal Clear (software development) — Crystal Clear is a member of the Crystal family of methodologies as described by Alistair Cockburn and is considered an example of an agile or lightweight methodology. Crystal Clear can be applied to teams of up to 6 or 8 co located developers… …   Wikipedia

  • Aspect-oriented software development — (AOSD) is an emerging software development technology that seeks new modularizations of software systems. AOSD allows multiple concerns to be expressed separately and automatically unified into working systems.Traditional software development has …   Wikipedia

  • Lean software development — is a translation of lean manufacturing principles and practices to the software development domain. Adapted from the Toyota Production System, a pro lean subculture is emerging from within the Agile community. Origin The term Lean Software… …   Wikipedia

  • Agile Modeling — is a practice based methodology for modeling and documentation of software based systems. It is intended to be a collection of values, principles, and practices for modeling software that can be applied on a software development project in a more …   Wikipedia

  • Agile enterprise — is a fast moving, flexible and robust firm capable of rapid and cost efficient response to unexpected challenges, events, and opportunities. Built on policies and processes that facilitate speed and change, it aims to achieve continuous… …   Wikipedia

  • Software engineering — (SE) is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.[1] It is the… …   Wikipedia