Course Outline

Software Engineering 5 Days

Day 1: Project Management

  • Differentiating project management from line management, maintenance, and support activities.
  • Defining projects and understanding various project forms.
  • General rules of management and specific principles of project management for government.
  • Exploring different management styles.
  • Unique considerations for IT projects in the public sector.
  • Basic project processes and methodologies.
  • Comparing iterative, incremental, waterfall, agile, and lean project processes.
  • Identifying key project phases.
  • Defining roles within a project team.
  • Understanding project documentation and related artifacts for government.
  • Addressing soft factors and peopleware in project management.
  • Reviewing project standards such as PRINCE 2, PMBOK, PMI, and IPMA.

Day 2: Business Analysis and Requirements Engineering Fundamentals

  • Establishing clear business goals for government projects.
  • Understanding the roles of business analysis, business process management, and business process improvement in public sector operations.
  • Identifying the boundary between business and system analysis.
  • Defining system stakeholders, users, context, and boundaries for government systems.
  • Exploring the necessity of requirements in project success for government.
  • Introducing requirements engineering and its importance for government projects.
  • Distinguishing between requirements engineering and architectural design.
  • Identifying where requirements engineering is often overlooked in public sector projects.
  • Examining requirements engineering in iterative, lean, and agile development methods, including FDD, DDD, BDD, and TDD.
  • Outlining the basic requirements engineering process, roles, and artifacts for government.
  • Reviewing standards and certifications such as BABOK, ISO/IEEE 29148, IREB, BCS, and IIBA.

Day 3: Architecture and Development Fundamentals

  • Overview of programming languages, including structural and object-oriented paradigms for government applications.
  • Assessing the historical context and future direction of object-oriented development in public sector projects.
  • Discussing modularity, portability, maintainability, and scalability in software architectures for government.
  • Defining types of software architectures relevant to public sector systems.
  • Differentiating between enterprise architecture and system architecture for government.
  • Exploring various programming styles and environments suitable for government projects.
  • Identifying common programming mistakes and strategies to avoid them in public sector development.
  • Modeling architecture and components for government systems.
  • Understanding SOA, Web Services, and microservices in the context of government IT.
  • Implementing automatic build and continuous integration practices for government projects.
  • Discussing the extent of architecture design required in public sector projects.
  • Introducing extreme programming, TDD, and refactoring techniques for government development teams.

Day 4: Quality Assurance and Testing Fundamentals

  • Defining product quality and its importance for government systems; exploring standards like ISO 25010 and FURPS.
  • Linking product quality to user experience, the Kano Model, customer experience management, and integral quality in public sector projects.
  • Applying user-centered design principles and techniques such as personas to enhance quality for government users.
  • Understanding the concept of "just-enough" quality for efficient public sector project delivery.
  • Distinguishing between Quality Assurance (QA) and Quality Control (QC) in government IT projects.
  • Developing risk strategies for effective quality control in public sector systems.
  • Identifying key components of quality assurance, including requirements management, process control, configuration and change management, verification, validation, testing, static testing, and static analysis for government.
  • Implementing risk-based quality assurance practices for government projects.
  • Applying risk-based testing methods in public sector IT development.
  • Exploring risk-driven development approaches for government systems.
  • Understanding Boehm’s curve in the context of quality assurance and testing for government projects.
  • Evaluating different testing schools to determine the best fit for government needs.

Day 5: Process Types, Maturity, and Process Improvement

  • Tracing the evolution of IT processes from early computing pioneers through modern lean startups, with a focus on public sector applications.
  • Defining process and process-oriented organization for government operations.
  • Reviewing the historical development of processes in crafts and industries, with implications for public sector IT.
  • Exploring process modeling techniques such as UML and BPMN for government systems.
  • Discussing process management, optimization, re-engineering, and management systems relevant to government operations.
  • Introducing innovative process approaches by Deming, Juran, TPS, and Kaizen in the context of public sector IT.
  • Examining the concept of "free quality" as proposed by Philip Crosby in the context of government projects.
  • Exploring the need and history of maturity improvement frameworks like CMMI, SPICE, and other maturity scales for government.
  • Identifying special types of maturity models, including TMM, TPI (for testing), and Requirements Engineering Maturity (Gorschek) in public sector projects.
  • Analyzing the relationship between process maturity and product maturity in government IT systems.
  • Evaluating the correlation and causal relationships between process maturity and business success for government agencies.
  • Discussing lessons learned from automated defect prevention and productivity improvements in the context of public sector IT.
  • Reviewing attempts at quality improvement through TQM, SixSigma, agile retrospectives, and process frameworks for government projects.

