Dynamic System Development Method (DSDM)

June 1, 2011

Background
DSDM is a set of standards and framework for controls for building and maintaining systems, which meet tight time constraints and provide a recipe for repeatable RAD success.

It was initially defined by a consortium of UK RAD users and suppliers. The consortium consisted of many large organizations that had used the concept of RAD and now wanted to develop a generic framework that could be used.

The initial framework was approved and version one was published in Feb 95. Version 1 of DSDM consisted of

1) 13 Principles
2) Project Management
3) Team Structures
4) Prototyping

Feedback from the early users of DSDM led to the release of subsequent versions. In December 1995 version 2 was published. In version 2 the 13 principles were reduced to 9 principles.
In October 1997 version 3 was published.
These developments reflected the increasing use of DSDM in business process change projects.
Since then DSDM has been used successfully by organizations in public and private sectors.
Applications built using DSDM approach address the current and imminent needs for the business rather than the traditional approach of attacking all the perceived possibilities.
The resulting computer system is, therefore, expected to be a better fit in the true business needs, easier to test and more likely to be accepted to the users working practices.

DSDM provides a holistic approach to software development in a RAD project environment.
Many software development methods focus purely on one activity even as analysis and design or project management.
DSDM provides a development life cycle supported by all the necessary controls.

Overview
There are 4 philosophies behind the development of DSDM namely:

a) Mode of Development:

Development should be a team effort consisting of the users and IT professionals with the following roles
Users: Provide the good understanding of the business requirements
IT professionals: Provide the technical know-how

b) Quality Demands

High development quality is demanded in order for it to suit the users needs as well as technical competence and robustness.

c) Deadline for Delivery

Development can be delivered in incremental stages. It is better to deliver part of the development in time rather than everything way past the acceptable deadline.

In deed, a fundamental assumption of DSDM is that noting is built perfectly for the first time, but that a usable and useful 80% of the proposed system can be produced in 20% of the time it would take to produce the total system.

d) Resources Requirement:

It has to be accepted that resources will be spent if development of IS of value to the organization is to be realized in time.

It should be noted that DSDM is viewed as a framework of controls for the development of IT systems to tight time scales and a guidance of how to apply the controls and concepts of RAD rather than the view of method/methodology.

DSDM is independent of any particular set of tools and techniques and could be used by object oriented and structured analysis and design approaches in environment ranging from the individual PC to global distributed system.
DSDM defines set of process and products at a high level to give flexibility to the approach.
Developers may choose any technique, but conform to the DSDM guidelines and controls.
In a RAD environment DSDM addresses the following. These factors are:

- Project management - Testing
- Estimation - Quality Assurance
- Time boxing - Team structures
- Prototyping - Tools
- Configuration Management - Risk management

SUMMARY:
DSDM: Note:
Tools and techniques: The tools and techniques of DSDM should enable:

- Rapid development
- Users to be involved
- Support of interactive development
- The building of acceptable user interface
- Support of …… and provide good documentations.

People and Teams:

- Involve users all through
- Empower teams
- Establish key roles

Management:
- Plan for interactive delivery ie. Deliver things in bits
- Plant for continuous testing
- Plan for constant review of prototypes and progress.

Time-boxing:
- is a technique to make RAD more measurable and controllable.

Delegation

August 9, 2008

Delegation is an advanced leadership skill. Its one way leaders:

  • free themselves of time consuming chores.
  • provide followers with development opportunities
  • increase the number of tasks accomplished by the work group, team, or committee.

However it is often overlooked and underused in management.

Defined, delegation implies that the leader empowers another person to take responsibility for completing certain tasks or engaging in certain activities. Delegation gives the responsibility for decisions to those individuals most likely to be affected by or to implement the decisions.

Delegation is more concerned with autonomy responsibility and follower development than with participation.

