Software Engineering Individual Assignment
Software Engineering Individual Assignment
Many organizations follow their own approaches to information system development. Organizations
may vary significantly in the way, they automate or operate their business procedures.For this reason
different software development approaches are often used. Some of these approaches are waterfall
model, agile , incremental, iterative, spiral, prototyping , rapid application development and joint
application development.
1. Framework type
2. basic principles
3. architecture
3. strengths
4. weaknesses
Introduction
The Software Development Process is the structured approach to developing software for a
system or project, sometimes called the Software Development Life Cycle (SDLC). Several
approaches can be used, including waterfall, spiral, Agile, and incremental development. These
different approaches will focus the testing effort at different points in the development process.
However, each approach is composed of the same basic steps of development. The incremental
development approach typically forms the basis for software development within the larger
systems level of Evolutionary Acquisition (EA).
Agile
Overview
Agile methodology is arguably one of the most popular software development methodologies in
recent days. It takes a different approach from the conventional, linear method. Agile focuses on
how to satisfy the users instead of emphasizing documentation and rigid procedures.
With Agile, tasks are broken into short sprints that take about 1 to 4 weeks to complete. It’s an
iterative model that involves multiple tests as the development progresses. Developers
continuously seek feedback from customers and make changes to the software.
Communication is the priority in Agile, particularly between developers, customers, and users.
Pros
Software has minimal defects due to the iterative effort in testing and fine-tuning.
Clarity between team members during development, thanks to the frequent and
transparent development.
Changes in project requirements are easily addressed and work on with little impact on
the timeline.
Cons
The team can sometimes lose focus due to overwhelming change requests.
Agile focuses on discussions and feedback, which can be too time-consuming for the
team.
Due to its non-structured approach, Agile requires experienced developers who can work
independently.