Development process

The development process standardizes how your projects work to make changes to your enterprise architecture.

An efficient and lean development process focuses on the creation of specific work products that serve as input for the development of other necessary work products, ultimately leading to the implementation of new and improved processes supported by new and improved IT systems. A development process also defines and provides guidance on the disciplines involved in creating the necessary work products.

Disciplines

I recommend that your process defines disciplines rather than roles – or even worse, job titles. Job titles seldom reflect the person’s expertise – it’s more an indicator of position or status. Focusing on roles like business analyst or architect tends to box people in. Many people have expertise in several disciplines, and some are capable in them all.

Project management

The project management discipline organizes the project team and manages the project’s stakeholders. It plans all activities, ideally focusing on the development of the required work products. It manages risks and solves problems to keep the project on track, on time, and on budget. At the end of the project, a project report is written to capture key learning points.

Business analysis

The business analysis discipline develops new and improved processes and specifies the requirements for the IT systems needed to support them.

Architecture

The architecture discipline designs the IT systems and documents the architecture.

Development

The development discipline builds and deploys the developed IT systems.

Technical writing

The technical writing discipline writes localized on-screen text, online help, and user manuals.

Test

The test discipline writes test cases, performs testing, and writes test reports after each test cycle.

Work products

Only spend time on developing and writing work products that are defined by your development process. Everything else is a waste of time and risks muddying the waters.

Project plan

The project plan is developed in the project management discipline and covers the following topics:

  • The project’s mandate, mission statement, or charter.
  • The business case that predicts how worthwhile the investment is.
  • The project team and how they cover the necessary disciplines.
  • The stakeholders.
  • Monitoring and control.
  • Oversight, reporting, etc.
  • Project work environment.
  • Tooling.
  • Timeline with dependencies to adjacent activities.
  • Development plan.
  • Test plan.
  • Deployment plan.
  • Implementation plan.
  • Risks and problems.

In small projects, this can often be covered in a single document, but most projects will greatly benefit from using task management tools for planning development and test activities.

Solution architecture document

The solution architecture document is developed in the architecture discipline and captures and explains all key design decisions through the following perspectives:

  • Solution overview
  • Processes
  • Information
  • Design constraints
  • Design principles
  • Design aspects
  • High-level design
  • Development
  • Environments
  • Testing
  • Operations

The solution architecture document provides guidance for developers and keeps stakeholders informed of the forthcoming changes to the enterprise architecture.

Process specification

Process specifications are developed in the business analysis discipline, and describe the response to an event as a series of tasks that result in a desired outcome. Use of an IT system in a task can be described in a use case.

Use case specification

Use case specifications are developed in the business analysis discipline and describe the interaction between an actor and the IT system. The actor can be a human user or another IT system.

Test case specification

Test case specifications are developed in the test discipline, and describe the steps of testing a specific scenario, and verify that it leads to the expected outcome.

Test report

Test case reports are written in the test discipline and summarize the outcome of a test cycle that involved executing multiple test cases.

Manual

Manuals are written in the technical writing discipline and offers users guidance in using IT systems when performing their process tasks.

Build

Builds are developed in the development discipline, and often consist of deployable executable files that are installed on a server for testing or in a production capacity.

Release notes

Release notes are written in the development discipline, and summarize which functionality is included in the release, list bug fixes, known (yet unsolved) bugs, and any breaking changes.

Project report

A project report is written in the project management discipline and summarized key learning points from the project.

This is all you need to develop solutions efficiently and thoroughly.

And don’t mistake Scrum, SAFe and TOGAF for development processes. Scrum and SAFe are two task management processes, both lacking any software engineering guidance. And TOGAF, while theoretically correct and very comprehensive, is so bloated and generic that it serves no practical purpose in an actual development project.