MISUSE OF DELEGATION.

  • Failure to delegate authority needed to accomplish delegated tasks.
  • Monitoring too closely those delegated to.
  • Delegating only those tasks the leaders do not want to do.

IMPORTANCE OF DELEGATION

Frees time for other activities. Leadership entails achieving goals through others. Leaders have to think in terms of the whole group or organizations, capability not just their own. This may cause conflict in some leaders who may have been successful on their own. However leaders have some responsibilities they must delegate. Due to delegation, the leader is able to have some time to attend to those other activities he is more suited or situated to accomplish. Delegation allows the leader to invest his time wisely.

Delegation develops followers. Developing subordinates is one of the most important responsibilities of any leader. Delegating significant tasks to subordinate is one best way to support their growth. This provides the subordinate with opportunities for initiative, problem solving, innovation, administration and decision making. By providing practical experience in a controlled fashion, delegation allows subordinate the best training experience-learning by doing.

Delegation strengthens the organization. Strengthening/developing subordinates strengthens the organization. This depicts that that subordinates are trusted and their development is important. This motivates the subordinates to want to work in the organization. Skillful delegation tends to increase the significance and satisfaction levels of most jobs making subordinate’s jobs better. In turn an organization systematically develops its personnel, its overall experience level, capability and vitality also increases. Delegation therefore stimulates innovation and generates fresh ideas and new approaches throughout the whole organization.

 

WHY AVOID DELEGATION?

Delegation takes too much time. Delegation saves time for the leaders in the long run, but it costs time for the leader in the short run. It takes time to train the subordinates to perform any new tasks. However when the task is a recurring or repetitive one, the long-term savings will make the additional effort in training worth it, for both the leader and the followers.

Delegation is risky. Delegation is risky i.e. it reduces direct personal control over the work

  • The job will not be done as well
  • The task is a desirable one
  • Others are already too busy.

PRINCIPLES OF EFFECTIVE DELEGATION.

  • Decide what to delegate.
  • Decide who to delegate
  • Make the assignment clear and specific.
  • Assign an objective, not a procedure.
  • Allow autonomy, but monitor performance
  • Give credit, not blame.

POINTS TO COVER WHEN DELEGATING A TASK.

  • How does the task relate to organizational goals

  • When does the subordinate’s responsibility for the task begin?

  • How has the task been accomplished in the past.

  • What problems were encountered with the task in the past?

  • What sources of help are available?

  • What unusual situations might arise in the future?

  • What are the limits of the subordinates authority?

  • How will the leaders monitor the task(e.g. provide feedback)

  • Always convey high confidence and expectations.

User Interface design: Summary

June 24, 2008

1) The interface should be easy to learn, transparent and obvious. It should not require the user to make undue effort to learn its operation.

2) Ideally there should be consistency between various parts of the interface and various interfaces to various applications.

3) The various methods used are not always interchangeable. It depends on the task being performed and the user.

4) Direct manipulation systems may be easy to learn, but have some drawbacks.

5) Command language systems can lack transparency, but can be very efficient and powerful once learned.

Attention

It is important to remember where systems do not take into consideration the users capabilities. Stress is likely to be the result. For the purposes of designing computer systems, it is important to take into consideration the following:

1) Reaction time

2) Movement time

3) Attention.

The following forms of attention need to be considered

a) Selected attention

b) Focused attention

c) Divided attention

d) Sustained attention (vigilance, monitoring)


Sustained Attention:

Design consideration and guidelines:

1) Work& rest schedules should be provided and different tasks done in order to reduce the amount of time spent on vigilance.

2) The signal should be as conspicuous as possible.

3) Uncertainty about where the signal is likely to occur should be reduced.

4) Artificial signals and feedback should be provided.

5) There should be adequate training and the skills acquired should be maintained.

6) Motivation is important.

7) Environmental distraction and stress should be minimized.

Selected Attention

This requires monitoring several channels in order to perform the task. As the number of channels increase, the individual performance decreases.

Guidelines:

