Software Development

What is software development?

  • Art of making good maintainable software

  • Be ready for change!

Good Developer

  • Specialist in one area.

  • Lacks ability to change quickly according to present trends.

Excellent Developer

  • 'Jack of all trades, master of none'

  • Moves from one framework to another with minimal fuss.

Scenarios

  • Languages like BASIC, COBOL now defunct
  • So do the developers just go out of business or go back to school?

Breadth First Learning

"When I need to know more about something, then I dig into it and learn what I need to know. Breadth first, depth as needed." 

- Just a Programmer

Qualities of a good Software?

Some expected answers

  • Correctness (Do what it's supposed to do)
  • Available (Not in development phase, in the market)
  • Efficiency (Complete tasks efficiently
  • Ease of Use (Not hard to learn)
  • Maintainability (Easy to fix errors)

How to develop good software?

Ans: Have a plan

The plan followed is called software development practice

Popular Software Development Practices

  • Waterfall Model (Oldest) 
  • Prototyping Model
  • Evolutionary Model
  • Spiral Model
  • Agile (Most recent and gaining popularity)

Common stages in all practices

  • Feasibility Study
  • Requirements & Analysis
  • Design
  • Coding
  • Testing
  • Maintenance (Most arduous, surprising uh!!)

Let's take an example to move ahead!

Made with Slides.com