Count the Shalls

‘Shall’ Counting

“Count the shalls!” This was one of the strangest introductions to Requirements Management that I’ve heard. Firstly as a young engineer I didn’t know what a ‘shall‘ was, let alone why I should count it. For those of you reading this thinking “… no Idea what he’s on about..” let me explain. A crude method of working out the size of a project requirement was to count the number of paragraphs containing the word ‘shall‘. This gave the number of mandatory contractual statements that must be met for the project. Paragraphs containing ‘should‘ or ‘may‘ could be ignored as they were ‘nice to haves‘ rather than obligations.

counting the shalls as a method of determining contractual requirements
Shalls

Limitations

There is some logic to the approach, if the statements have been written atomically. However, as a provider one should never presume the customer has written the requirements to the right level for ‘shall counting‘.  For example these two customers’s requirement  sets are wildly different.

  1. The vehicle shall carry a load of 500Kg
  2. The vehicle shall pass legal requirements for use on UK roads.

and

  1. The pipe insulation shall be provided in 1m lengths
  2. Insulation shall be installable with standard DIY tools such as a craft knife and tie-wraps, and not require specialist equipment.
  3. The insulation shall achieve a thermal conductivity of  0.033W/mK or lower
  4. The insulation shall pass BS EN11925-2 BL
  5. No component material shall be classed as hazardous to health under COSHH regulations 2002
  6. The wholesale price point shall be 20p / m or lower

On a ‘shall‘ count the first project seems easiest just two requirements. But seriously!  would you accept a customer level requirement like this, and price up the work and expect a happy customer?
Have a Ford Transit, job done.
Then you find the customer wants to crane the load on.  Secondly you find they need a tailgate lift to unload it. Additionally you find the product needs weather protection during transit and so on.

The second project has SMART requirements
S pecific
M easurable
A ttainable
R ealisable
T raceable
Count the shalls here, and the measure may be a little more meaningful.

Shoulds and Mays

Can you afford to ignore ‘shoulds‘ and ‘mays‘ ? Contractually you could argue they don’t matter, but in forming a meaningful customer relationship, they are still important. “The insulation should be a mute colour” could contractually be met with vivid red foam, but you’re unlikely to get repeat business.

When the customer has an idea of the implementation (OK, requirements purists, don’t have a coronary) then they are guiding you as to the options they see as most appropriate.  “The vehicle shall have a mechanism to remove the load at a customer site” could be met with a separate fork lift truck being supplied. However “The vehicle may have a powered tailgate lift, or a body mounted mini crane” suggests the customer is seeing these as preferred solutions. In costing a bid these should certainly be considered. However, if your vehicles come with built in vehicle body to floor conveyors, this could still be a viable solution for the customer. After discussion your system requirement, linked to your customer requirement may become “The vehicle shall be fitted with a 800Kg NWL body/floor conveyor ” Of course this requirement would also have extra data within or linked to it minuting the discussion with the customer where they agreed this would meet their requirement.

Solutions

example of the types of language that should be evaluated automatically
Conformance Checker Settings

There are definitely merits  for someone or something to ‘count the shalls’. If you have 1678 requirements in your project and 1698 ‘shalls‘ you obviously have some non atomic requirements.  Running a Conformance Checker can validate the semantics, across your whole requirement set. What automated tools can’t do is look at the logic and complexity of the requirement. In these cases breaking your customer requirement into a number of domain specific system requirements ensures the level of the requirements against which you bid, design and build are truly SMART. Whilst unsurprisingly we advocate the use of a tool to manage your requirements, to link the User Requirements to the derived or system requirements, we don’t claim a tool will solve the problem of poor specification;  For that you need good, competent engineers, whose job is made easier by using the correct tools.

 

 

 

Using Sessions in the Cradle UI

The Cradle UI displays information inside tabs. These tabs are grouped into panes. You can design your Cradle UI with a set of panes grouped in nested rows and columns in your preferred layout. This layout is called a session. Using sessions is the easiest way to maximise your productivity with Cradle.

You can save your current layout of panes, and the tabs inside them, in a session. You can then restore this session when you login to Cradle. When you do this, Cradle will restore the panes, organise them in your preferred layout, and where possible, automatically recreate all of the tabs inside each pane by re-running queries and so on.