1) The number of channels on display should be kept to a minimum.

2) The relative importance of the various channels should be made clear.

3) Environment should be as stress free as possible.

4) Information should be available as to where the next likely source of information will be.

5) Users should be trained to scan effectively.

6) Multiple channels should be as close together as possible.

Focused Attention

This is the ability to attend to one event from what amounts to a mass of competing stimuli in the environment. The problem in designing for focused attention is to maintain the single channel of information without distraction.

Guidelines:

1) Competing channels should be as far apart as possible.

2) Competing channels should be kept to a minimum.

3) The channel of interest should be bigger, brighter and more demanding of attention.

Divided Attention

1) Potential services of information should be limited as far as possible.

2) The user should be encouraged to priorities

3) The task should be as easy as possible.

4) The task should be dissimilar in terms of input, output and modality so as to reduce the likelihood of confusion between them.

Principles of good interface design

June 24, 2008

  1. Natural

A good interface appears to be natural; it should be seen to be the appropriate way of performing a task. It should reflect the users’ task, syntax and semantics and might use the jargon of the user but not IT jargon.

  1. Consistency

It should reinforce the user’s expectations from any previous interaction with that system or indeed with simulations

  1. Relevance

The interface should not ask for redundant material. On- screen information should be short and relevant while still making sense. Key press should be reduced to a minimum.

  1. Supportive

The system should provide adequate information to allow the user to operate and perform the task. Thus there should have:

a. Adequate help facilities

b. Adequate system feedback which should provide information to help the user continue with the task

  1. Flexibility

The interface should accommodate differences in the user requirements, preferences and level of performance. Users should be able to create their own personalized settings, however, it should not be at the expense of consistency or the organizations’ needs.

HCI: Matching devices with work

June 24, 2008

 

Depending on the task, any arbitrary chosen property of any input device can contribute an advantage in one situation, but a disadvantage in another. While selecting an input device it will be necessary then to:

  1. Take into account the particular transportations that would have to be earned out to perform required task.

  2. Try to set up natural mappings between the ways in which the device can be manipulated, the feedback given by the program and the meaning of the result in terms of the users’ mental model.

Matching devices with users

  • input for the disabled

Computers can enable disabled people to communicate with others or undertake employment where this would otherwise be difficult or impossible e.g. eye and head movement input.

These are beneficial if users hands are disabled or occupied. If the computer can determine where the user is looking at any given time it can present various options.

There are two main ways of recording eye mute and converting it into input data:

a) Electrophysiological

These records the movement of the muscles that control the eye. Electrodes have to be secured to the skin to detect muscle movement and is therefore subject to general body muovement.

(ii) Photoelectric reflection

These records movement in reflected light from the eye. A user is required to track an object on screen by moving his eyes to maintain a stable image on the central part of the retina where vision is most concentrated.

Matching Devices with the Environment of use:

A user may be in a situation where standard input devices may not be available or cannot be used. In such situations then you should consider technologies that are appropriate to the environment e.g digitizing pen for field work.

Structured techniques supported by CASE tools

October 30, 2007

Structured techniques supported by CASE tools.

Structured techniques are ways in which large and complex systems can be developed to be effective, usable, reliable and maintainable.

Traditionally systems which were developed concentrated on aspects of effectiveness, usability and reliability, thus the systems were hard to maintain. Thus structured techniques were developed to help make /develop systems which are easy to maintain.

A structured technique lays its foundation on the fact that:

  • A well designed system will need few corrections.

  • Its approach will help develop more reliable and maintainable systems.

  • The system characteristics should go hand in hand with the making systems easier to modify.

Structured techniques have the following principles.

In order to better manage the development process, large and complex systems should be broken down into phases and those phases, further broken down to smaller, more handled tasks.

We should use graphics to illustrate ideas whenever possible since graphics can often help or make it easier to understand. The commonly used graphics are:

  • Data Flow Diagram (DFD)

  • Entity Model (ERD)

  • Entity life Cycle (ELH)

