Anda di halaman 1dari 10

ADAPTIVE SOFTWARE DEVELOPMENT

Adaptive software development is a design principle for the creation of software systems. The principle focuses on the rapid creation and evolution of software systems. There is never a period where the software is finished; there are just stable periods between new releases. The adaptive development method grew out of the rapid application development method. These two methods are similar in structure, but rapid application development allows for a time when the project is finished, while adaptive software development doesn't. The focus of adaptive development is in the computer code. Instead of planning the software out before hand, developers have a basic idea in their heads and they go to work. When pieces need changing or adapting to a new system, the coders simply do it. If the program needs a patch, somebody just makes it. Overall, the lack of pre-planning steps allows the developers to make the software very quickly. While this will occasionally result in software that doesnt perform the precise functions required, that is generally not a problem. The developmental cycle in this process is so short that a new version with additional features can come out very quickly. This process orrapid prototyping is the cornerstone of both adaptive software development and rapid application development. The spot where the two methods differ is in the eventual endpoint. For adaptive software development, there is no real endpoint, just a time when the software is no longer needed or the code is ported into a higher generation application. On the other hand, rapid application development allows for the end of a project, a time when the software is bugfree and has met the requirements of the purchaser. Adaptive software development is made of three steps, each revolving around the coding of a program. The first step is speculation. During this phase, coders attempt to understand the exact nature of the software and the requirements of the users. This phase relies on bug and user reports to guide the project. In no reports are available, the developers use the basic requirements outlined by the purchaser. The collaboration phase is when the individual developers solidify what they are each doing and how to combine their portions. This phase is generally completely in-house. The developers dont need any additional information or outside input to manage this portion of the software.

The last step is learning. During the learning phase, the newest version of the software is released to users. This generates the bug and user reports used during the first phase of the project, and the cycle repeats itself.

FIGURE OF ADAPTIVE SOFTWARE DEVELOPMENT

ADVANTAGES OF ADAPTIVE SOFTWARE DEVELOPMENT - Iterative incremental process - Adaptive ( tuneable process ) - Test based development -Refactoring for simplifying the code - Continuous integration - Stress on parallel development of compenent, by collaborating teams of developers , thus speeding up the process - Traceability to requirements through ongoing validation and quality review.

DISADVANTAGES OF ADAPTIVE SOFTWARE DEVELOPMENT - Not scalable - Lack of formalities - No clear cut design effort - No specific model prescribed. - Over dependence on inter-human communication

THROW AWAY PROTOTYPING


A prototype developed as part of a throw-away approach will not form part of the final solution. It is likely to inform the final solution, but the prototype itself will not become part of the final solution. Throw-away prototypes are a useful way of exploring ideas, and gaining feedback from the client and/or end-user. They tend to be used to answer questions. They are then discarded. A question about a functional requirement may necessitate the rapid development of a prototype; perhaps using a particular tool, in order to answer that question. Interface design, layout and interaction styles is another area which can be explored using throw-away prototypes. These are sometimes referred to as 'mock-ups' or 'click dummies' because they look realistic but contain little or no code to provide the functionality expected (eg clicking on an interface icon does not perform the function associated with the icon). The speed at which throw-away prototypes can be generated and modified is a major reason for their use and why this method is sometimes referred to as 'rapid prototyping'. They also provide a useful and meaningful way for a developer to walk the client and/or end-user through the system requirements as interpreted by the developer. Feedback from the client and/or end-user should aid in allowing misinterpretations or unnecessary complexities to be picked up and addressed at an early stage. The speed of development and the potential to catch misinterpretations or missing features at an early stage can help to make the throw-away prototype a cost effective approach.

FIGURE OF THROW AWAY PROTOTYPING