The result is that when you login to Cradle and specify a session, your Cradle UI will look the same as it did when you last logged-out.

This will save you a lot of time and help you to complete your work more quickly and effectively!

Working With Sessions

Using sessions is very easy:

  • You can save a session at any time
  • You can specify a session when you login.

Saving a Session

You can save your current WorkBench layout as a session by clicking Save As in the Session group in the Window tab in the UI’s ribbon:

Using Sessions in 3SL Cradle WorkBench
Save a Session

You will be asked to enter a name for the session. When you are working in WorkBench with a session, you can update the saved session to match your current layout of panes and tabs by clicking Save,

Using Sessions

When you next login to Cradle WorkBench, you can choose your session from the drop-down list in the Login dialog:

Using Sessions in 3SL Cradle WorkBench
Specify a Session at Login

and your layout of panes and tabs in the session will be restored, re-running queries and so on as necessary.

You can also reload the session that you chose at login by selecting Reload. from the Session group in the Window tab in the UI’s ribbon.

Using Tabs in the Cradle UI

The Cradle WorkBench UI is divided into panes. Each pane is a region that can contain one or more tabs. A tab is a container with a selectable name and a rectangular area that contains the results of running a query, report, metric or graph, or a single item that is being edited. Using tabs is a way to maximise your productivity with the Cradle UI by helping you to arrange queries, items and other information, either so you can see everything at the same time, or so the information is presented in a layout that you find convenient.

Layout of a Tab

A tab is a rectangular region in the Cradle UI that has a name, a close control and a rectangular region containing the result of a query, a report, a metric, a matrix, a pivot table, or a dashboard:

Using Tabs in 3SL Cradle WorkBench
Tabs in a Pane in the Cradle UI

Tabs exist inside panes.

Each pane can contain up to 16 tabs. You can have many panes open in the UI at the same time.

When you create a new tab, it will open in the currently-selected pane. So, if you run a query, that query will open in a new tab in the current pane. If you open an item, it will open in a tab in the current pane.

Tab Names

Each tab has a name, shown above it, that is name of the query, report, metric, graph or pivot table shown in the tab, or some details of the item shown in a form.

Using Tabs

Next to a tab‘s name is a button, you can click this button to close the tab.

You can also press CTRL-W to close a tab, or choose Close Tab from the context-sensitive menu that will appear if you right-click inside a tab.

You can move a tab between panes by:

  • Put your cursor in the name of the tab to be moved
  • Press the left mouse button
  • Drag into the new pane
  • Release the mouse button

Horizontal or vertical scrollbars will appear if a tab’s contents are larger than the screen area available. You can increase the area used to display a tab by either:

  • Use the sash control to increase the size of the pane that contains the tab
  • Maximise the pane containing the tab using its pane control menu, or simply double-clicking the pane’s legend

Using Panes in the Cradle UI

The Cradle WorkBench UI is divided into panes. Each pane is a region that can contain one or more tabs. A tab is a container with a selectable name and a rectangular area that contains the results of running a query, report, metric or graph, or a single item that is being edited. Using panes is a way to maximise your productivity with the Cradle UI by helping you to arrange queries, items and other information, either so you can see everything at the same time, or so the information is presented in a layout that you find convenient.

Layout of a Pane

A pane is a rectangular region in the Cradle UI that has a legend and a set of controls:

Using Panes in 3SL Cradle WorkBench
A Pane in the Cradle UI

The pane’s contents are one or more tabs. Each tab contains the results of a query, report, matrix, metric, graph or pivot table, or an item in a form.

Each pane can contain up to 16 tabs. You can have many panes open in the UI at the same time.

When you create a new tab, it will open in the currently-selected pane. So, if you run a query, that query will open in a new tab in the current pane. If you open an item, it will open in a tab in the current pane.

Pane Legend

The pane’s legend appears when you select a tab inside it. The legend will be the name of the tab that you have selected.

You can double-click the legend to maximise the pane. This will maximise the pane to fill the WorkBench UI, overlaying all other panes. When a pane is maximised, double-click the legend again to minimise the pane. This will restore the pane to its original size.

