What is agile?
An approach of project management that is utilized in software development. It allows the programmer to start writing a program without spending much time on pre-planning documentation.
Agile development project
In an Agile development project, a larger development team is broken up into smaller teams of five to nine developers and a leader, and the project deliverable are broken up into smaller pieces that can each be attained in just a few weeks.
Prototyping
Is the process of creating systems through controlled trial and error
Risk of prototyping
Focuses too much on what customer wants, and may miss control . Finish system may present a potential risk because of poor controls.
Rapid application development (RAD)
Relies on the usage of a prototype that can be updated continually to meet changing user or business requirements
Object Oriented System development (OOSD)
A programming technique and not a software development methodology. Object here refers to small piece of program that can be used individually or in combination with other objects.
Benefit of object oriented:
the ability to reuse objects.
Encapsulation:
A technique uses by object oriented in which one object interacts with another object.
Component based development:
It’s an outgrowth of object-oriented development. reflects the software architecture of an application.
Reverse Engineering:
Reverse engineering is the process of studying and analyzing an application and the information is used to develop a similar system.
It’s often refers to process of major changes in a system.
Risk associated to agile development
lack of documentation
Why agile approach reviews are done?
To identify lessons learned for future use in the project.
Waterfall approach:
It’s suitable when requirements are well defined and understood.
It’s not suitable when requirement are frequently changing.
Prototyping advantages:
Provide significant cost and time savings
When is Top-down testing methods most effective?
During the initial approach of prototyping
Major advantage of a component-based development approach:
The support of multiple development environments
Agile Development:
In any given scenario, major risk associated with agile development is
lack of documentation.
In any given scenario, in agile approach reviews are done to
identify lessons learned for future use in the project.
Object Oriented System Development:
In any given scenario, a major benefit of object-oriented development is
the ability to reuse objects.
Prototyping:
– By focusing mainly on what the user wants and sees, developers may miss some of the controls that come from the traditional systems development approach; therefore, a potential risk is that the finished system will have poor controls.
Rapid Application Development:
RAD includes use of:
(1) Small and well trained development teams.
(2) Prototypes
(3) Tools to support modeling, prototyping and component reusability.
(4) Central repository
(5) Rigid limits on development time frames
In any given scenario, important advantage of prototyping is
that it provides significant cost and time savings.