Methodologies for Supporting Agile Organizations, Chapter 18, Unit 5
scrum methodology
uses small teams to produce small pieces of software using a series of "sprints," or 30-day intervals, to achieve an appointed goal
Dick Faris CTO Primavera
"Agile programming is very different and new. It is a different feel to the way programming happens. Instead of mindlessly cranking out code, the process is one of team dialogue, negotiation around priorities and time and talents. The entire company commits to a 30-day sprint and delivery of finished, tested software. Maybe it is just one specific piece of functionality but it's the real thing, including delivery and client review against needs and requirements. Those needs and requirements, by the way, change. That is the strength we saw in the Scrum process."
Interoperability
the capability of two or more computer systems to share data and resources, even though they are made by different manufacturers
Gate Three: Construction
this phase includes building and developing the product
Service
A business task
Agile Methodology
A form of XP, aims for customer satisfaction through early and continuous delivery of useful software components.
Agile Alliance
A group of software developers whose mission is to improve software development processes and includes: Satisfy the customer through early and continuous delivery of valuable software, Welcome changing requirements, even late in development, Business people and developers must work together daily throughout the project, Build projects around motivated individuals, The best architectures, requirements, and designs emerge from self-organizing teams, At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Waterfall
A sequence of phases in which the output of each phase becomes the input for the next. Waterfall is one of the oldest software development methods and has been around for over 30 years. Success rate is only 10 percent, or 1 in 10 with this approach.
Waterfall Methodology
A sequential, activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance.
RAD (Prototype)
A smaller-scale representation or working model of the users' requirements or a proposed design for an information system. The prototype is an essential part of the analysis phase when using a RAD methodology.
Agile
Aims for customer satisfaction through early and continuous delivery of useful software components developed by an iterative process using the bare minimum requirements.
loose coupling
the capability of services to be joined on demand to create composite services or disassembled just as easily into their functional components
Extreme Programming (XP)
Breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is complete.
Extreme Programming (XP) Methodology
Breaks a project into tiny phases, and developers cannot continue on to the next phase until the first phase is complete.
Agile (Iterative Development)
Consists of a series of tiny projects.
RAD
Emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process.
Rapid Application Development (RAD) Methodology
Emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process.
RAD Fundamentals
Fundamentals of RAD include: Focus initially on creating a prototype that looks and acts like the desired system, Actively involve system users in the analysis, design, and development phases, Accelerate collecting the business requirements through an interactive and iterative construction approach.
Scrum
Uses small teams to produce small pieces of deliverable software using sprints, or 30-day intervals, to achieve an appointed goal. Under this methodology, each day ends or begins with a stand-up meeting to monitor and control the development effort.
Primavera Systems, Inc.
Moved from waterfall to agile. Scrum's insistence on delivering complete increments of business value in 30-day learning cycles helped the teams learn rapidly. Scrum forced teams to test and integrate experiments and encouraged them to release them into production.
Rational Unified Process (RUP)
Owned by IBM, provides a framework for breaking down the development of software into four gates. Gate One: Inception, Gate Two: Elaboration, Gate Three: Construction, Gate Four: Transition
RUP
RUP is an iterative methodology, the user can reject the product and force the developers to go back to gate one. Approximately 500,000 developers have used RUP in software projects of varying sizes in the 20 years it's been available, according to IBM. RUP helps developers avoid reinventing the wheel and focuses on rapidly adding or removing reusable chunks of processes addressing common problems.
Waterfall Methodology (Problems)
The biggest problem with the waterfall methodology is that it assumes users can specify all business requirements in advance. It also assumes that business requirements do not change over time. If you find yourself on a software development project using the waterfall methodology you should do everything you can to change the methodology.
Difference Between XP and Waterfall
The primary difference between the waterfall and XP methodologies is that XP divides its phases into iterations with user feedback.
Gate one: inception
This phase ensures all stakeholders have a shared understanding of the proposed system and what it will do.
Gate Two: Elaboration
This phase expands on the agreed-upon details of the system, including the ability to provide an architecture to support and build it.
Software Development Methodologies
Waterfall, Rapid Application Development (RAD), Extreme Programming (XP), Agile, Rational Unified Process (RUP), and Scrum.
Service-oriented architecture (SOA)
a business-driven enterprise architecture that supports integrating a business as linked, repeatable activities, tasks, or services
Prototyping
a modern design approach where the designers and system users use an iterative approach to building the system
Methodology
a set of policies, procedures, standards, processes, practices, tools, techniques, and tasks that people apply to technical and management challenges
SOA service
being simply a business task, such as checking a potential customer's credit rating when opening a new account.
discovery prototyping
builds a small-scale representation or working model of the system to ensure it meets the user and business requirements
Gate four: transition
primary questions answered in this phase address ownership of the system and training of key personnel