1 Se
1 Se
modifications meet the highest professional standards possible. Incremental delivery The software is developed in increments with the customer specifying the
requirements to be included in each increment.
4. JUDGMENT — Software engineers shall maintain integrity and independence in their
professional judgment. People not process The skills of the development team should be recognized and exploited. Team
members should be left to develop their own ways of working without prescriptive
5. MANAGEMENT — Software engineering managers and leaders shall subscribe to processes.
and promote an ethical approach to the management of software development and Embrace change Expect the system requirements to change and so design the system to
The principal stages of the waterfall model directly reflect the fundamental development accommodate these changes.
maintenance. activities:
6. PROFESSION — Software engineers shall advance the integrity and reputation of the 1. Requirements analysis and definition The system’s services, constraints, and goals Maintain simplicity Focus on simplicity in both the software being developed and in the development
process. Wherever possible, actively work to eliminate complexity from the system.
profession consistent with the public interest. are established by consultation with system users. They are then defined in detail and serve
as a system specification.
7. COLLEAGUES — Software engineers shall be fair to and supportive of their colleagues.
2. System and software design The systems design process allocates the requirements
8. SELF — Software engineers shall participate in lifelong learning regarding the practice to either hardware or software systems by establishing an overall system architecture. 6.Explain the concept of agile manifesto.
of their profession and shall promote an ethical approach to the practice of the Software design involves identifying and describing the fundamental software system Agile manifesto
profession. abstractions and their relationships.
The philosophy behind agile methods is reflected in the agile manifesto that was agreed on
3. Implementation and unit testing During this stage, the software design is realized as
by many of the leading developers of these methods. This manifesto states:
a set of programs or program units. Unit testing involves verifying that each unit meets its We are uncovering better ways of developing software by doing it and helping others do it.
specification. Through this work we have come to value:
4. Integration and system testing The individual program units or programs are ● Individuals and interactions over processes and tools
integrated and tested as a complete system to ensure that the software requirements have
been met. After testing, the software system is delivered to the customer. ● Working software over comprehensive documentation
● Customer collaboration over contract negotiation
5. Operation and maintenance Normally (although not necessarily), this is the longest ● Responding to change over following a plan
life cycle phase. The system is installed and put into practical use. Maintenance involves
correcting errors which were not discovered in earlier stages of the life cycle, improving the That is, while there is value in the items on the right, we value the items on the left more.
implementation of system units and enhancing the system’s services as new requirements
are discovered
Incremental development has three important benefits, compared to the waterfall model: