Sissejuhatus informaatikasse. Solution Framework The easiest way to achieve success is to follow in...

22
Sissejuhatus informaatikasse

Transcript of Sissejuhatus informaatikasse. Solution Framework The easiest way to achieve success is to follow in...

Sissejuhatus informaatikasse

Solution Framework

• The easiest way to achieve success is to follow in the successful footsteps of others. This doesn’t mean you should wait to see what the competition is doing, and then put out a duplicate product, though that’s been known to happen way too often in the real world. What it means is to learn to play like the big boys do, by following their game plans.

• Model consists of the following:       Team Model       Process Model       Application Model       Solutions Design Model       Enterprise Architecture Model       Infrastructure Model       TCO Model

Team modelThe most fundamental resource of any project is the team that’s working on it. Without an effective, expert team of individuals, nothing would get done.

·       Product management 

·       Program management 

·       Development 

·       Testing 

·       User Education 

·       Logistics 

Team modelYou’ll remember the old saying that “too many cooks spoil the soup.”

When a team exceeds ten or more members, it is recommended to break them into specialty teams. Each smaller team focuses on a specific goal, and is responsible for different tasks. Team leaders can focus on managing, coordinating, and guiding the team, while team members can focus on achievement in their individual missions.

Product management responsible for obtaining the customer’s requirements of a product, and setting the vision for the product so everyone understands what it entails. Manages the expectations of the customer so they understand what can and will be delivered. This role has a position of advocacy between customers who buy a product, and the team that creates it. Represents the team: managing customer expectations; represents the customer: maintaining customer requirements.

Team modelProgram management responsible for making decisions that determine delivery of the right product at the right time. His/her takes the requirements outlined by product management, and turns this information into a functional specification and master project plan. The functional specification determines what is to be created, and the master project plan specifies how it will be done. Holds responsibility for owning and driving the schedule and budget of a project. It also determines when to release the right product or service.

Development tesponsible for building or implementing a product or service that meets the requirements and needs of the customer. The role is in charge of building the product or implementing a particular service. This role takes the functional specifications, and delivers a product or service that complies with them. Development offers input on designs, develops prototypes, and evaluates available technologies to be used. When and while this is done, development codes the different parts of a product, until it is finally built.

Team modelTesting responsible for making certain that a product works, and that issues such as bugs and errorsare addressed before release. Person in that role determines what problems exist in a product or service, so that these issues are addressed before it is delivered to a customer. This is by no means a random process. Schedules are created to specify when an area of the product will be tested. One day might consist of finding problems with documentation, while another is spent seeking out erroneous code. Strategies and plans are created to find defects, bugs, and errors in the product.

User education responsible for enhancing the user’s experience and performance with a product, by making the product easy to understand and use. Has the responsibility of representing the end user (not customer) — while the customer buys the product, it is the end user who actually uses it. It is user education’s role to ensure that an end user has a good experience with a product. This role is responsible for designing, creating, and testing materials that assist the user. Online assistance, manuals, wizards, and training materials fall into the realm of user education.

Team model

Logistics management responsible for a smooth rollout of the product. Ensures that the installation and migration of a product to support and operations groups goes smoothly. The person in that role is responsible for deployment and product support. This role ensures a smooth rollout, and makes sure that deployment is possible. Installation programs must work correctly, and installation sites are checked so they fit the necessary requirements for deployment. Logistics management has to understand the infrastructure of a product, so they can provide training to operations and the help desk. By providing this information, support groups are able to assist the customer and end user.

Process model

Process focuses the team on issues relevant to different phases of the project, and allows members to see that they’re on the right track with a project. It does this by breaking the development cycle into four phases:

·       envisioning phase·       planning phase·       developing phase·       stabilizing phase

At the end of each phase, a major milestone is reached in the project. A milestone is a major turning point in the project that indicates progress. At each milestone, the team determines whether the customer’s requirements are being met, and synchronizes their efforts so the project can succeed. Such milestones force the project to become results-oriented—one phase must be successful, and culminate in a milestone, before the next phase can begin.

