History   |   Planning   |   HTML/CSS   |   JavaScript   |   ASP   |   .Net 1.0   |   .Net 2.0   |   .Net 3.0   |   C#   |   Java   |   SQL   |   XML   |   GIS   |   Software   |   Glossary
Planning
    - Agile SD

    - RAD

    - SDC

    - Waterfall

 
Planning : Agile Software Development
There are many agile development methods; most minimize risk by developing software in multiple repetitions (or 'iterations') of short time frames (known as 'timeboxes'). Software developed during one unit of time is referred to as an iteration, which typically lasts from two to four weeks. Each iteration passes through a full software development cycle, including planning, requirements analysis, design, writing unit tests, then coding until the unit tests pass and a working product is finally demonstrated to stakeholders. Documentation is no different than software design and coding. It, too, is produced as required by stakeholders. An iteration may not add enough functionality to warrant releasing the product to market, but the goal is to have an available release (without bugs) at the end of each iteration. At the end of each iteration, stakeholders re-evaluate project priorities with a view to optimizing their return on investment.

Agile methods emphasize face-to-face communication over written documents. Most agile teams are located in a single open office to facilitate such communication. One agile management methodology, Scrum, advocates a team size of 5 to 9. Larger teams than 9 should be split into smaller teams to help make team communication and team collaboration easier.

Team composition in an agile project is usually cross-functional and self-organising without consideration for any existing corporate hierarchy or the corporate roles of team members. No matter what development disciplines are required, at a minimum, every agile team will contain a customer representative. This person is appointed by stakeholders to act on their behalf and makes a personal commitment to being available for developers to answer mid-iteration problem-domain questions. This availability is critical to agile project success.

Part of the Scrum methodology is routine and formal daily face-to-face communication between team members. This specifically includes the customer representative and any interested stakeholders as observers. Known as a daily scrum, team members report to each other what they did yesterday, what they intend to do today, and what their roadblocks are. This formalised face-to-face communication prevents problems being hidden, provided that someone with corporate influence is always listening. For the Scrum methodology, this is the Scrum Master. Otherwise it is the agile project manager.
Jump to Top
Planning : Rapid Application Development (RAD)
Rapid application development is a software development methodology, which involves iterative development and the construction of prototypes. It is a merger of various structured techniques, especially the data driven Information Engineering with prototyping techniques to accelerate software systems development. RAD calls for the interactive use of structured techniques and prototyping to define user's requirements and design the final system. Using structured techniques the developer first builds preliminary data models and business process models of the business requirements. Prototyping then helps the analyst and users to verify those requirements and to formally refine the data and process models. The cycle of models, then prototypes, then models, then prototypes and so forth on, ultimately results in a combined business requirements and technical design statement to be used for constructing new systems.

RAD approaches may entail compromises in functionality and performance in exchange for enabling faster development and facilitating application maintenance.
Jump to Top
Planning : Software Development Cycle (SDC)
Jump to Top
Planning : Waterfall Software Development Methodology
Project is divided into sequential phases, with some overlap and splashback acceptable between phases. Emphasis is on planning, time schedules, target dates, budgets and implementation of an entire system at one time. Tight control is maintained over the life of the project through the use of extensive written documentation, as well as through formal reviews and approval/signoff by the user and information technology management occurring at the end of most phases before beginning the next phase.
Jump to Top
 
Copyright © 2010 12 Bravo