Dr Royce’s advice on
managing the development of large software systems:
According to him, the development of large software systems has
two steps namely analysis step and the coding step..
In case of large projects, the risk can be reduced by having
more than the basic steps. This includes requirement definition
step that comes before the analysis step, a design step between the
analysis and coding step and a testing step after coding
The design requirement changes are considered to be disruptive,
because the software requirements, upon which the design is based
and which provides the rationale get violated. It is for this
reason that he provides five steps.
- Introducing a preliminary program design step between the
requirements generation and analysis for determining the storage,
timing and also the operational constraints. In other words,
establishing architecture will minimize the significant risks.
- Next is documentation. According to Royce, management of
software becomes difficult without documentation. Following are the
reasons.
- It is an evidence of completion.
- Documentation makes the design real.
- Documentation is required for the design to succeed.
- The next step is building a functional prototype that
stimulates the high risk elements of the system to be built.
- The fourth step is doing testing by independent specialists and
also the visual code scans to identify the code errors.
- The final step is involving the customer.
Agile manifesto and
principles:
The agile manifesto is also called as manifesto for agile
software development. It is a declaration of four key values and 12
principles to guide for software development.
The following are the principles:
- Customer satisfaction through early delivery of work.
- Dividing the big work into small components so that it can be
completed quickly.
- Self organized teams are considered suitable for best
performance.
- Providing motivation and support to the employees and trusting
them for getting the work done.
- Promoting sustainable efforts by creating processes.
- Maintenance of a steady pace for completing the work.
- Welcoming the changing requirements.
- Assembling the project teams and the business owners regularly
and throughout the project.
- Educating the team on how to become more effective and tuning
their behavior accordingly.
- The amount of completed work is used to measure the
progress.
- Seeking excellence continuously.
- Harnessing changes to gain competitive advantage.