We should always keep a written record of the project and tasks done. Documentation should be an integral part of SDLC rather than a follow up. Documentation helps outsiders, newcomers and employee/user of the organization to understand the system. It also helps in training the users.

We should use diagrams of the finished system plan to uncover errors before they are incorporated into the physical end product. In that a system still on paper is easier and cheaper to change than a final finished product, thus we should begin the validation process right from the feasibility study.

Case tools helps in making the structured techniques easy to implement. They help to automate the process of diagramming the function of the system.

Text editors also help in writing the documentation of the system.

Tools like test generators, comparators are used to make the testing process easy to handle.

Prototyping with 4GL(Generation Language)

Prototyping is the process of developing a working abbreviated version of the finished end product so as to enable the user to see what the finished product will look like.

4GLs are languages that help develop a system easily and quickly. A user only tells it what is to be done, and it writes and generates the code automatically.

Thus prototyping with 4GLs is the process of developing a prototype easily, quickly and cheaply. 4GLs can easily incorporate new user requirements and provide quick feedback when executed.

They enhance user involvement because user involvement is more or less continuous throughout the development process.

Addressing the following problems with a combination of structured techniques and prototyping

Problems of operational understanding

These problems may stem from the inability of users and management to comprehend the workings of the system. To solve this problem you would use either methods or ways.

You would need to break down the system operational process to small functional tasks which will be easier to explain and understand. In situations where the explanation is difficult you would use diagrams to explain your point e.g. using DFD to diagram a particular operational task.

You would also ensure in the documentation of the system you will not use jargons but simple English statements supported by diagrams.

Problems in fulfilling user requirements

This problem would either stem from unclear answers from users. To solve this problem I would use prototyping so as to gather user requirement as much as I can. I would adopt either a throwaway or evolutionary prototyping or I would work hand in hand with the users explain any of their questions and documenting their comments.

Structural techniques would also come in handy especially when gathering the requirements. I would diagram the functions of the new system and I would only adopt them in the documentation

REFERENCES

Modern Structured Analysis (Yourdon Press Computing Series)

Structured Systems Analysis: Tools and Techniques. (Prentice-Hall Software Series)

Practical Guide to Structured Systems Design (2nd Edition)

Managing the Structured Techniques (Yourdon Press Computing Series)

Introduction to Systems Analysis & Design: A Structured Approach

Documenting the Software Development Process: A Handbook of Structured Techniques (Mcgraw Hill Systems Design & Implementation Series)

Practical Business Systems Development Using Ssadm: A Complete Tutorial Guide

Requirements analysis

October 30, 2007

Requirements Analysis (Elicitation)

After initial feasibility study, the first major stage of requirements engineering process is requirements analysis or elicitation. The technical software development staff works with users to find out

  • what functions the system should provide

  • required performance of the system

  • hardware constraints etc

This stage is depended on for user acceptance i.e. how well the system meets the users needs and supports the work to be automated.

Requirements Analysis is a difficult process because

  1. Users often don’t really know what they want from the computer system.

  2. Different users have different requirements and they express this in different ways.

  3. Since analysis takes place in an organizational context, political factors in organizations may influence requirements of the system.

  4. The economic and business environment in which analysis takes place is dynamic e.g. new requirements may emerge from users who were not originally consulted.

The process of gaining these requirements is iterative with continual feedback from each activity to other activities. The process activities are:

  1. Domain understanding: Analysts must develop their understanding of the application domain e.g. If a system is for a supermarket, the Analyst finds out all he/she can about supermarkets.

  2. Requirement collection: this is the process of interacting with users in the system to discover their requirements

  3. Classification: This activity takes the unstructured collection of requirements and organizes them into coherent clusters.

  4. Conflict Resolution: This involves finding and resolving conflicting requirements.

  5. Privatization: This stage involves interaction with stakeholders to discover the most important requirements.

  6. Requirements validation: The identified requirements are checked to discover if they are complete, consistent and in accordance with what you really want from the system.

