Software development is a process that requires descipline. In order to create quality products, there must be a streamlined process to follow. Check out the details here.See More At : http://www.greymatterindia.com/offshore-software-development
2. Software Development
Process Overview
The general elements of a software engineering discipline
The phases of any significant software development project
Personnel involved
Ongoing activities regardless of the phase
Software process models
The importance of a disciplined process
For experienced software developers, the component-level process is
often less conspicuous, involving well-established and automated
patterns of thinking. This does not diminish its importance.
Software developers need good automated thinking habits to free their
minds for dealing with more complex issues.
http://www.greymatterindia.com/
3. Software Enigineering
Elements
Abstraction
Analysis and Design Methods and Notations
User Interface Prototyping
Software Architecture
Software Process
Software Reuse
Measurement (Metrics)
Tools and Integreated Environments
http://www.greymatterindia.com/
4. Software Development
Phases
Requirements Analysis and Definition
System Design
Program Design
Program Implementation
Unit Testing
Integration Testing
System Testing
System Delivery
Maintenance/Evolution
http://www.greymatterindia.com/
5. Ongoing Activities
Risk Analysis
Planning
Program Design
Verification and Validationn
Documentation
Integration Testing
System Testing
System Delivery
Maintenance/Evolution
http://www.greymatterindia.com/
6. Process Models
Software process models are general approaches for organizing a project
intoactivities.
The Opportunistic Approach
The Waterfall Model
The Uncontrolled Approach
The Prototype as a Central Element
The Phased-Release Model
The Spiral Model
Extreme Programming (AGILE) & The Transformational Model
http://www.greymatterindia.com/
7. The Importance of a Disciplined
Process
A disciplined software process serves two main purposes:
Helps developers better understand what they are doing
Helps managers make more accurate predictions about how long a project will
take
Predictability is crucial for setting reasonable goals and planning resource
allocation.
http://www.greymatterindia.com/
8. The Importance of a Disciplined
Process - Understanding
As software developers work through a disciplined process, they are developing a
complex mental roadmap of:
The values of the client
The concepts that are important to the client
Software patterns for achieving the desired behavior
Software patterns for achieving the desired behavior
Common sense and experience both support the importance of this
understanding.
http://www.greymatterindia.com/
9. The Importance of a Disciplined
Process - Predictability
When undertaking a new project, software managers must be able to estimate the
resources required so that:
A reasonable estimate of cost can be given to the purchaser
Internally, managers can anticipate needs and coordinate between multiple
projects.
A disciplined process is essential for managers to call upon previous experience in
order to make resource estimates:
With an undisciplined process, there is too much variation in how long it takes to
accomplish a task among previous projects, and a reliable estimate cannot be
made for new projects
With a disciplined process, managers develop a better sense of how long it
takes to accomplish various kinds of tasks and what kinds of skills are needed.
http://www.greymatterindia.com/