PWI Software Documentation Help

Development Process

This is a rough outline of the process we should always follow for developing and publishing new features for the portal and automations. Please note that for larger projects, some phases are repeated until the project is complete.

Terms

There are a few terms used here that need to be understood in the context.

Phase

A phase indicates a segment of work that is completed together. A phase is typically completed 100% before moving on to the next phase.

Milestone

A milestone is a key checkpoint in development that marks a meaningful shift in focus. Milestones group related phases into a broader, easier-to-track scope. Although phases are listed under each milestone, a milestone is considered reached once all of its phases are complete.

Key Players

Key players are the stakeholders who have interest in the success of the project. This typically includes managers of end users, end users themselves, and other impacted teams. We determine who to involve in scoping and approval based on the impact of the project.

Responsibilities

The primary developer is responsible for:

  • Writing, or at least thoroughly understanding and owning the scope

  • Creating sketches

  • Drafting the architecture plan

  • All development

  • Ensuring development does not go outside of scope

Managers are responsible for ensuring:

  • Research meetings are scheduled at convenient times for key players

  • All relevant key players are involved in scoping and approval

  • The scope and timeline are realistic and attainable

  • Approval is given at each required phase before moving on

  • Trevor and Jeff stay informed throughout the progress and are given the opportunity to provide feedback

  • The final product meets the needs of end users

  • Follow-ups are completed after rollout

Milestone 1: Scope and Architect

Phase 1: Scope

  1. Research

    • Meet with key players to determine problem statements and scope. Start with the highest level manager that is directly impacted, and ask if any other managers or end users should be consulted.

    • Use other software team members to help collect problem statements.

  2. Write the scope

    • Define objectives that are measurable, realistic, and tied to an attainable deadline.

    • Outline what belongs in the MVP and what can be deferred to the final release.

    • Remove or table unrealistic ideas.

  3. Manager approval

    • Review scope with your supervisor.

    • Confirm the proposed deadline is attainable.

  4. Jeff's approval

  5. Outside approval

    • Approval by key players

    • Give Trevor Klotz a copy of the approved scope. We do not require his approval, but he needs to be kept in the loop.

Phase 2a: Sketch

  1. Create sketches: Produce quick sketches for each screen or component. Full wireframes are usually too detailed and take a lot of time to create.

  2. Get approval: First get approval from your manager, then from Jeff.

Phase 2b: Architect

  1. Draft architecture plan

    • Build quick POCs for areas where implementation will be challenging or is confusing, and plan to discard them after learning.

    • Scope the MVP precisely.

    • Draft a short list of alpha/beta testers if you expect to need testing.

  2. Get approval: First get approval from your manager, then from Jeff.

Milestone 2: MVP / Beta Release

Phase 3: Develop MVP

  1. (if applicable) Build the basic app

    • Create a repository

    • Set up a hosting site

    • Configure the domain

    • Set up CI/CD

    • Set up branch protection rules

    • Build the core of the app

    • Get through PR review

  2. For each screen or functional area, do the following:

    1. Service / repo: implement the needed service and repository layer(s).

    2. UI: build the use cases and UI.

    3. Approval: get approval through PR review.

  3. Test the MVP

    • Run alpha tests with peers to prove workflows and iron out edge cases.

    • (as needed) Beta testing with end users as soon as features are developed.

Milestone 3: Final Release

Phase 4a: Final Development

  • Build out any features not included in MVP.

Phase 4b: UI / UX Review

  • Internal review

    • personal testing by developer

    • alpha testing with peers

    • testing and review by supervisor

    • testing and review by Jeff

Phase 5: Release

  1. Demo and review

    • Get final approval from your supervisor.

    • Get final approval from Jeff.

    • Review and demo functionality with key players.

  2. Publish the app

  3. (as needed) Beta/gamma testing with end users

    • Use a small group to find unclear workflows or UI.

    • Fix blocking bugs and incorporate critical feedback.

Milestone 4: Rollout

Phase 6: Training and Follow-ups

  1. Record a release demo video and send it to Jeff for dissemination.

  2. Train end users

    • Provide 1:1 training for initial users, then create documentation and training materials for future users.

  3. Follow up and monitor

    • Check in regularly for 3-6 weeks to ensure smooth operation and fix any issues.

    • Prioritize bug fixes above other development during this period.

Phase 7: Retrospective

  • Retrospective and rollout wrap-up

    • Review what went well and what to improve for the next cycle.

    • Document lessons learned and adjust playbooks for future development.

15 December 2025