Requirements Definition:

A system requirements definition is an abstract description of functions/services which the system should provide and the constraints under which the system must operate. It should only specify the external behaviour of the system it should not be concerned with system design characteristics.

The requirements should not be defined using an implementation model i.e. the definition should be written in such a way it’s understandable to users.

The requirements may either be functional or non functional

The functional requirements should be

  1. Consistent: The requirements should not have contradictory definitions.

  2. Complete: i.e. all functions required by the user should be defined.

Requirements specification:

This adds further information to the requirement definition. The requirements specification is usually presented with the system models developed during requirement Analysis.

The specification and the model should describe the system to be designed and implemented.

It should include all the necessary information about what the system must do and all the constraints on its operations.

Since the use of natural language on this document might bring problems e.g. misunderstanding because of ambiguity of natural language words, one can use alternatives such as

Structured natural language

This is a form of structured definition. It depends on using standard forms or templates to express the requirements specification

Design Description Language

This approach uses programming language but with more abstract features by defining an operational model of the system.

Requirements Specification Languages

These are special purpose languages that can be used to express software requirements such as PSL/PSA, RSL.

Graphical notations

This notations can be used for analysis and requirements specification eg SADT.

Mathematical specification:

These are mathematical formulas that are formal mathematical concepts such as finite state machines.

A requirement specification should have traceability i.e. the case of finding related requirement to achieve traceability one can:

 

  1. have all requirements assigned unique number

  2. Requirements should explicitly identify related requirements by referring to their number.

  3. Each requirement document should contain a cross reference matrix showing related requirements.

Recommended Text

Communication Mix

October 24, 2007

Communication Mix

The communication mix blends together several different elements to create the overall strategy for marketing communications. The elements of this mix may include advertising, personal selling, sales promotion and publicity. They can use categories to personal selling and non-personal selling.

If the product is new, the effort will probably rely heavily on advertising and sales promotion. If the product is more established but the objective is to stabilize sales during weak season, the mix will most likely contain sales promotion.

If the product is technical and it needs a lot of explanation the mix will be personal selling.

The strategies for communication mix are:

  1. Advertising

Advertising is paid non-personal communication through various media by organizations that are in some way identified in the advertising message and who hope to inform and/or persuade members of a particular audience.

When deciding how advertising fits into the communication mix, marketers consider such issues as budgets and which media to use.

  1. Personal selling

Personal selling can take place face to face, by phone, by video, by fax or comp. personal selling provide immediate feedback to the seller, which allows the seller to adjust communication to meet the needs of the situation, personal selling costs more.

  1. Sales Promotion

Sales promotion provides the quickest rise on sales. Sales promotion is a media and non-media marketing pressure applied for a predetermined limited period at the level of consumer, retailer or wholesaler, in-order to stimulate trial, increase consumer demand or improve product availability.

Sales promotion can’t be conducted continuously coz they become ineffective eventually.

  1. Publicity

This is a non-paid for communication of information about the company or product, generally in some media form. Publicity can come in news, stories, reviews, broadcasts e.t.c.

The downside of publicity is that the marketer has little or no control over what is said and also there is no way to target an audience.

The public may favor the product since they know that the marketer is not controlling the story thus its likely to be true.

Recommended Text

Consumer behaviour

October 24, 2007

Consumer Behavior

Get Paid To Take Free Online Surveys.

A consumer is someone who buys goods and services for his or her own household or use. Consumer behavior is the way in which external and internal forces shape peoples exchange activities.

A consumer’s buying behaviour is influenced by cultural, social, personal and psychological factors.

  1. Cultural factors, sub-cultural and social factors.

