Structured approach/model: Waterfall
Analysis: study, understand and specify the system requirements
Design: study, understand and design the system architecture
Testing: integrate modules and the increasingly large systems
Implementation: implement the systems and maintain its various
components
Advantages: Clear sequence of specific tasks; complete well-defined products, easy to manage process model
Disadvantages: Inflexible division into stages, insensitive to changing requirements, high risk due to "big bang" integration
1 Unbridled enthusiasm: Requirement documents and development responses with system design specification (3-6 months)
2 False sense of security: Launch plans are put into practice; external/internal release commitments are solidified (8-12 months)
3 Rude awakening: Defects are discovered during implementation
4 Resetting expectations: Commitment for schedule/functionality renegotiated, credibility is lost for management
5 Persistent mistrust: Mistrust between development and product management team, inter-department dysfunctionality
Difference between Waterfall and Agile: Waterfall follows a sequential, linear approach to software development, while Agile is a more
iterative and flexible approach
Agile approach
= Focus on end user instead of requirements document, originally designed for smaller team (does not scale needs large firms)
= Enables a shorter time to market and to easily respond to changing requirements
Problem: Dissatisfaction with overheads of structured models (FoxMeyer: Bad system performance and filed for bankruptcy)
Solution: Agile methods
Focus on the code rather than the design; based on an iterative (repeating) approach to software development
Intended to deliver and evolve small pieces of delivered software quickly to meet changing requirements
February 2001: 17 software developers met at the Snowbird (Utah) to discuss lightweight development methods and
Publication of the Manifesto for Agile Software Development to define the approach knows as agile software development
Reasons for adopting agile:
Accelerate time to market, increase productivity, easy to manage changing priorities
Focus on new paradigms in software engineering
Rapid development, frequent releases, reducing process overheads, producing high-quality code
They involve the customer directly in the development process
Advantages: Faster, flexible - Incremental development, strong communication with customer and in the team, functionality is broken
down into manageable pieces, rapid response to change
Agile approaches enable a shorter time to market and to easily respond to changing requirements and priorities
Disadvantages: Challenges to respond to frequent refactoring, used as an excuse for lack of planning, only applicable to small sized
systems, not feasible in distributed projects
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller ethanhunter. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $9.09. You're not tied to anything after your purchase.