Pane Controls

Each pane has a set of controls. These controls are the most important part of using panes to control the Cradle UI:

Using Panes in 3SL Cradle WorkBench
Pane Controls and How to Access Them

You can use these controls to:

  • Maximise the current pane, an alternative to double-clicking its legend
  • Close the current tab, if any
  • Empty the pane by closing all of its tabs
  • Close the pane, and all tabs inside it
  • Close all panes

More usefully, you can also:

  • Split the pane horizontally into two panes
  • Split the pane vertically into two panes

Using Panes

You can split panes any number of times. This divides the UI into an arrangement so you can see several queries at the same time, or so you can see many items at the same time.

As an example:

Using Panes in 3SL Cradle WorkBench
Creating New Panes by Splitting

A large screen will be helpful!

There are sash controls between panes. Move your cursor between two panes and it will change to a pair of arrows. If you press, drag and release the left mouse button, you can adjust the relative sizes of adjacent panes. This will proportionately adjust the sizes of all tabs inside these panes. For example:

Using Panes in 3SL Cradle WorkBench
Adjust Pane Sizes with Sash Controls

Lifecycle Workflows

Item Progression

Lifecycle workflows allow users to progress items through a defined lifecycle.  This process can set the item’s owner or an attribute in the item to a specific value. A workflow is a defined set of steps through which an item can progress. The stages could describe an items design, production or any other flow that matches your process.

Definition

The lifecycle of an item is described by the combination of stage steps and review steps. The review step specifies the review’s composition, its rules for making a decision, and the actions to be performed if the review approves item(s) or rejects item(s). The stage step will progress the item through the set of stages that represent its lifecycle. You can set the item’s stage to any of the values in the workflow’s stage category. The category must:

  • Be a single value picklist
  • Have a picklist of values defined
  • Have a default value defined
  • Be mandatory
    example implementation steps found in item lifecycle workflows
    Advancement

    Workflows are part of the project schema and managed through Project Setup

Operation

Whist review steps are triggered as an item reaches different stages in the review process (submitted, reviewed, registered and so on) stage steps are triggered by a User issuing an Advance command. This is available on the toolbar or the Configuration Management option on the context menu.

Display

Advance operations for items can be displayed in different forms making available different attributes that are related to the particular phases of their lifecycle.

Lifecycle workflows were introduced in Cradle 7.4, if you’ve not yet upgraded, download now!

July 2018 Newsletter

Help I’m Melting

melting server
Too Hot!

When it rains we complain, and now that it’s reached more than 28°C here at 3SL ‘towers’, in Cumbria, we’re all searching for ice creams and sharing a few minutes with our servers in their air conditioned room!  However, a week ago, our servers nearly suffered as much as we are now when their air conditioning stopped. Switching to the backup plan of ‘essential only’ machines, we were able to continue working, but it did highlight the importance of planning and designing a robust system. Whilst we may all be able to consider the design requirements/constraints/limitations within our own field, the scope of the environment also needs to be considered. In modelling terms, these are the environment elements:

  • Actors in SysML and UML use case diagrams (UCDs, uc’s)
  • Environment in data flow diagrams (DFDs)
  • Environment in function flow block diagrams (eFFBDs)
  • Environment in process flow diagrams (PFDs)
  • Environment in architecture modelling PADs and AIDs
  • Environment in ADARTS’ software architecture diagrams (SADs)

These symbols represent those parts of the environment with which our system will interact, and provide the means to describe the external interactions that our system has outside it’s own scope In this case the range of the expected external influences exceeded expectations.  It’s worth bearing in mind when designing; whilst you may implement fail-safes, redundancy and extra capacity based internal parameters, it’s sometimes the influences outside our control that have the biggest impact.

G-Cloud 10

screen shot of 3SL g cloud services
G Cloud

We are pleased to announce that Cradle is available as SaaS through G-Cloud 10. Aimed at projects using both agile and more traditional phase-based processes, Cradle SaaS can be found on the UK government Digital Market Place Cloud Software applications under the Information and communications technology (ICT) services area.

Services