Process model: envisioning

Envisioning phase: here project requirements are defined. This phase keeps the team from spending effort on minor needs, or trying to make bad procedures or operations more efficient. Not only are the current needs of the customer evaluated, but future issues the business may face, similar issues faced in other departments, as well as what is causing the need in the first place.The envisioning phase results in the vision/scope approved milestone, where an agreement is made on what direction the project will take. Vision sets the ultimate goals of the project, while scope recognizes the limitations. This takes into account that while it would be great to have 20 new features added to a product, the schedule may allow only 15, with the additional 5 appearing in the next version of the software. By reaching this milestone, a clear direction is established.

Process model: planningThe planning phase is where the customers and team members sit down and determine what will be delivered, and how it should be built. While the project’s direction is specified in the previous step, this is where everyone agrees on a game plan: will we use Visual Basic or some other program to build the software? Which features are most important, and where do we set our priorities? These are some of the issues discussed at this phase. It is also during the planning phase that risks are reassessed, and estimates for schedules and resources are made. In the end, the project plan approved milestone is reached, providing the functional specification and schedule.

Project charter + Iterations

is determining how long it will take for your team to complete tasks, so the product can be shipped by a specific date. The reason this can be so difficult is that the future is uncertain, and a schedule is a prediction of how long the tasks will take to be completed.

One of the most basic principles is to use of bottom-up estimating. Bottom-up estimates work on a chain-of-command principle, with those who are lower in a hierarchy reporting work estimates to those above them. The benefits of bottom-up estimates reside in having the people who have experience with a task determining how long it will take to do it.

+buffer time to your schedule: time that’s added to a schedule to cover problems that may arise in individual tasks.

Scheduling

Scheduling: tradeoffs

Process model: developing and stabilization

The functional specification and project plan are passed forward, and used in the developing phase of the process model. Using this information as a baseline, the product or service begins to be built at this stage. The development team sets a number of interim delivery milestones, where the product goes through several cycles of testing, debugging, and fixing. This happens until, finally, all development is complete, and the scope complete/first use milestone is reached. The scope complete/first use milestone is where the product’s functionality is assessed, and it is determined that rollout and support plans are in place before the product is delivered. Documentation is made about features dropped from the current version, and whether they will appear in future versions of the product.

The stabilization phase has a primary focus on finding and fixing bugs that have appeared in the product. This phase occurs concurrently with code development, where the programming of the software product takes place. Once testing at this phase is completed, the product is delivered to operations and support groups, marking the release milestone. At this milestone, the product is shipped and put into service.

Project CharterBusiness Purpose

Business Objectives: The bottom line benefits of the project

Desired Features

Critical Success Factors: must be addressed to ensure the success of this project.

Constraints

Risks

Roles and Responsibilities

Location of Interest

Actors

Event List/Event Table

Use Cases

Use Case Course of Events

Preliminary Execution Architecture

Project Infrastructure

Project Release Strategy

Application model: multi-tier application

The application model breaks an application into a network of consumers and suppliers of services. A consumer is a program or component that uses the services of another component. The supplier provides the requested service to this consumer. A service is defined as a unit of application logic, which is used to perform an operation, function, or some sort of transformation on an object.

Solutions Design Model“Give the people what they want” should be the motto of this model. In the solutions design model, users become involved in the design process. By having them address key issues, such as usability and requirements, the team is able to determine that an application will be used and increase productivity.

The solutions design model is comprised of different perspectives. A perspective is an outlook or viewpoint on something, which in this case is the design process of an application. It is used to provide focus to the design process. These perspectives consist of the following elements:

• Conceptual

• Logical

• Physical