Cultural factors exert the broadest and deepest influence. Culture, subculture and social class are important in buying behaviour. Culture involves having a set of values, perceptions, preferences and behaviour acquired through ones family and other institutions like tribe, religion e.t.c.

Each culture consists of smaller subcultures that provide more specific identification and socialization for their members. Subculture includes nationalities, religions, social groups and geographic regions.

A particular component in culture is its core values, the ones that are pervasive and enduring. Example Muslims don’t eat pork thus a marketer if he has researched well will find the marketer for pork in a Muslim area is very low and hence he will find another market.

Sub-cultural factors

A subculture is a segment within culture that shares value and patterns of behaviour that distinguish it from those of the overall culture. When subcultures grow large and affluent, then a marketer might find it easier to meet the needs of the subculture than the overall culture.

Social factors

This consists of all the groups that have a direct (face to face) or indirect influence on a person’s attitudes or behaviour. These groups are called membership groups. Some membership groups are primary groups such as family, friends, neighbors, co-workers with whom the person interacts.

Secondary groups such as religion, professional and trade union tend to be more formal and require less continuous interaction.

These groups tend to influence a buyer to buy specific products or brands choices. People are influenced by groups which they hope to join these are called aspiration groups or groups whose value they reject dissociate groups.

Marketers of products where these groups (social groups) are strong must determine how to reach and influence opinion leaders of these groups.

E.g. the hottest trends in teenage music, fashion start with teenagers in middleclass areas.


Free paid surveys.

  1. Family influences.

Family influences ones purchase decision and marketers basically look at a family as a basic unit of measuring consumption. Marketers should know who makes purchasing decisions in the family and which family members influence these purchases.

If the purchaser is a wife, then the marketer will make or create a different marketing mix than if the typical purchaser is the husband.

A marketer should be able to segment or identify the different segments of the family cycle so that he may be able to produce the right marketing mix that will influence the buyer of the product.

The life cycle helps to identify the needs and the ways in which these roles change as the family matures e.g. a family with young children will spend more in buying food for their kids, clothing e.t.c.

  1. Personal factors

A buyer’s decision may also be influenced by personal characteristics. These include a buyer’s age, occupation, economic circumstances, and lifestyle e.t.c.

Occupation may influence consumption patterns in that a blue collar worker may spend more on work clothes, lunch boxes, feeding the family while a chief executive will spend more on expensive vacations, country club membership e.t.c.

E.g. computer software companies try to develop different s/w for different occupation e.g. one for brand managers, CAD for architects, engineers’ physicians’ e.t.c.

Lifestyle is a person’s pattern of living. This is expressed in activities, interests and opinions. This may influence the buyer to buy particular products. E.g. having a ipods a while back was considered a status symbol so many people with a high lifestyle who wanted to show off bought ipods.

  1. Psychological factors.

A person’s buying choice is influenced by aspects of psychological factors i.e. motivation, perception, learning and beliefs/attitudes.

 

Motivation: A motive is a need that is sufficiently pressing to drive a person to act. Some needs are biogenic i.e. they arise from psychological states of tension e.g. hunger, trust, discomfort, others are psychogenic they cause from psychological states of tension such as the need for recognition, esteem, belonging.

The theories of motivation help a marketer to understand how various products fit into the plans, goals and lives of consumers.

 

Perception: Perception is the process by which a person selects, organizes and interprets information inputs to create a meaningful picture of the world. A person’s perception towards a product may lead him to purchase it or reject it. Thus a marketer needs to improve the product’s physical appearance and means or mode of advertisement to improve the product’s perceptions.

 

Learning involves changing an individual’s behaviour arising from experience. Learning theory teaches marketer that they can build up a demand for a product by associating it with strong drives, using motivation cues and positive reinforcement.

 

Beliefs and attitude: A belief is a descriptive thought that a person holds about something. People’s beliefs influence their buying decisions. An attitude is a person’s enduring favorable or unfavorable evaluations, emotional feelings and action tendencies towards some object or idea.