We are offering a range of packaged SaaS services that include Cradle licences, a pre-defined schema and intensive support from 3SL for both unclassified (IL0) and OFFICIAL (certified IL3) deployments full details of which can be found in our article Cradle Available as Packaged SaaS through G-Cloud 10 with prices start from £20 per user per month.

Cradle Latest Version

setup of a collapsible form panel
Collapsible Panel

If you’ve not tried the following features yet, here are some highlights from the blog.

Forms – Collapsible Panels  – If you have complex amounts of information to deal with on one form, you can roll-up and collapse panels or areas on you Cradle form.

Alerts – Email Templates – If you want additional information, or style customisation, you can now send SMTP client based emails.

sample email alert in Cradle
Email Alert

For example if when an item is ready for review, if you want the email to say “Please prepare for review of the following item. Which in two weeks time will be the topic of a full Fagan inspection according to company procedure” you can. Alternatively you could add “Hey folks  I hope you’ll all welcome this new user to our project” to the new user alert!

Items – Attribute Sets – A “8mm, Stainless, BSW (British Standard Whitworth)” is different from a “8mm, Stainless, UTS (Unified Thread Standard)” bolt. If you are specifying these components as part of your design solution, you may want to ensure they are unique, there’s no point specifying the same component twice. However, you may want to query on all your 8mm fixings, so having each element as a separate category is really useful. Attribute Sets are a useful tool to ensure that groups of component attributes are unique.

Charity

User 3SL30 for a £30 discount see https://www.threesl.com/blog/birthday-voucher-30/ ‎
Discount code

We have a special “Secret (not!) Birthday Discount”  offer of £30 off single user prices and licences.

However, those buying Cradle Enterprise licences can choose to donate £30 per licence bought to a charity of their choice.   Ts&Cs apply

England!

England's flag of St. George

People from several nationalities work in 3SL. Thankfully, none of our respective nations have been playing against each other in the World Cup.

After just securing victory over Columbia on penalties as we write this newsletter, and noting that for England to win a penalty ‘shoot-out’ is itself a rare event (thanks Germany!), we would like to join the thousands of others to wish everyone ‘good luck’ if your nation is still in the competition.

On behalf of the majority of us in 3SL UK: “England!”.

Social Media

Twitter

Siemens tweet
Megaproject Tweet

We love keeping an eye on what’s new with our customers and what’s changing in the

community. You may all be aware of football at the moment, but can you envisage a power plant the size of 300 football pitches? Siemens can  #LargeScaleEngineering

And on a lighter note we mused at the practicalities of  #TakeYourDogToWorkDay.

Cradle Available as Packaged SaaS through G-Cloud 11

G-Cloud 11

The UK government Digital Market Place Cloud Software applications offer a wide range of software aimed at fulfilment of central and regional government contracts,  government agencies’ work and local authority use. This ranges from accounting to transport, healthcare to sales. We are pleased to announce that Cradle is available as SaaS through G-Cloud 11 for agile and phase-based projects under the Information and communications technology (ICT) services.

Services

We are offering a range of packaged SaaS services that include Cradle licences, a pre-defined schema and intensive support from 3SL for both unclassified (IL0) and OFFICIAL (certified IL3) deployments:

  • 3SL Cradle Business Analysis (unclassified) and Official IL3 (classified)
  • 3SL Cradle Agile Collaboration (unclassified) and Official IL3 (classified)
  • 3SL Cradle Systems Engineering (unclassified) and Official IL3 (classified)
  • 3SL Cradle Requirements Management (unclassified) and Official IL3 (classified)
  • 3SL Cradle Application Lifecycle Management (unclassified) and Official IL3  (classified)
  • 3SL Cradle Business Process Modelling (unclassified) and Official IL3  (classified)
  • 3SL Cradle Agile Software Development (unclassified) and Official IL3  (classified)
  • 3SL Cradle Agile Software Management (unclassified) and Official IL3 (classified)
  • 3SL Cradle Application Lifecycle Development (unclassified) and Official IL3 (classified)

Prices start from as little as  £20 per user per month. Including Email, webchat and phone support and full documentation included. Optional onsite support and training available.  This can be supplied on Windows® or Linux®.

Customisation

