COURSE OBJECTIVE:
An overview of the issues and concepts involved in developing quality business solutions using Agile, the Systems Development Essentials course is perfect for business analysts and anyone wishing to learn about Agile software development. Study a number of systems development life cycles, both defined and evolutionary, and examine the context in which different lifecycles could be applied, before focusing on an Agile approach.
Topics covered include examining how the systems development effort can be organised; understanding requirements; stakeholders and roles in an agile environment and techniques that support iterative development such as prototyping, hothousing and scenarios.
When combined with our Systems Modelling Techniques course, this module provides you with the core tools and techniques you'll need to become an effective systems analyst, development team analyst or technical business analyst.
TARGET AUDIENCE:
Business analysts, solution developers, project managers and anyone who needs a thorough practical understanding of the various systems development approaches including the Agile framework. Systems Development Essentials is also a Specialist Practitioner module on the BCS (ISEB) International Diploma in Business Analysis.
COURSE PREREQUISITES:
Not available. Please contact.
COURSE CONTENT:
During this course, you will cover:
Introduction
• Characteristics of software quality
• The purposes, objectives and tasks of systems development
• Roles and responsibilities in systems development
• Technical and interpersonal skills of the business analysts and solution developers
Systems architecture
• Enterprise, systems and infrastructure levels of architecture
• Inputs at an enterprise level
• Inputs at system and infrastructure level
• Model Driven Architecture
Development approaches
• Bespoke development
• Commercial off the shelf (COTS) software package solutions
• Configuring and customising COTS software package solutions
• Component-based systems development
• Service-based solutions and other approaches
• Evolutionary prototyping
Systems development lifecycles
• Waterfall model
• V model
• Incremental model
• Spiral (evolutionary) model
• Advantages and disadvantages of each approach
• Selection of an appropriate development approach
Methods and approaches
• Detailed study of the Agile approach including life cycle, deliverables and roles
• Iterative systems development using the DSDM Atern methodology
• Other agile development methodologies (The Unified Process (UP), Scrum, eXtreme Programming)
Modelling techniques
• Models of the Unified Modeling Language (UML)
• Interpretation and principles of:
– Use case diagram
– Use case description
– Class diagram
– State machine diagram
• Validating models using a CRUD matrix
Requirements in an Agile environment
• Fact finding approaches:
– Workshops
– Interviewing
– Questionnaires
– Scenario analysis, storyboarding, user stories and hot-housing
– Model office and focus groups
• Functional requirements definition
• Non-functional requirements definition
• Documenting & prioritising requirements
• Human aspects of systems investigation and introducing change
Iterative systems development
• Features of iterative development approach
• Prototyping
• Categories of prototype
• Timeboxing
• Prototype development plans
Systems design, implementation and maintenance
• Design principles and constraints (legal, ethical, financial)
• Systems deployment and hand over
• Post-implementation reviews
• Different types of maintenance
• Estimation and development planning
Quality assurance
• Definitions of software quality
• The V model
• Requirements-driven testing
• Static testing: types of walkthrough and inspection
• Post-project reviews
CASE and CAST tools
• Features of Computer-aided Software Engineering (CASE) and Computer-aided Software Testing tools (CAST)
• Life-cycle coverage
• Requirements traceability
• Advantages and disadvantages of software development support tools
FOLLOW ON COURSES:
Not available. Please contact.