ADVANTAGES OF THROW AWAY PROTOTYPING - When prototype is shown to the user, he gets a proper clarity and 'feel' of the functionality of the software and he can suggest changes and modifications. -This type of approach of developing the software is used for non-IT-literate people. They usually are not good at specifying their requirements, nor can tell properly about what they expect from the software. -When client is not confident about the developer's capabilities, he asks for a small prototype to be built. Based on this model, he judges capabilities of developer. -Sometimes it helps to demonstrate the concept to prospective investors to get funding for project. -It reduces risk of failure, as potential risks can be identified early and mitigation steps can be taken. -Iteration between development team and client provides a very good and conductive environment during project. -Time required to complete the project after getting final the SRS reduces, since the developer has a better idea about how he should approach the project. DISADVANTAGES OF THROW AWAY PROTOTYPING - Prototyping is usually done at the cost of the developer. So it should be done using minimal resources. It can be done using Rapid Application Development (RAD) tools. Please note sometimes the start-up cost of building the development team, focused on making prototype, is high. - Once we get proper requirements from client after showing prototype model, it may be of no use. That is why, sometimes we refer to the prototype as "Throw-away" prototype. - It is a slow process. - Too much involvement of client, is not always preferred by the developer. - Too many changes can disturb the rhythm of the development team.

DYNAMIC SOFTWARE DEVELOPMENT SYSTEM


Dynamic Systems Development Method (DSDM) is an organized, common-sense process focused on delivering business solutions quickly and efficiently. It is similar in many ways to SCRUM and XP, but it has its best uses where the time requirement is fixed. DSDM focuses on delivery of the business solution, rather than just team activity. It makes steps to ensure the feasibility and business sense of a project before it is created. It stresses cooperation and collaboration between all interested parties. DSDM makes heavy use of prototyping to make sure interested parties have a clear picture of all aspects of the system. As an extension of rapid application development, DSDM focuses on information systems projects that are characterised by tight schedules and budgets. DSDM addresses the most common failures of information systems projects, including exceeding budgets, missing deadlines, and lack of user involvement and top-management commitment The most recent version of DSDM, launched in 2007, is called DSDM Atern. The name Atern is a shortening of Arctic Tern - a collaborative bird that can travel vast distances and epitomises many facets of the method which are natural ways of working e.g. prioritisation and collaboration. The previous version of DSDM (released in May 2003) which is still widely used and is still valid is DSDM 4.2 which is a slightly extended version of DSDM version 4. The extended version contains guidance on how to use DSDM with Extreme Programming. In order for DSDM to be a success, there are 9 instrumental factors which need to be met. If these cannot be met, it presents a risk to the Atern approach which is not necessarily a show stopper but which does need to be managed. These risks are also highlighted by the Project Approach Questionnaire. 1. Acceptance of the Atern philosophy before starting work. 2. Appropriate empowerment of the Solution Development Team. 3. Commitment of senior business management to provide the necessary Business Ambassador (and Business Advisor) involvement. 4. Incremental delivery 5. Access by the Solution Development Team to business roles 6. Solution Development Team stability. 7. Solution Development Team skills. 8. Solution Development Team size. 9. A supportive commercial relationship.

FIGURE OF DYNAMIC SOFTWARE DEVELOPMENT METHOD

ADVANTAGES AND DISADVANTAGE OF DSDM Many of the benefits of DSDM are also benefits of XP. For instance, both methods involve the user deeply in the development process, resulting in strong user identification with the systemcooperation in the process will break down the users resistance to change before it has a chance to grow. And the final system is more in line with the ultimate user requirements. -Requirements prirority approach -Efficient project management

However, DSDM has the edge, with several deliverables that recommend it over other methodologies. Reversibility in every iteration avoids the optional scope contract trap of XP. Theres no corrective design when any misstep can be rapidly eliminated. The five-phase project structure makes missing delivery windows less likely. And while XPs methodological emphasis is programming, DSDM delivers the most comprehensive final product, with a continual focus on business processeswhere the customer needs it to be.

Licensing cost Relatively high barrier to entry Cultural shift in organization Complex documentation

SCRUM

Anda mungkin juga menyukai