A wide range of user customisation is available including:

  • Items’ (attributes, links and  properties)
  • Display of chosen data and layout through queries, views, forms,
  • Processing data to give graphs, reports, documents, metrics, KPIs/dashboards, process
  • CM (Configuration Management) system  workflows
  • UI (User Interface)  layout and content
  • Authentication and access control

Details

For details, see here:

screen shot of 3SL g cloud services
G Cloud

For a short summary of Cradle, see our video here: We’re sure you’ll find our services useful to completing successful projects. We look forward to working with you!

Forms – Collapsible Panels

WorkBench Forms

A form is a layout template that is used to display information about items within Cradle. There are multiple attributes of an item that may be displayed, from the name, to categories, to frames.  Forms can soon get complicated, this is where collapsible panels can help.

Collapsible Panels

A feature new in Cradle 7.4

Collapsible panels are placed as a row, or a column on a form definition. These can be barked to display as a normal row/column when opened or to “Show collapsed by default”

The bar at the top of the panel toggles its open state.

Q&A

Some of the questions often asked regarding forms.

Q: What if a user does not have a skill required to see an attribute?

A: The form will not display this particular aspect of the item. There is no need to create a separate form.

Q: I’ve just added some new frames and categories. Do I have to design a new form?

A: No, the Automatic scope forms will generate a basic form with the new elements included.

Q: Do I have to start from scratch designing a form?

A: No, you can choose any existing form (including the automatically generated ones) suitable  for that item type, make your changes and then ‘Save As‘ to store the newly altered definition.

Q : Do you have to show everything that every user needs on a form?

A: No, forms can have a scope of System, Automatic, Project User type, Team User, or Personal. This allows different users to show different aspects of an item most relevant to them.

Q: Can I show related items?

A: Absolutely, linked items can be shown within a form.

Q: Can I convert existing forms?

A: Yes, just select an existing Row or Column and change the Syle from Basic to Panel. then Save or Save As

Email Alerts!

Alerts In Cradle

When working in a multi engineer environment, it is important to communicate. However, when the team is spatially/geographically distributed it’s not easy to shout across the office that you’ve just updated a particular requirement. You may send an email to your colleagues, but it is easy to forget. It’s much easier if the tool you’re using does it for you. Cradle raises alerts for system and item level activities. These can be toggled active, the recipient chosen and the importance set in the Project Schema.

Alert settings in the Cradle Project Schema setup
Cradle Alert Settings

Recipients can be a Cradle individual, a user list, an automatic selection or a category distribution. When the user next signs in they will see their alerts.

showing alerts in the UI
Cradle Alerts

Alerts by Email

Whilst it is really handy to see the alerts that have been raised when working in the tool, it’s not much use if you’re not logged on. Difficult though it may be to believe, not every user is constantly logged onto Cradle! However, most users are able to accept emails. A number of enhancements were made to Cradle’s email alerts in version 7.4. Previously email could only be sent if the user had a MAPI client on their Windows® machine or SMTP on their Linux client. Now Cradle ships with an SMTP program that will connect directly to your company email server. We now provide templates for the emails that you can customise for corporate style or by including/filtering information.

Setup

In the Cradle setup file cradle.ini or cradle.rc find the MAIL_parameters and fill in your company’s settings.
MAIL_HOST = mail.mycompany.co.uk
MAIL_PORT = 587
MAIL_LINE_LEN = 500
MAIL_DEF_SENDER =
MAIL_CMD = "$C_MAILSEND_EXEFILE" -smtp $MAIL_HOST -port $MAIL_PORT -to $RECIPIENT -from $SENDER -name "$SENDNAME" -sub "$SUBJECT" -mime-type "$MIMETYPE" -cs "$CHARACTERSET" -msg-body "$PATH" -q

showing email alert templates
Alert Templates

The email templates exist in %CRADLEHOME%/admin/email_templates where the three main alert types have templates that can be altered. The settings are documented within the template. Specific templates can be added for particular alerts if you want to add specific content, say instructing people how to conduct a review. Cradle URLs also supported in item alerts, allowing the recipient to click and open Cradle on the subject item.

sample email alert in Cradle
Email Alert