Traceability: Complexity

The second component, complexity, is a measure of the number of properties of a project that are judged to be outside of the norm. The applicable norm is relative to the person or group making the judgment. Assessing the team’s understanding of complexity is important because when a person or group perceives something to be complex they act differently. The concept of complexity can be decomposed into many individual components, for this model the technical components of complexity will be appraised in this category. The people or team driven attributes of complexity are dealt with in the user involvement section (above). Higher levels of complexity are an important reason for pursuing traceability because complexity decreases the ability of a person to hold a consistent understanding of the problem and solution in their mind. There are just too many moving parts. The inability to develop and hold an understanding in the forefront of your mind increases the need to document understandings and issues to improve consistency.

The model assesses technical complexity by evaluating the following factors:

The project is the size you are used to doing
2. There is a single manager or right sized management
3. The technology is well known to the team
4. The business problem(s) is well understood
5. The degree of technical difficulty is normal or less
6. The requirements are stable (ish)
7. The project management constraints are minor
8. The architectural impact is minimal
9. The IT Staff perceives the impact to be minimal

As with customer involvement, the assessment process for complexity uses a simple yes or no scale for rating each of the factors. Each factor will require some degree of discussion and introspection to arrive at an answer. An overall assessment tip: A maybe is equivalent to a ‘no’. Remember that there is no prize for under or over-estimating the impact of these variables, value is only gained through an honest self-evaluation.

Project is normal size: The size of the project is a direct contributor to complexity; all things being equal, a larger than usual project will require more coordination, communication and interaction than a smaller project. A common error when considering size of project is to use cost as a proxy. Size is not the same thing as cost. I suggest estimating the size of the project using standard functional size metrics. Assessment Tip: Organizations with a baseline will be able to statistically determine the point where size causes a shift in productivity. The shift is a sign post for where complexity begins to weigh on the processes being used. In organizations without a baseline, develop and use a rule of thumb. Consider using the rule that ‘if it is bigger than anything you have done before’ or the corollary ‘the same size as your biggest project’ as rules of thumb. These equate to an ‘N’ rating.
Single Manager/Right Sized Management: There is an old saying ‘too many cooks in the kitchen spoil the broth’. A cadre of managers supporting a single project can fit the ‘too many cooks’ bill. While it is equally true that a large project will require more than one manager or leader it is important to understand the implications that the number of managers and leaders will have on a project. Having the right number of managers and leaders can smooth out issues that are discovered, assemble and provide status without impacting the team dynamic while providing feedback to team members. Having the wrong number of managers will gum up the works of project (measure the ratio of meeting time to a standard eight hour day anything over 25% is sign to closely check the level of management communication overhead). The additional layers of communication and coordination are the downside of a project with multiple managers (it is easy for a single manager to communicate with himself or herself). One of the most important lessons to be gleaned from the agile movement is that communication is critical (and this leads to the conclusion that communication difficulties may trump benefits) and that any process that gets in the way of communication should be carefully evaluated before they are implemented. A larger communication web will need to be traversed with every manager added to the structure, which will require more formal techniques to ensure consistent and effective communication. Assessment Tip: Projects with more than five managers and leaders or a worker to manager ratio lower than 8 workers to one manager/leader (with more than one manager) should assess this attribute as an ‘N’.

Well Known Technology: The introduction of a technology that is unfamiliar to the project team will require more coordination and interaction. While the introduction of one or two hired guns into a group with experience is a good step to ameliorate the impact, it may not be sufficient (and may complicate communication in its own right). I would suggest that until all relevant team members surmounts the learning curve; new technologies will require more formal communication patterns. Assessment Tip: If less than 50% of the project team has not worked with a technology on previous projects, assess the attribute as an ‘N’.

Well Understood Business Problem: A project team that has access to understanding of the business problem being solved by project will have a higher chance at solving the problem. The amount of organizational knowledge the team has will dictate the level of analysis and communication required to find a solution. Assessment Tip: If the business problem is not well understood or has not been dealt with in the past this attribute should be assessed as a ‘N”.

Low Technical Difficultly: The term ‘technical difficulty’ has many definitions. The plethora of definitions means that measuring technical difficulty requires reflecting on many project attributes. The attributes that define technical difficulty can initially be seen when there are difficulties in describing the solutions and alternatives for solving the problem. Technical difficulty can include algorithms, hardware, software, data, logic or any combination of components. Assessment Tip: When assessing the level of technical difficulty, if it is difficult to frame the business problem in technical terms assess the level of complexity as ‘N’.

Stable Requirements: Requirements typically evolve as a project progresses (and that is a good thing). Capers Jones indicates that requirements grow approximately 2% per calendar month across the life of a project. Projects that are difficult to define or where project personnel or processes allow requirements to be amended or changed in an ad hoc manner should anticipate above average scope creep or churn. Assessment Tip: If historical data indicates that the project team, customer and application combination tends to have scope creep or churn above the norm assess this attribute as an ‘N’ unless there are procedural or methodological methods to control change. (Note: Control does not mean stop change, but rather that it happens in an understandable manner.)

Minor Project Management Constraints: Project managers have three macro levers (cost, scope and time) available to steer a project. When those levers are constrained or locked (by management, users or contract) any individual problem becomes more difficult to address. Formal communication becomes more important as options are constrained. Assessment Tip: If more than one of the legs of the project management iron triangle is fixed, assess this attribute as an ‘N’.

Minimal Architectural Impact: Changes to the standard architecture of the application(s) or organization will increase complexity on an exponential scale. This change of complexity will increase the amount of communication required to ensure a trouble free change. Assessment Tip: If you anticipate modifications (small or wholesale) to the standard architectural footprint of the application or organization, assess this attribute as an ‘N’.
Minimal IT Staff Impact: There are many ways a project can impact an IT staff ranging from process related changes (how work is done) to outcome related changes (employment or job duties). Negative impacts are most apt to require increased formal communication, therefore the use of traceability methods that are more highly documented and granular. Negative process impacts are those that are driven by the processes used or organizational constraints (e.g. death marches, poorly implemented processes, galloping requirements and resource constraints). Outcome related impacts are those driven by the solution delivered (e.g. outsourcing, downsizing, and new application/solutions). Assessment Tip: Any perceived negative impact on the team or to the organization that is closely associated with the team should viewed as not neutral (assess as an ‘N’), unless you are absolutely certain you can remediate the impact on the team doing the work. Reassess often to avoid surprises.