Solutions Design ModelConceptual design is where the initial concept of the solution originates. It is here that the team develops an understanding of what the user needs from a solution. Scenarios and models are used to relay this understanding so everyone involved in the project, team members, customers, and users, knows what is needed.

Logical design takes the information gathered from the conceptual design and applies it to technical know-how. Structure and communication of elements in the solution are established. The objects and services, the user interface, and logical databases are among the elements identified and designed in this perspective.

Physical design is where requirements from the conceptual and logical perspectives are put into a tangible form. It is here that the constraints of technology are applied to the logical design of the solution. Physical design defines how the components of your solution, such as the user interface and physical database, work together. Performance, implementation, bandwidth, scalability, reliability, and maintainability are all resolved and implemented through physical design. Because this applies previous designs to a concrete form, you are able to estimate what resources, costs, or scheduling will be needed to complete the project.Those perspectives are not a series of steps with clear cutoff points: you are able to return to the different design perspectives as many times as necessary. This allows you to refine your design, by revisiting and redesigning your solution.

Enterprise Architecture ModelEnterprise architecture is a model that provides guidelines for planning, building, and managing technology infrastructures. It helps to integrate the business, by making sure that changes throughout the enterprise are consistent, and meet the needs of the business.

       business architecture       application architecture       information architecture       technology architecture

Enterprise Architecture Model

Enterprise architecture is a model that provides guidelines for planning, building, and managing technology infrastructures. It helps to integrate the business, by making sure that changes throughout the enterprise are consistent, and meet the needs of the business.

Business architecture is used to define how the business works. It determines what the business does, its strengths, and its future. By having a description of how the company works, and the functional and cross-functional activities they perform, a better understanding of requirements is achieved.

The application architecture is used to determine issues dealing with current applications and application models, and what changes may be necessary to these areas. Here it is determined what application models are currently used, integration issues unique to the current system, and where backlogs exist. It defines the interfaces, services, and application models needed by a business,

Enterprise Architecture ModelInformation architecture describes how data and information are handled in a business so it can run effectively, and describes what the company needs to know to run the organization’s business processes and operations. This includes such things as determining functional data requirements, information needs, and policies dealing with data management. This perspective also describes how information is bound to workflow. It is important to remember that data stores, such as databases, documents, and spreadsheets, exist not only on servers, but on the desktop computers prevalent in most enterprises. Because of this, the information architecture deals with identifying where most of the critical information in an organization resides.

Technology architecture is a perspective that describes standards and guidelines for laying out the software and hardware supporting an organization. This perspective includes such things as operating systems, client/workstation tools, and hardware used by workstations and servers, printers, modems. This perspective provides you with a vendor-independent, logical description of your organization’s technology infrastructure.

Infrastructure modelWhile the previous model deals with the software and hardware elements necessary in computing, the infrastructure model defines all of the resources needed to support this environment.

technologies and standards: deals with the software, hardware, and standards that we introduced in the enterprise architecture model.

operational processes: consist of the operating procedures, policies, and services that are used in the enterprise. These are the rules and regulations that are abided by in the organization.

people and organizational resources: deal with the skill sets and management available in the organization. These are human resources that are available as personnel, and can add their skills or management expertise to a project.

TCOThe TCO (Total Cost of Ownership) model works on the basic premise that optimizing costs equals a better return on investment (ROI). In other words, by spending less, you have more money in your pocket. The TCO model approaches this objective by analyzing the cost areas in a business in a rational and proven method.The key word in all this is optimizing. In the TCO model, there are a number of factors that can be optimized in an organization:

·       Cost model elements  Used to show relative costs that are based on the averages in the industry.·       Components The software and hardware used in an organization.·       Operations The elements required by the computing environment to operate properly,. such as maintenance, help desk, disaster recovery, and training.·       Management The administration of such things as the network, data, systems, and repair.·       Hidden costs Includes such things as vendor management, misdiagnosis, and end-user training.·       Downtime and other costs Includes such things as downtime, development, and testing.