Skip to content

Commit

Permalink
Merge branch 'main' into Updates-implement-DevOps-practices-for-conti…
Browse files Browse the repository at this point in the history
…nuous-delivery
  • Loading branch information
Marxoz authored Apr 12, 2024
2 parents 9091734 + fc39378 commit ef93776
Show file tree
Hide file tree
Showing 42 changed files with 182 additions and 165 deletions.
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
**Tip: Use [SSW Rule Writer GPT](https://chat.openai.com/g/g-cOvrRzEnU-ssw-rules-writer) for help with writing rules 🤖**
<!-- **Tip: Use [SSW Rule Writer GPT](https://chat.openai.com/g/g-cOvrRzEnU-ssw-rules-writer) for help with writing rules 🤖** -->
>
> 1. What triggered this change? (PBI link, Email Subject, conversation + reason, etc)
Expand Down
3 changes: 0 additions & 3 deletions categories/company-operations/rules-to-better-accounting.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,5 @@ index:
- do-you-calculate-payroll-tax-correctly
- do-you-check-your-customers-organisation-age-for-prepaid
- do-you-treat-freebies-as-real-customers
- show-long-service-leave-on-your-payslip
- show-certification-award

---

1 change: 0 additions & 1 deletion categories/company-operations/rules-to-better-flights.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ index:
- do-you-keep-your-finance-manager-in-the-loop
- use-qantas-bid-now-upgrades
- do-you-know-the-best-online-accommodation-websites
- do-you-make-business-travel-easier
- do-you-know-how-to-get-the-most-out-of-your-credit-card
- do-you-take-advantage-of-business-rewards-programs
- missing-flight-invoices
Expand Down
20 changes: 10 additions & 10 deletions rules/allocate-expenses-per-office/rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@ uri: allocate-expenses-per-office
authors:
- title: Jimmy Chen
url: https://www.ssw.com.au/people/jimmy-chen
related:

related: []
redirects:
- do-you-know-how-to-allocate-expense-per-office
created: 2024-01-25T00:00:00.000Z
guid: 596829da-9013-402d-b8f7-c34a6d42f411
archivedreason: null
---

When a company has multiple offices in different locations, it is important to allocate expenses to each office accurately to ensure that the financial reports reflect the true costs of running the business in each location.
Proper expense allocation can also help identify areas of inefficiency and improve cost management.

However, allocating expenses to offices in different locations can be challenging, especially when the expenses are shared among different offices or are difficult to track.
However, allocating expenses to offices in different locations can be challenging, especially when the expenses are shared among different offices or are difficult to track.
It requires a systematic approach and a set of guidelines to ensure that expenses are allocated fairly and accurately.

![](Allocate-expense-1.png)

### Direct allocation of expenses
### Direct allocation of expenses

If an expense is attributable to a specific office, it should be allocated directly to that office.
If an expense is attributable to a specific office, it should be allocated directly to that office.
This includes expenses such as travel expenses incurred by an employee visiting a specific office or recruitment costs for a particular job opening in a specific office.

E.g. If there is a recruitment ad for an open position in Melbourne with a cost of $1,000, it should be allocated to the Melbourne office.
Expand All @@ -33,14 +33,14 @@ The office chosen should genuinely reflect the beneficiary.
* If Bob travels from Sydney to Brisbane to give a speech at a conference held by the Brisbane office, the cost should be allocated to Brisbane
* If Bob travels from Sydney to Melbourne for training, then the cost is allocated to Sydney

Automated tools, like accounting software, should be used to streamline the allocation process and reduce the risk of errors.
Automated tools, like accounting software, should be used to streamline the allocation process and reduce the risk of errors.
Accounting software, such as Xero, provides the option to include an office for transactions; however, some overhead costs need to be manually allocated based on a certain rate.

![Figure: Office can be assigned on each transaction in Xero](Allocate-expense-2.jpg)

### Allocation of shared expenses and unassigned expenses

If an expense is shared among multiple offices and cannot be directly attributed to a specific office, an administrative rate should be used to allocate the cost across all offices.
If an expense is shared among multiple offices and cannot be directly attributed to a specific office, an administrative rate should be used to allocate the cost across all offices.
The method for calculating the administrative rate should be clearly defined in the company rules. Examples of administrative rate calculation methods include the cost of sales or headcount.

E.g., if there is a recruitment ad for a position advertised for any office, the cost is not directly allocated to a specific office but is instead allocated by an end-of-month adjustment.
Expand All @@ -55,8 +55,8 @@ Expenses from the company level can be allocated to each office based on the adm
![Figure: Good example - Software expenses from the company level would be assigned to different offices based on the admin rate](keep-yourself-connected-3.png)
:::

### Review and Communication
### Review and Communication

The allocation process should undergo a review by someone with accounting expertise to ensure the accuracy and consistency of the allocation results.
The allocation process should undergo a review by someone with accounting expertise to ensure the accuracy and consistency of the allocation results.

The company rules governing the allocation process should be effectively communicated to all relevant parties.
The company rules governing the allocation process should be effectively communicated to all relevant parties.
3 changes: 3 additions & 0 deletions rules/angular-separate-component-concerns/rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ authors:
related:
- when-to-use-state-management-in-angular
- isolate-your-logic-and-remove-dependencies-on-instances-of-objects
archivedreason: null
---

One common mistake in writing a front-end component is trying to fit everything in a single component. This can easily lead to unmaintainable code in the long run, especially for complex components.
Expand All @@ -21,6 +22,7 @@ One common mistake in writing a front-end component is trying to fit everything
In simple components, having many logics (e.g. API calls and binding to the form) written to the component itself sometimes works OK, especially if the aim is to reduce the file footprint. However, doing this to larger-sized components can make maintaining the code challenging. The last thing developers want to do is debug a component with 1000+ lines of code with intermingling logic.

Pros and cons of combining all logic into a single component:

* 🟢 Less file footprint
* 🟢 Easier to write
* 🟢 Less problem with reactivity
Expand All @@ -29,6 +31,7 @@ Pros and cons of combining all logic into a single component:
* ❌ Adding more features to this component can be challenging

Consider splitting your component's logic when:

* The file has reached 100+ lines of code
* The component has two or more sources of data (e.g. route params and API)
* UI has many fields that need to be populated from a data source
Expand Down
6 changes: 3 additions & 3 deletions rules/bicep-user-defined-data-types/rule.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
type: rule
archivedreason:
title: Bicep - Do you use User-defined Data Types?
guid: 2a3ba816-ba40-4cfe-8193-7e151e038ac5
uri: bicep-user-defined-data-types
created: 2024-03-19T19:19:19.1919191Z
authors:
- title: Rick Su
url: https://ssw.com.au/people/rick-su
- title: Rick Su
url: https://ssw.com.au/people/rick-su
related: []
redirects: []
archivedreason: null

---

Expand Down
3 changes: 2 additions & 1 deletion rules/brainstorming-idea-champion/rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ related:
- do-you-know-how-to-use-tags-for-github-issues
created: 2024-04-02T13:42:55.753Z
guid: 0034f3e2-a3b5-4527-8d3d-45b27f2e4a1f
archivedreason: null
---

During a [Brainstorming Day](/use-the-brains-of-your-company), many great ideas are generated, discussed, and refined. But what happens to these ideas once the day is over? Without a dedicated individual to drive an idea forward, it risks being forgotten or losing momentum. This is where the "Idea Champion" comes in.
Expand All @@ -38,7 +39,7 @@ During a [Brainstorming Day](/use-the-brains-of-your-company), many great ideas

The Idea Champion's role is over when either:

✅ There is a Scrum Team working on the project
✅ There is a Scrum Team working on the project
or
❌ Approval isn't reached and the idea is parked (this is a perfectly acceptable outcome - it can always be revisited in a future Brainstorming Day)

Expand Down
2 changes: 0 additions & 2 deletions rules/business-cards-branding/rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,5 @@ Here are the instructions for adding a digital business card to your phone walle
![Figure: OK example: If you are going to have Paper Business cards, make sure they POP!](ssw-businesscards.png)

::: good

![Figure: Good Example - Digital Business Cards such as HiHello are awesome!](dsdsvcsd.png)

:::
18 changes: 13 additions & 5 deletions rules/communicate-your-product-status/rule.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
type: rule
archivedreason:
title: Communication - Do you know how to communicate Product Progress?
uri: communicate-your-product-status
guid: b396caf5-9bfb-4607-bc69-7dc13700b3cc
created: 2024-03-25T10:39:38.0000000Z
authors:
- title: Nick Curran
url: https://ssw.com.au/people/nick-curran
- title: Nick Curran
url: https://ssw.com.au/people/nick-curran
related:
- send-sprint-forecast-and-sprint-review-retro-emails-to-the-client
guid: b396caf5-9bfb-4607-bc69-7dc13700b3cc
- send-sprint-forecast-and-sprint-review-retro-emails-to-the-client
archivedreason: null
---

As a Product Owner, you are representing the product's stakeholders on the Scrum Team. You will be a representative of the Product to other people in your business, such as your manager or director. You will often be asked the question "How is your Product going?"
Expand All @@ -23,11 +23,13 @@ Keep stakeholders informed of progress and enthused about your project using mon
To prepare for meetings and maximise the chances of success for your project, ensure you have answers to the following questions:

1. **Value - What features have been delivered recently?** Celebrate your successes and demonstrate how your product is adding value to stakeholders. Examples could include:

* A new login screen with better accessibility for visually impaired users
* Support for a new business process
* A shortened user registration process

2. **Development - How has the Roadmap progressed?** A PBI is a small chunk of work conducted to progress a larger aim. Explain how the completion of these PBIs contributed to achieving the aim of the Product Roadmap. For example:

* Adding Mandarin translations for an Angular component as part of an internationalization feature
* Adding payment processing as part of a new subscription feature

Expand All @@ -38,27 +40,33 @@ To prepare for meetings and maximise the chances of success for your project, en
![Figure: Microsoft Viva Goals can link with Azure DevOps to graphically display the progress of Roadmap items](viva-goals-roadmap.png)

3. **Development - What delays or blockers have been encountered while writing the software?** [Software development is painful and costly](/do-you-manage-clients-expectations/). Explain the difficulties that the project has encountered, and detail your plan to overcome those difficulties. For example:

* The upgrade between Angular versions was delayed as the team's Frontend expert has been sick. A new expert has been brought in to complete the work
* The new customer registration process was taking longer than expected to implement. The intention is to make it simpler with fewer screens

4. **Operations - How do the product's metrics compare historically?** If you have responsibility for the operation of your product, you need to be tracking metrics such as the number of users accessing the system or how many hours they are spending on your site. Provide graphs to demonstrate trends. For example:

* Have a graph demonstrating how the user count has changed over the course of the last 2 calendar years

![Figure: A graph helps demonstrate trends affecting the Product](user-metrics.png)

5. **Operations - What issues have been seen in Production?** [All errors should be logged](/do-you-log-every-error/), so you should be able to list any significant errors that stakeholders and users have experienced and the plan to prevent those errors in future. You should also be actively monitoring for performance issues. All such issues should have plans for investigation or rectification. For example:

* The frontend has experienced an increase in exceptions when adding new users to the system. This was been tracked to a bug in how data is being serialized from the backend, and was fixed last Sprint
* Since upgrading the database server version, a significance increase of 2 seconds in server response time has been seen. System Administrators are investigating

6. **Planning - What decisions have been made regarding the project?** As Product Owner, you will be approving changes to the behaviour of the product and many of these changes will be in development. Explain the decisions that you've made and their rationale. Try to catch misalignments in stakeholder views before your decisions are coded. For example:

* I have modified the permissions model for the website to allow contributing users access to unpublished articles, as they often request input from each other
* I approved the mock-ups for the website redesign, as they were cleaner and easier to understand than the current website pages

7. **Planning - How should the Roadmap be changed to remain relevant?** Circumstances and priorities change - work with your stakeholders to ensure that your product fulfils their requirements while making efficient use of development resources. In extreme cases, the Product Goal itself may need to be revised. For example:

* Users have had significant difficulty writing new articles, as the editing control does not make it easy to link to other articles. Therefore, work should be prioritized to improve how inter-article links are created
* There has been a significant increase in users, so work needs to be prioritized to improve the throughput of transactions

8. **Resources - do you have everything you need to complete the updated Product Roadmap?** Ensure that you have agreements for funding, personnel or services, or everyone will be unhappy when the Roadmap is inevitably not delivered. For example:

* To implement the article search functionality, approval is required for an increase in funding to cover the Azure Search Service instance
* To implement the Artificial Intelligence co-writing feature, approval is required to apply for and pay for the Azure OpenAI Service

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,25 @@ authors:
url: https://ssw.com.au/people/adam-cogan/
created: 2014-03-14T05:53:00.000Z
guid: e576f1eb-076a-4371-a505-12cf0d4c38fb
related: []
redirects: []
archivedreason: null
---

The desired features of structuring large Builds in VS.NET:

<!--endintro-->

1. **Scalable** - The project should allow continuous additions to the structure
- Developers should be able to keep adding to the structure
* Developers should be able to keep adding to the structure

2. **Multiple Versions** - The project should support multiple product releases
- The structure should be able to allow developers to work on the next release while there is still work in progress for a previous release of another section of the project
- Developers can work side by side with different versions in parallel (i.e. at the same time)
* The structure should be able to allow developers to work on the next release while there is still work in progress for a previous release of another section of the project
* Developers can work side by side with different versions in parallel (i.e. at the same time)

3. **Efficient** - The build should be as quick as possible
4. **Reliability** - Builds should be reproducible on any machine and reliable
5. **Switchable** - The project should be able to switch between debug release and other versions
- The project should be able to activate without debug.
- A config should be made for a demo build.
- It should support a full release.

* The project should be able to activate without debug.
* A config should be made for a demo build.
* It should support a full release
3 changes: 2 additions & 1 deletion rules/disagreeing-with-powerful-stakeholders/rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ related:
- for-the-record
created: 2024-03-21T04:59:07.597Z
guid: 2848c2b5-28cc-475f-ab24-0983f8d38b5a
archivedreason: null
---
Disagreeing with powerful stakeholders can have a huge impact. It's always good to speak up, but a poorly worded disagreement can result in misalignment or frustration. That's why it's crucial to frame your messages in a way that ensures ideas are expressed effectively.

Expand Down Expand Up @@ -102,7 +103,7 @@ Bad example - The Developer didn't express that it was their opinion.
:::

:::greybox
**Product Owner**: \[See above]
**Product Owner**: [See above]

**Developer**: In my opinion, it's better if we upgrade to .NET 8 this Sprint because it will help fix users' performance issues.
:::
Expand Down
24 changes: 12 additions & 12 deletions rules/do-you-add-end-screen-to-your-youtube-videos/rule.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
---
type: rule
archivedreason:
title: Do you add end screen to your YouTube videos?
guid: ddc1af04-cd76-4096-95aa-12626d12491f
uri: do-you-add-end-screen-to-your-youtube-videos
created: 2018-07-27T00:10:17.0000000Z
authors:
- title: Florent Dezettre
url: https://ssw.com.au/people/florent-dezettre
- title: Florent Dezettre
url: https://ssw.com.au/people/florent-dezettre
related:
- personalized-thumbnail
- sort-videos-into-playlists
- untapped-keywords
- videos-youtube-friendly
- optimize-videos-for-youtube
- keep-audience-happy
- youtube-cards
- do-you-add-time-links-on-your-youtube-videos
- do-you-follow-image-standard-sizes-on-social-media
- personalized-thumbnail
- sort-videos-into-playlists
- untapped-keywords
- videos-youtube-friendly
- optimize-videos-for-youtube
- keep-audience-happy
- youtube-cards
- do-you-add-time-links-on-your-youtube-videos
- do-you-follow-image-standard-sizes-on-social-media
redirects: []
archivedreason: null

---

Expand Down
20 changes: 10 additions & 10 deletions rules/do-you-create-an-online-itinerary/rule.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
type: rule
archivedreason:
archivedreason: null
title: Do you create an online itinerary when traveling?
guid: 66c1fa86-8bea-4638-a4dc-15c3361292e8
uri: do-you-create-an-online-itinerary
created: 2015-04-28T05:11:40.0000000Z
authors:
- title: Adam Cogan
url: https://ssw.com.au/people/adam-cogan
- title: Joanna Feely
url: https://ssw.com.au/people/joanna-feely
- title: Adam Cogan
url: https://ssw.com.au/people/adam-cogan
- title: Joanna Feely
url: https://ssw.com.au/people/joanna-feely
related:
- do-you-know-the-best-online-accommodation-websites
- do-you-check-if-your-qantas-flight-is-eligible-for-a-bid-now-upgrade
- do-you-know-how-to-get-the-most-out-of-your-credit-card
- do-you-check-your-boarding-pass
- do-you-take-advantage-of-business-rewards-programs
- do-you-know-the-best-online-accommodation-websites
- do-you-check-if-your-qantas-flight-is-eligible-for-a-bid-now-upgrade
- do-you-know-how-to-get-the-most-out-of-your-credit-card
- do-you-check-your-boarding-pass
- do-you-take-advantage-of-business-rewards-programs
redirects: []

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ authors:
url: https://ssw.com.au/people/gert-marx
- title: Ulysses Maclaren
url: https://ssw.com.au/people/ulysses-maclaren
related:
related: []
redirects:
- do-you-establish-a-Lean-Agile-mindset-across-all-teams
- do-you-establish-a-Lean-Agile-mindset-across-all-teams
archivedreason: null
---
In any bustling organization, it's common to see multiple teams working at their own pace, each with its distinct flavor of 'agility'. But what happens when some of those flavors are a tad outdated? The result: a mix of inefficiencies, delays, and missed beats.

Expand Down
2 changes: 1 addition & 1 deletion rules/do-you-make-business-travel-easier/rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ redirects:
- uber-for-business
created: 2024-01-11T00:00:00.000Z
guid: e9a7a3e1-1c1c-4b9b-9160-6ff426e53b6d

archivedreason: null
---

In our fast-paced work environment, it is crucial to get to client sites or attend meetings efficiently. However, managing the associated expenses can often be a time-consuming and challenging task.
Expand Down
Loading

0 comments on commit ef93776

Please sign in to comment.