Information Processes and Technology

Home > Information Processes and Technology > Project Management & Project Work > Classic, agile and iterative system development

Classic, agile and iterative system development

Outcomes

This material addresses aspects of the following syllabus outcomes:

A student:

H6.2 selects, justifies and applies methodical approaches to planning, designing or implementing solutions
H7.1 implements and explains effective management techniques
H7.2 uses methods to thoroughly document the development of individual and team projects.

Source: Board of studies NSW, Stage 6 Information Processes and Technology, Preliminary and HSC Courses (2009) http://www.boardofstudies.nsw.edu.au/syllabus_hsc/pdf_doc/ipt-st6-syl-from2010.pdf (external website)

Three methods of system development:

More information

Activities

Classic system development

In a classically linear and sequential approach to systems development, each stage is assigned to a separate team to ensure greater project and deadline control which is important for on-time project delivery. A linear approach means a stage-by-stage approach for product building.

Main features

Go To Top

Iterative system development

Iterative system development slices the system functionality into increments (portions). In each increment, a slice of functionality is delivered through cross-discipline work, from the requirements to the deployment. The unified process groups increments/iterations into phases: inception, elaboration, construction, and transition.

Each of the phases may be divided into one or more iterations, which are usually time-boxed rather than feature-boxed. Architects and analysts work on iteration ahead of developers and testers to keep their work-product backlog full.

Main features

Agile system development

Agile development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organising, cross-functional teams. The Agile Manifesto introduced the term in 2001.

Proponents of agile methods believe that they promote a disciplined project management process for software development that encourages frequent inspection and adaptation, teamwork, self-organisation and accountability, a set of engineering best practices for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.

There are many specific agile development methods. Most promote development, teamwork, collaboration, and process adaptability throughout the life-cycle of the project.

Agile methods break tasks into small increments with minimal planning, and do not directly involve long-term planning. Iterations are short time frames (time boxes) that typically last from one to four weeks. Each iteration involves a team working through a full software development cycle including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders. This helps minimise overall risk, and lets the project adapt to changes quickly. Stakeholders produce documentation as required. An iteration may not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration. Multiple iterations may be required to release a product or new features.

Source: "Agile Software Development." Wikipedia, the Free Encyclopedia. Web. 11 Aug. 2011. http://en.wikipedia.org/wiki/Agile_software_development (external website) .

Main features

Go To Top

More information:

Activities

You can download a MS Word version of the activities.

  1. Complete the table below by using true or false to indicate if the attributes in the left-hand column apply to the system development method.

    System development method Classic Agile Iterative
    Is linear and sequential.      
    Assigns each stage is assigned to a separate team.      
    Promotes teamwork and collaboration.      
    Breaks tasks into small increments with minimal planning.      
    Divides system functionality into increments.      
    Groups processes into phases.      

    Check your answers

  2. Indicate whether the statements below are true or false.

    1. Classic system development assigns each stage to a separate team.
    2. Iterative system development involves a number of phases.
    3. A linear approach involves collaboration between self-organising, cross-functional teams.
    4. Iterative system development phases may not be divided into iterations.
    5. Agile development is based on iterative development.
    6. Agile development values contract negotiation over customer collaboration.
    7. Agile development is dynamic and response to change is important.
    8. Teamwork, collaboration, and process adaptability are specific agile development methods.
    9. Agile methods involve long-term planning.
    10. Iterations are short time frames (time boxes) that typically last from one to four weeks.

    Check your answers

Go To Top

Neals logo | Copyright | Disclaimer | Contact Us | Help