3/15/12 Internet-Speed Development - Wikipedia, the free enc\clopedia 1/19 en.wikipedia.org/wiki/Internet-Speed_Development Internet-Speed Development From Wikipedia, the free encyclopedia Internet-Speed Development is an Agile Software Development development method using a combined spiral model/waterfall model with daily builds aimed at developing a product with high speed. It was developed in the late nineties because software development was changing rapidly. Companies were having problems delivering products with the correct requirements within the time scheduled for the project and as such were changing to more agile software development methods. More details about how the internet-speed method was developed can be seen in the evolutionary map in the paper of Abrahamsson. [1] Contents 1 Main ideas behind Internet-Speed Development 2 Goal of the method 3 The concepts behind Internet-speed development method 4 The phases of Internet-Speed Development 4.1 Envisioning phase 4.2 Planning Phase 4.3 Development phase 4.4 stabilization phase 4.5 deployment phase 4.6 Overall data model 5 Tools for use with Internet-Speed Development 6 Notes 7 See also 8 References Main ideas behind Internet-Speed Development Often one of the biggest problems in software engineering is that the requirements change quickly and the internet-speed development method was created to adapt to this situation. The idea is to combine two main standards in software engineering models namely the spiral model and the waterfall model into a new model and base a new software engineering method on this new model. The main disadvantage of the waterfall model was that is was very rigid and not very flexible when it comes to changes in requirements, while the disadvantage of the spiral model was that is was not very structured. The idea behind internet-speed development is that the combination of these models will result in a method which does not have these disadvantages and is a better method to use in situations where requirements can change rapidly, but the project has to be executed in a structured way. Goal of the method The goal of the internet-speed development method is to allow software developers to perform a project in a structured way, but still be able to adapt to the needs of the customer. It aims to deliver a software product in a short time through intensive development. The method provides a means to deliver a fully implemented system and also has ways to determine progress in a project through the use of milestones. One of the main versions of this method is created by Microsoft and is called the Microsoft Solutions Framework. The concepts behind Internet-speed development method The first concept that is very important to internet-speed development is the creation of a vision and scope (project management). What this means is that in the beginning of the project a global definition of the system is created which explains what the system aims to be and what is within the scope and what is not. This is one of the fundamental steps as it gives the developers some guidelines as to what the system will be without freezing any requirements. The scope can be documented in a
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
3/15/12 Internet-Speed Development - Wikipedia, the free encyclopedia
Internet-Speed DevelopmentFrom Wikipedia, the free encyclopedia
Internet-Speed Development is an Agile Software Development development method using a combined spiralmodel/waterfall model with daily builds aimed at developing a product with high speed.
It was developed in the late nineties because software development was changing rapidly. Companies were having problemsdelivering products with the correct requirements within the time scheduled for the project and as such were changing to moreagile software development methods. More details about how the internet-speed method was developed can be seen in the
evolutionary map in the paper of Abrahamsson.[1]
Contents
1 Main ideas behind Internet-Speed Development
2 Goal of the method3 The concepts behind Internet-speed development method
4 The phases of Internet-Speed Development
4.1 Envisioning phase4.2 Planning Phase
4.3 Development phase
4.4 stabilization phase4.5 deployment phase
4.6 Overall data model
5 Tools for use with Internet-Speed Development6 Notes
7 See also
8 References
Main ideas behind Internet-Speed Development
Often one of the biggest problems in software engineering is that the requirements change quickly and the internet-speeddevelopment method was created to adapt to this situation. The idea is to combine two main standards in software engineeringmodels namely the spiral model and the waterfall model into a new model and base a new software engineering method on thisnew model. The main disadvantage of the waterfall model was that is was very rigid and not very flexible when it comes tochanges in requirements, while the disadvantage of the spiral model was that is was not very structured. The idea behindinternet-speed development is that the combination of these models will result in a method which does not have thesedisadvantages and is a better method to use in situations where requirements can change rapidly, but the project has to beexecuted in a structured way.
Goal of the method
The goal of the internet-speed development method is to allow software developers to perform a project in a structured way,but still be able to adapt to the needs of the customer. It aims to deliver a software product in a short time through intensivedevelopment. The method provides a means to deliver a fully implemented system and also has ways to determine progress in aproject through the use of milestones. One of the main versions of this method is created by Microsoft and is called theMicrosoft Solutions Framework.
The concepts behind Internet-speed development method
The first concept that is very important to internet-speed development is the creation of a vision and scope (projectmanagement). What this means is that in the beginning of the project a global definition of the system is created which explainswhat the system aims to be and what is within the scope and what is not. This is one of the fundamental steps as it gives thedevelopers some guidelines as to what the system will be without freezing any requirements. The scope can be documented in a
3/15/12 Internet-Speed Development - Wikipedia, the free encyclopedia
vision statement. Another very important concept within this method is scope management. The scope needs to be managedthroughout the project to prevent scope creeping which results in delays. The scope will be determined early and changes to thescope (like adding additional features which were at first considered beyond the scope of the project) will be evaluated andeither accepted or rejected. Changes in the scope can be made but this will always be affected by trade offs between features,resources and time.
The internet-speed development method is very different from the traditional methods and therefore uses Agile methodprinciples. It focuses on adaptation to requirements and as such is based on the basic principles of Agile software development.
Internet-speed development also focuses on using one fixed framework architecture from which the product is build and reliesheavily on tools to increase the development speed. Another basic concept of internet-speed development is that it also focuseson using small teams. The idea is that all projects can be divided into smaller activities which often can be done parallel. Smallerteams can often be more focused on their task and it is easier to determine accountability and monitor progress within theproject.
The last concept discussed in this entry of internet-speed development is the concept of parallel development. This conceptbasically means that all the software development is done in parallel as often as possible. This will allow very quick developmentand it allows the smaller teams to focus on their own feature as much as possible which has a good result on quality. To ensurethat the smaller teams do work together to create the final system it is however needed to synchronize their developmentfrequently. This can be done using daily builds which means that all the developers check their code in at the end of the day afterwhich a build is created which can then be evaluated and tested to monitor progress. After a feature is completed in the build inneeds to be tested and refined which is sometimes called the synch-and-stabilize process. The developed features aresynchronized with the build and tested. After these tests any bugs will be corrected and the feature can be refined to work better(which is the stabilization part).
Internet-speed development is based on the agile principles and as such it has a lot of similarities with Extreme Programming,RUP, DSDM and Feature Driven Development. Internet-speed development is different however from these methods as it also
incorporates a more extensive risk-management planning and has quality as a very important objective of a project.[2] Thedevelopment phase of Internet-speed development also shows some similarities with the open-source software developmentmodel because many different developers around the globe can be part of the development process because of communicationthrough the Internet and the use of repositories for storing the code and documentation.
The phases of Internet-Speed Development
The model behind this method looks like this:
Figure 1: Phase model
This model shows the five basic phases of the method. These phases will be explained in the following sections of this entry. Thephases are: Envisioning, Planning, Developing, Stabilizing and Deploying. After this cycle has been completed a version of thesystem is ready and a new cycle begins to create a new version. The phases are explained in the following sections and areshown through a meta-modeling technique. More details about multiplicities and concepts in a project context can be seen in theoverall data model later on.
Envisioning phase
3/15/12 Internet-Speed Development - Wikipedia, the free encyclopedia
Create Vision/scope “The preparation and delivery of a vision/scope document.”
(MSF Process model [3])
Create Risk assessment“During the envisioning phase, the team prepares a risk
document and presents the top risks.” (MSF Process
model[3])
Table 1: Envisioning activities
The basic activities performed in the envisioning phase are analyzing the requirements, forming the team for the project,determining the risks and the scope of the project. From the requirements and the goals of the project a Vision/Scope documentis created. This document describes what the product is to be when it is delivered. It does not contain very detailedfunctionalities of the product.
Concept Definition (source)
VISION/SCOPE DOCUMENT“Document defining the Vision and Scope.” (MSF
Process model [3])
VISION“Vision is an unbounded view of what a solution may
be.“ (MSF Process model [3])
SCOPE“Scope identifies the part(s) of the vision can be
accomplished within the project constraints.” (MSF
Process model [3])
RISK ASSESSMENTDOCUMENT
“Standardized document for Risk Assessment“ (MSF
Risk Management Discipline [4])
PRIORITIZED RISK LIST“Detailed risk information including project condition,
context, root cause, and the metrics used for
prioritization (probability, impact, exposure) are often
recorded for each risk in the risk statement form.” (MSF
Risk Management Discipline [4])
RISK PLANNING“Translation of the prioritized risk list into action
plans.” (MSF Risk Management Discipline [4])
“The project structure document includes information on
3/15/12 Internet-Speed Development - Wikipedia, the free encyclopedia
Create Architecture Creation of the architecture for the product.
Table 3: Planning activities
In the planning phase a functional specification is created from the requirements. Features selected are included in thisspecification (a MoSCoW Method is often used for the features so they can be prioritized more easily). Also the basic designand planning are created in this phase. The design however is in this phase not frozen as changes may be made in thedevelopment phase.
Concept Definition (source)
REQUIREMENTS LIST“Documentation of requirements in a list or tool.” (MSF
Process model [3]
RISK MANAGEMENTPLAN
“Document on how the team plans to implement the risk
management process within the context of the project.”
(MSF Risk Management Discipline [4])
MASTER PROJECT PLAN“All plans are synchronized and presented together as the
master project plan.” (MSF Process model [3]
WORKPLANS“A plan or plans for the deliverables that pertain to the role
and participates in team planning sessions.” (MSF Process
model [3]
COST ESTIMATES An estimation of the costs of the project.
SCHEDULES“Time estimates and schedules for Deliverables.” (MSF
Process model [3]
MASTER PROJECTSCHEDULE
“The various schedules are then synchronized and integrated
into a master project schedule.” (MSF Process model [3]
FUNCTIONALSPECIFICATION
“The functional specification describes in detail how each
feature is to look and behave. It also describes the
architecture and the design for all the features.” (MSF
Process model [3]
3/15/12 Internet-Speed Development - Wikipedia, the free encyclopedia
is ready for external testing and stabilization.” (MSF
Process model [3]
Develop Infrastructure “The infrastructure is developed.” (MSF Process model [3]
Table 5: Developing activities
The most important activity in the developing phase is the development of the features. Besides the implementation of thesefeatures the scope is also finalized in this phase. During development new features may be added to the product, but once thescope is finalized the features become frozen and ready for testing and stabilizing. The infrastructure is also developed in thisphase which means that network structures are identified and servers like for example a database server are defined.
Testing “Testing during this phase emphasizes usage and operation
under realistic environmental conditions.“ (MSF Process
model [3]
Resolve Bugs “The team focuses on resolving and triaging (prioritizing) bugs
and preparing the solution for release.” (MSF Process model[3]
Deploy Pilot “Once a build has been deemed stable enough to be a
release candidate, the solution is deployed to a pilot group.”
(MSF Process model [3]
Review “Once reviewed and approved, the solution is ready for full
deployment to the live production environment.” (MSF
Process model [3]
Table 6: Stabilization activities
The main activities are the testing and resolving of bugs. Once a build version is considered stable enough for a pilot a pilotversion is created and deployed. From this pilot it will either go back into the testing/stabilizing loop or it will be approved andreviewed.
Concept Definition (source)
TEST RESULTS ANDTESTING TOOLS
Collection of test results and tools used for testing.
TEST RESULTS Results of executed tests.
TESTING TOOLS Tools used for testing.
GOLDEN RELEASE The version used for the final reviewing.
3/15/12 Internet-Speed Development - Wikipedia, the free encyclopedia
Deploy the Core ComponentsDeployment of all components needed by the product(such as database servers, mail servers etc.)
Deploy the solution on siteFor tailor-made systems deployment of the product occurshere (can be skipped for software products).
Stabilize the deploymentTacking, monitoring and improving the deployedcomponents.
Transfer the project tooperations and support Transferring all documents and code to the operations and
support team.
Obtain final approval fromcustomer
“The customer must agree that the team has met its
objectives before it can declare the solution to be in
production and close out the project. This requires a stable
solution, as well as clearly stated success criteria. In order
for the solution to be considered stable, appropriate
operations and support systems must be in place.” (MSF
Process model [3])
Review the projectFinal review of the project.
Table 8: Deploying activities
The main activity in the deploying phase is the installation of the infrastructure needed to run the product (deployment of serversetc.). Also the documents are finalized and transferred to the operations and support department, a knowledge base is createdand the product and project are reviewed by the customer (if applicable) and the project team.
Concept Definition (source)
PROCEDURES ANDPROCESSES
Collection of procedures and processes.
3/15/12 Internet-Speed Development - Wikipedia, the free encyclopedia
Drawing tools (examples: Microsoft Visio, Rational Rose, Dia) For making diagrams.
Word processors (examples: Microsoft Word, OpenOffice.org Writer, AbiWord, Calligra Words) For making textdocuments like a vision statement or scope document.
Spreadsheets (examples: Microsoft Excel, OpenOffice.org Calc, Gnumeric, Calligra Tables) For making prioritized risk
lists and making cost calculations.
Project tools (examples: Microsoft Project, OpenProj, Gnome Planner, Calligra Plan) For planning project activities.
Database and database management tools (examples: MS SQL Server, MySQL, Oracle, PostgreSQL) For making
knowledge bases.
Automated testing tools (examples: Test scripts) For executing tests after each daily build.
Notes
1. ^ Pekka Abrahamsson, Juhani Warsta, Mikko T. Siponen, Jussi Ronkainen 2003
2. ^ As shown in the paper of Zuser, Heil and Grechening.
3. ̂D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] DD DE DF DG Microsoft Solutions White Paper June 2002
4. ̂D E F G Microsoft Risk Management Discipline White Paper
See also
Agile software development
Incremental and iterative development
Microsoft Solutions Framework
DSDMMoSCoW Method
References
Microsoft June 2002 Microsoft Solutions Framework (White Paper) Microsoft Press
Microsoft June 2002 MSF Risk Management Discipline v.1.1 (White Paper) Microsoft Press
Wolfgang Zuser, Stefan Heil, Thomas Grechenig 2005 Software Quality Development and Assurance in RUP, MSF and
XP - A Comparative Study Proceedings of the 2005 workshop on Software quality
Pekka Abrahamsson, Juhani Warsta, Mikko T. Siponen, Jussi Ronkainen 2003 New Directions on Agile Methods: AComparative Analysis ICSE
Michael A. Cusumano, David B. Yoffie 1999 Software Development on Internet Time 32 IEEE
Balasubramaniam Ramesh, Jan Pries-Heje 2002 Internet Software Engineering: A Different Class of Processes Annals of
Software Engineering 14 169–195
Retrieved from "http://en.wikipedia.org/w/index.php?title=Internet-Speed_Development&oldid=466684098"
Categories: Software architecture
This page was last modified on 19 December 2011 at 13:27.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms ofuse for details.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.