Choosing Technologies

 

Choosing Technologies:

An outcome of project analysis will be the selection of the most appropriate methodologies and technologies. Methodologies include approaches like Unified software development process (USDP), structured systems Analysis and Design method (SSADM) and Human-Centered Design, while technologies might include appropriate application building and automated testing environments.

As well as the products and activities, the chosen technology will affect-

·         The training requirements for development staff.

·         The types of staff to be recruited.  

·         The development environment – both hardware and software.

·         System maintenance arrangements.

1)      Identify project as either objectives driven (product driven): The product to be created is defined before the start of the project. Often this type of project will have been preceded by an objectives driven project which will have defined the general software solution the is to be implemented. The project manager’s ideal situation is to have well defined objectives but as much freedom as possible about the way those objectives are to be satisfied.

2)      Analyse other project characteristics: These are following points considered in mind.

·         Is a data orientated or process orientated system to be implemented: Data orientated systems generally mean information systems that will have a substantial database. Process orientated systems refer to embedded control systems.

·         Will the software that is to be produced be a general tool or application specific: An example of general tool would be a spreadsheet or a work processing package. An application specific package could be, for example an airline seat reservation system.

·         Are there specific tools available for implementing the particular type of application: The user of techniques appropriate to the analysis and design of such systems would be considered.

·         Is the system to be created safety critical: For instance, could a malfunction in system endanger human life.

·         Is the system designed primarily to carry out predefined services: With software designed for entertainment, design and evaluation will need to be carried out differently form more conventional software products.

·         What is the nature of the hardware software environment in which the system will operate: The environment in which the final software will operate could be different from that in which , it is to be developed.   

3)      Identify high level project risks: At the starting of the projects, some managers might expect to work out carefully plan even though we are ignorant of many important factors affecting the project.

·         Product uncertainty: How well the requirements are understood. The users themselves could be uncertain about what a proposed information system is to do.

·         Process uncertainty: The project under consideration might be the first were an organization is using an approach like extreme programming.(New application building tool)

·         Resource uncertainty: The main area of uncertainty here is likely to be availability of staff of the right ability and experience. The lager the number of resources needed or longer the duration of the project.

4)      Take into account user requirements concerning implementation: We suggested earlier that staff planning a project should try to ensure that unnecessary constraints are not imposed on the way that project’s objectives are to be met.

5)      Select general life cycle approach: These are the following consider in mind.

·         Control System: A real system will need to be implemented using an appropriate methodology.

·         Information Systems: Similarly, an information system will need a methodology, such as SSADM.

·         General tools: where the software is for the general market rather than application and user specific, then a methodology such as SSADM would have to be through about with watchfulness.

·         Specialized techniques: For example – expert system shells and logic-based programming languages have been invented to expedite the development of knowledge based systems.

·         Hardware environment: The environment in which the system is to operate could put constraints on the way it is to be implemented.

·         Safety critical systems: Where safety and reliability are essential, this might justify the additional expense of a formal specification using a notation such as Z or VDM.

·         Imprecise requirements: Novel hardware/software platform mean that a prototyping approach should be considered.

Comments

Popular posts from this blog

Decision making process

Steps in Planning Process

Stakeholders of project