Skip to content

Commit 3696df7

Browse files
committed
Updated patterns in block "Reviewed Pattern Ideas (not yet proven but reviewed)"
=> Maturity: Unproven
1 parent 0e4f9a3 commit 3696df7

File tree

2 files changed

+38
-23
lines changed

2 files changed

+38
-23
lines changed

improve-findability.md

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,47 @@
11
## Title
22

3-
Improve Findability
3+
Improve Findability
44

55
## Also Known As
66

77
- Badly Named Piles
88
- Poor Naming Conventions
99

10-
## Context
10+
## Patlet
1111

12-
Reusable software component(s) are available internally but users can't easily find them.
13-
This problem is more likely to occur in large, federated companies where different organizational units operate as silos.
14-
Historically, the company does not have a culture of sharing code across silos.
12+
TBD
1513

1614
## Problem
1715

1816
People can't find the internally developed solutions that they need due to poor naming conventions.
1917

18+
## Context
19+
20+
Reusable software component(s) are available internally but users can't easily find them.
21+
This problem is more likely to occur in large, federated companies where different organizational units operate as silos.
22+
Historically, the company does not have a culture of sharing code across silos.
23+
2024
## Forces
2125

2226
- The volume of contributions to inner source is impacting the ability to find components.
2327
- The internal search engine is not robust, or is not connected to git repositories (it can be difficult to make this change happen)
2428
- Cryptic naming conventions for projects and lack of keywords contribute to reduced findability.
2529
- People may lose confidence in the integrity of inner source and become discouraged from engaging when they search and don't find what they need.
2630

27-
2831
## Solution
32+
2933
To help improve findability for inner source projects:
3034
- Provide guidelines for applying clear, meaningful naming conventions to projects, and reinforce the importance of avoiding cryptic code names.
3135
- Include keywords in project descriptions.
3236
- Apply tagging to repositories (validated).
3337
- Use labels where possible.
3438
- If possible, pull repository names, descriptions, and README.md files into the search engine (not the code itself).
35-
- Instate a concierge service (guide) to help product people find stuff. (This approach might not scale, but could be helpful at the beginning of a program.)
36-
39+
- Instate a concierge service (guide) to help product people find stuff. (This approach might not scale, but could be helpful at the beginning of a program.)
3740

3841
<img alt="Poor naming conventions" src="/assets/img/poornamingconventions.jpg" width="70%">
3942

40-
## Known instances
43+
## Known Instances
44+
4145
None known as of yet---this is a pattern idea until it is proven.
4246

4347
## Desired Resulting Context
@@ -52,6 +56,8 @@ None known as of yet---this is a pattern idea until it is proven.
5256

5357
## Status
5458

59+
Unproven
60+
5561
Brainstormed pattern idea reviewed 2017-03-11.
5662

5763
## Authors
@@ -61,4 +67,3 @@ Brainstormed pattern idea reviewed 2017-03-11.
6167
- Erin Bank (CA Technologies)
6268
- Padma Sudarsan (Nokia)
6369
- Tim Yao (Nokia)
64-

modular-code.md

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,42 @@
1-
**Title:** Modular Code
1+
## Title
2+
3+
Modular Code
4+
5+
## Patlet
6+
7+
TBD
8+
9+
## Problem
210

3-
**Statement of Problem:**
411
Development does not want to spend the extra resources needed to develop modular components. As a result, shared components are not reused.
512

6-
**Context:**
13+
## Context
14+
715
* There is no corporate mandate for modularized code.
8-
* This is a new product/new code, not a legacy product/code.
16+
* This is a new product/new code, not a legacy product/code.
917
* There is an available repository for sharing code.
1018
* Making code modular takes extra effort and time to develop.
1119
* Time commitments might already have been made for customer deliveries (not changeable).
1220

13-
**Forces:**
21+
## Forces
22+
1423
* There is a learning curve to writing code that can be reused.
1524
* Extra documentation is required for reusable code.
1625
* Some companies have a common components group that develops reusable code, but others feel that such components should be developed by those business lines that are using the components and a library of common components could be established.
17-
* Developers might not know how to write modular code. Education might be needed.
26+
* Developers might not know how to write modular code. Education might be needed.
1827
* Might be a fear that if not done properly, quality might be impacted.
1928
* Developers might not have incentive to write modular code (due to their tight schedules and lack of a mandate).
2029
* You might be dealing with legacy systems (can't be simply refactored or rewritten).
2130
* Requirements might be different for writing modular code.
2231
* Architectural constraints might impact modularity.
2332
* Developers who develop monolithic code bases might lack the perspective of how modularity might improve how they work.
2433

25-
**Resolution:**
34+
## Solutions
35+
2636
* Provide incentives to teams to invest in modular code. Modular code is far more reusable. This could work well for large teams when working on modularized projects; team members can focus on their smaller assigned tasks.
2737
- Developers could get an opportunity to increase their influence in the organization.
2838
* Select certain "success projects," teams that will develop reusable code and demonstrate the long term success. This can help motivate others (they see what is possible and what is in it for them). Transparency is critical.
29-
* Offer education. Modular code is well-understood; there is a lot of literature in favor of this.
39+
* Offer education. Modular code is well-understood; there is a lot of literature in favor of this.
3040
* Accept the cost of modularization, build time into the release schedule.
3141
* Companies moving to use more open source code will appreciate modularity more over time.
3242
* Modular code is easier to work with, especially for larger teams.
@@ -35,12 +45,12 @@ Development does not want to spend the extra resources needed to develop modular
3545
- There could be requirements on tests, tools and documentation before considering a component as reusable
3646
* Establish standards on testing methodology, labeling of repos.
3747

38-
**Resulting Context:**
39-
Time is spent making the shared code modular so it can be reused.
48+
## Resulting Context
4049

41-
**Author:**
50+
Time is spent making the shared code modular so it can be reused.
4251

43-
**Status:**
44-
Donut
52+
## Status
4553

54+
Unproven
4655

56+
## Author

0 commit comments

Comments
 (0)