# Scala Tutorial Through Katas: Word Wrap (Easy)

A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.

For the complete list of Scala katas and solutions please visit the index page

# Software Development Models: Iterative and Incremental Development

Waterfall Model
Iterative and Incremental Development

# Iterative and Incremental Development

Iterative development was created as a response to inefficiencies and problems found in the waterfall model. Modified Waterfall, Rational Unified Process (RUP) and most, if not all, agile models are based on iterations.

General idea is to develop a system through iterations (repeated cycles) and incrementally (in small portions of time). Through them team members or stakeholders can learn from their mistakes and apply that knowledge on the next iteration.

# Scala Tutorial Through Katas: Mars Rover (Medium)

A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.

For the complete list of Scala katas and solutions please visit the index page

# Scala Tutorial Through Katas: String Permutations (Easy)

A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.

For the complete list of Scala katas and solutions please visit the index page

# Scala Tutorial Through Katas: Tennis Game (Easy)

A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.

For the complete list of Scala katas and solutions please visit the index page

# Scala Tutorial Through Katas: Prime Factors (Easy)

A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.

For the complete list of Scala katas and solutions please visit the index page

# Scala Tutorial Through Katas: Berlin Clock (Easy)

A programming kata is an exercise which helps a programmer hone his skills through practice and repetition.

For the complete list of Scala katas and solutions please visit the index page

# Waterfall model

The waterfall model originated in manufacturing and construction where changes are costly and investment in design of the production line is often much less than potential loss if the actual production fails. It is based on idea that planning and design costs are much lower than those used in the actual production.

## Software development life-cycle (SDLC)

The software waterfall model often uses some variation of following phases:

• Requirements specification (Requirements Analysis) resulting in Requirements Document
• Software design resulting in Software Design (SD) document
• Implementation resulting in the actual software
• Integration
• Testing (or Validation)
• Deployment (or Installation)
• Maintenance