Thursday, April 9, 2020

Chapter - 8 Starting the Solution




We cannot make this book an exhaustive treatise on the design of software and organizational systems. Each organization has its own unique implementation environment, which means that the designers will come up with a unique design. Nevertheless, we can identify the variables that you need to consider to make the design decisions in your environment.




Iterative Development 

Iterative development techniques don’t always appear to do much in the way of upfront design, relying instead on frequent releases of software to gauge the design’s suitability. Although this approach can certainly work, it can be time-consuming if the initial releases are not very close to what is actually needed, or if the problem is so poorly understood or defined by the stakeholders that any solution is bound to be wide of the mark. In any event, it is usually more efficient to begin the discovery of need with abstract models and conversations, instead of concrete implementations.


Determine the Extent of the Product 

The task of business analysis is to determine what the work should be in the future and how the product can best contribute to that work. As noted earlier in this text, business use cases are responses to requests from the outside world for the work’s service. The optimal response is to provide the most valuable service (from the outsider’s point of view) at the lowest cost in terms of time, materials, or effort (from your organization’s point of view), and in the most pleasing and encouraging manner (from the end user’s point of view). Thus the product you craft should be a contributor to the optimal business use case—one that makes the product cheaper and faster and more convenient and all of the other things your project is to deliver.



Innovation 

This is the time for you to be innovative. If no innovation occurs, then the new product will be much the same as whatever it replaces. It is, of course, important not to disrupt the essential requirements, but there are a number of things that you can do to make a more innovative and acceptable end product.

Innovation, as we use the term here, means thinking differently about the problem to find a new and better way to do the work, or in some cases to find better work to do. Instead of rushing ahead with the first-to-mind solution or the obvious solution, we urge you to spend just a little time with fellow business analysts and other stakeholders to come up with something better, something that will be longer lasting and more appealing, something innovative.


------------------------------------------------------------
Cooperative adjacent systems are usually computer systems acting as if they are part of the work.

-------------------------------------------------------------

Sketching the Interface

Sketching has certain advantages. It is quick, which is definitely a benefit. Moreover, if the sketch is rudimentary enough, it will dissuade users from trying their hand at screen design. They are not qualified to do so, and it is far too early in the development process to be going into detailed design. 

There is no point in having a carefully crafted screen layout when you’re still unsure of all the functionality (and non-functionality) that could influence the interface. Anything you can do to dissuade business users from designing screens is very much to your advantage. Similarly, when you use rough sketches, no one has too much ego invested. Subsequent tasks in crafting a solution could well mean significant changes to your sketches. No one seems to mind if a sketch is changed, but most people mind if their carefully crafted design is changed.


Product Use Case Scenarios 

The business analyst uses product use case (PUC) scenarios to communicate the intention of the automated product to the stakeholders. Naturally, the PUC scenario is not the only document available to you at this time. Even so, because it shows the functionality of the product, it is an easy document with which to convey your intentions to the stakeholders. We suggest that you present the PUC scenario to the stakeholders at some suitable meeting. Do not simply e-mail it to them—you need their feedback.

To begin, first identify the business events. Pick one of them and trawl to discover the functionality that responds to that event (the business use case). As a way of showing your understanding, write a business use case scenario for this event. When your stakeholders are happy with the scenario, determine how much of that BUC can be implemented as the product. Whatever that turns out to be becomes the product use case.

Cost, Benefit, and Risks 

Naturally enough, choosing a solution is not just a matter of drawing a few lines on process models and hoping for the best. You have the responsibility to come up with the optimally valuable product—that is, optimally valuable to its owner. This implies that the cost of your solution must be in proportion to the benefit it brings to the owner. There is little point spending $10 to develop the product if the benefit it brings is worth only $1—unless, of course, the $1 saving is part of a repetitive process and is applied thousands of times.

Putting It All Together 

There is no formulaic method for arriving at the optimal solution; you have lots of factors to juggle, and the best design is simply the best compromise among all of them.


3 comments:

  1. In Microsoft, Iterative development is that kind of way in which the development of software break down of large application into smaller one. Innovation refers to create processes effectively, ideas and products. It includes technologies inventions like geothermal energy and other emerging innovations. There are advantages of Sketching, to use rough sketches plan the project. The business use case scenario that is the processing steps which response to business event.

    ReplyDelete
  2. Microsoft Research is a globally distributed playground for people interested in solving fundamental science problems. These projects often focus on machine learning and artificial intelligence, and since Microsoft is on a mission to infuse all of its products with more AI smarts, it’s no surprise that it’s also seeking ways to integrate Microsoft Research’s innovations into the rest of the company. Across the board, the company is trying to find ways to become more innovative, especially around its work in AI, and it’s putting processes in place to do so.

    ReplyDelete
  3. The reason Microsoft is still the multinational company that brings in billions of dollars a year is because they never cease to innovate. Bill Gates revolutionized the world of computers with his software. It was because he looked ahead at what people would want and need. Gates knew that something new had to be done. While some ideas we create are just crazy thoughts that pass by our brains, some of them are great ideas that we never capitalize on. Our minds are beautiful because of its ability to create. Microsoft is one example of innovators, but we can all innovate and create something that will change the world.

    ReplyDelete

Chapter - 12 - Fit, Criteria and Rationale

Fit, Criteria and Rationale Formality Guide A pleasing aspect (amongst many) of Kent Beck’s extreme Programming technique is its i...