Identifying system purpose and features
A purpose is an overall desired result, the aim of one's
actions. Features are specific capabilities for the system
under consideration.
This section presents "purpose and features" strategies.
Str#2. "System Purpose" Strategy
- Develop an overall purpose statement in 25 words or less.
Why this system? Why now?
- Keep the overall goal, the critical success factor,
always before you.
- "To support, to help, to facilitate, . . ."
Str#3. "Field Trips, Pictures, and Examples" Strategy
- Work with domain experts, ones well-versed in the
business.
- Ask for a guided tour; ask for a picture; ask for lots of
examples.
Str#3a. "Multiple Learning Sources" Strategy
- Read about it; try out software for it; listen to domain
experts!
Str#3b. "Build A Glossary" Strategy
- Are you finding that people terms differently? Perhaps
using different words to convey the same meaning? Or giving
different meanings to the same word? Not a surprise!
- Recommendation: build a glossary using a three-column
spreadsheet (term, dictionary definition, project
definition).
Str#4. "Identify Major Sources of Stress" Strategy
- Ask people about the most pressing problems that they
face each day. "What stresses you out the most? What
frightens you the most? What's the worst thing that could
happen to you while your boss is watching?"
- Look for ways to eliminate or reduce the impact of those
problems.
Str#5. "Develop a Features List" Strategy
- Build a list of features.
- Think through each feature: the feature, who it's for,
and why it's important.
- Use qualifiers to narrow the scope of the purpose and
features statements.
- Prioritize your features list.
- Use the features list for planning and building frequent,
tangible, working results.
Str#6. "Four Kinds of Features" Strategy
Be certain to include features that cover the following:
- Log important information.
- Conduct business.
- Analyze business results.
- Interact with other systems.
Str#6a. "Add Features, Inspired by Patterns" Strategy
- Add features inspired by the stereotypical
responsibilities of a participant (in Patt#3,
Participant-Transaction), transaction (in Patt#6, Transaction
- Transaction Line Item), and place (in Patt#4,
Place-Transaction).
- Examples: assess the performance of a participant (how
many, how much), calculate the total of a transaction, assess
the performance of a place (how many, how much).
Str#6b. "Organize and Prioritize Features" Strategy
- Organize the features into "feature categories" (also
known as "use cases").
-
- Example: maintaining employee info; assigning
employees; assessing employee performance
- Prioritize the features.
-
- Identify the prioritization criteria. For example:
normal sequence of business usage; greatest risk;
customer interest; management interest; ease of
implementation.
Str#7. "Calculation Results and Decision Points"
Strategy
- Add features that deliver calculation results.
- Add features that support decision points.
Str#8. "Best and Worst Features" Strategy
Ask users:
- What are the best features of the current system? Of
competitive systems?
- What are the worst problems of the current system? Of
competitive systems?
- What are the unneeded features of the current system? Of
competitive systems?
Str#9. "Top 10" Strategy
- Build a list of features.
- When you face an abundance of features (or classes,
attributes, services), go after the top 10.
- Why: avoid being overwhelmed by a sea of low-level
details.
Str#10. "Now and Later" Strategy
- Consider current capabilities--and anticipated future
capabilities.
- Ask, "How is it done now? How will it be done later, with
the new system?"
- Look at things that people do to objects now, and
consider features you can add (your automated objects might
be able to do those actions to themselves).
Str#11. "Reengineer on the Boundaries" Strategy
- Look at each organization or automated system
boundary.
- Look for duplicate efforts on each side of such a
boundary.
- Model the capability one time--and encourage some
reengineering improvements for the organization.
Str#12. The "Smarter Devices" Strategy
- Look for opportunities to use smarter devices,
simplifying your object model and reducing software
development schedule and costs.
- When building an object model in a field with rapidly
changing data acquisition and control technology, be sure to
take a systems perspective, spanning both hardware and
software.
Strategies for building object
models