Requirements Engineering - 2 Days

Day 1: Requirements Elicitation, Negotiation, Consolidation, and Management

  • Identifying requirements: what to look for, when to gather them, and who should be involved in the process for government projects.
  • Classifying stakeholders and ensuring all relevant parties are considered in public sector requirements gathering.
  • Addressing often-overlooked stakeholders in government IT projects.
  • Defining system context and identifying sources of requirements for government systems.
  • Utilizing various elicitation methods and techniques suitable for government projects.
  • Applying prototyping, personas, and exploratory testing methods to elicit requirements effectively for government.
  • Integrating marketing strategies with requirements elicitation through MDRA (Market-Driven Requirements Engineering) for government initiatives.
  • Using prioritization techniques such as MoSCoW, Karl Wiegers' methods, and agile MMF in public sector projects.
  • Refining requirements using agile "specification by example" practices for government systems.
  • Negotiating requirements: understanding types of conflicts and conflict resolution methods for government projects.
  • Solving internal inconsistencies between different types of requirements, such as security versus ease of use, in public sector IT.
  • Implementing requirements traceability to ensure accountability and transparency in government projects.
  • Managing changes in requirements status for government systems.
  • Applying change control management (CCM), versioning, and baselines to maintain requirement integrity in government projects.
  • Differentiating between product view and project view on requirements for government initiatives.
  • Integrating product management and requirements management practices in public sector projects.

Day 2: Requirements Analysis, Modelling, Specification, Verification, and Validation

  • Understanding the analytical processes involved in moving from requirement elicitation to specification for government systems.
  • Recognizing that requirements processes are iterative, even in sequential projects for government IT.
  • Evaluating the risks and benefits of describing requirements in natural language for government projects.
  • Weighing the advantages and costs of requirements modeling for public sector applications.
  • Establishing rules for using natural language in requirements specification for government systems.
  • Defining and managing a requirements glossary to ensure clarity and consistency in government projects.
  • Utilizing formal and semi-formal modeling notations like UML, BPMN, and others for requirements in public sector IT.
  • Applying document and sentence templates to describe requirements effectively for government systems.
  • Setting goals, levels, and methods for verifying requirements in public sector projects.
  • Conducting validation using prototyping, reviews, inspections, and testing for government IT systems.
  • Differentiating between requirements validation and system validation in the context of government projects.

Testing - 2 Days

Day 1: Test Design, Test Execution, and Exploratory Testing

  • Designing tests based on risk assessment to optimize time and resource allocation for government IT projects.
  • Understanding the practical limitations of exhaustive testing in public sector applications.
  • Creating test cases and scenarios for various test levels, from unit to system testing, in government systems.
  • Designing tests for both static and dynamic testing methods in public sector IT.
  • Differentiating between business-oriented (black-box) and technique-oriented (white-box) test design approaches for government projects.
  • Conducting negative testing to identify system weaknesses and supporting developers through acceptance testing in government IT.
  • Achieving test coverage using various measures suitable for public sector systems.
  • Applying experience-based test design techniques for government projects.
  • Designing test cases from requirements and system models for effective testing in government IT.
  • Utilizing heuristics and exploratory testing methods to enhance test design for government applications.
  • Evaluating when to design test cases using traditional versus exploratory approaches in public sector projects.
  • Determining the appropriate level of detail in test case descriptions for government systems.
  • Addressing psychological aspects of test execution for government IT professionals.
  • Logging and reporting test results effectively for government projects.
  • Designing tests to evaluate non-functional requirements in public sector IT systems.
  • Exploring automatic test design and Model-Based Testing (MBT) techniques for government applications.

Day 2: Test Organization, Management, and Automation

  • Identifying different test levels or phases in public sector projects.
  • Determining who should conduct testing and at what stages of the project lifecycle for government systems.
  • Managing test environments, including costs, administration, access, and responsibility considerations for government IT.
  • Utilizing simulators, emulators, and virtual test environments in public sector projects.
  • Implementing testing practices within agile scrum methodologies for government teams.
  • Organizing and defining roles within the test team for effective public sector project management.
  • Outlining the test process for government IT projects.
  • Evaluating what aspects of testing can be automated in public sector applications.
  • Implementing test execution automation using various approaches and tools suitable for government systems.
 63 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories