Introduction to Software Engineering

Total Page:16

File Type:pdf, Size:1020Kb

Introduction to Software Engineering Introduction to Software Engineering Use cases Philippe Lalanda [email protected] http://membres-liglab.imag.fr/lalanda/ Philippe Lalanda 1 Reminder Function Class diagram Object diagram Entity-relationships Activity diagram Dictionary DTD Use case diagram Data Behavior State-chart diagram Interaction diagram Philippe Lalanda 2 Reminder Requirements engineering: The state of the practice, Neill et Laplante, IEEE Software, 2003 Philippe Lalanda 3 Outline q Deinition q Use cases and UML q Uniied process q Recurring issues q Conclusion Philippe Lalanda 4 What is a use case q A nominal usage of the system q By one or several users q Achieving a user’s objective Get some money Philippe Lalanda 5 What is an objective q An important, meaningful action to be achieved q Not too low level, not too high level Use ATM Withdraw money Enter Pin Philippe Lalanda 6 Use case description q A use case describes precisely the interaction between a user and a system q Nominal interaction Well, I use the system to reserve flights. To do so, first, I give my destination and a list of possible dates. Then, the system gives me flights listed by prices, … Philippe Lalanda 7 What is a scenario q A scenario is a use case instance Ok, let us be more specific Well, let us say I want to go to Madrid in the first week of May. The system proposes me cheap flights everyday at 10pm … Philippe Lalanda 8 An analysis technique? q Not really, but an excellent support for analysis q Use cases can be built during interviews, brainstorming session, seminars What do you want Ok, let us write to achieve with this this down? system? How do you Anything to add? proceed? Philippe Lalanda 9 Use cases and requirements (1) q Use cases express a set of requirements in a speciCic form q Essential functions of the system and the way they are achieved in terms of interactions Reserve a flight Cancel a reservation Get information See all flights about a flight Philippe Lalanda 10 Use cases and requirements (2) q The description of an interaction includes objects, functions, states An important goal is to reserve a flight. To do so, first, I give my destination and a list of possible dates. Then, the system presents me flights listed by prices, … Philippe Lalanda 11 Use cases and tests q Use cases can be used to structure tests q Test deinition q Integration Reserve a flight Cancel a reservation Get information See all flights about a flight Philippe Lalanda 12 Outline q Deinition q Use cases and UML q Uniied process q Recurring issues q Conclusion Philippe Lalanda 13 Use cases and UML q UML is an object-oriented notation to build q analysis models q design models q (a bit of) implementation models q UML acknowledged that OO analysis schemas were: q Not sufCicient to capture all requirements q Not user friendly q Focused on domain data (objects) Philippe Lalanda 14 UML and requirements engineering q Use cases have been integrated by Ivar Jacobson q Requirements = Use cases + analysis diagrams Compte" Banque" 1..4" 0..*" 1..*" 1..*" Client" numéro" solde" ..." numéro" nom" titulaires" 0..*" 1" signataire" 1" 0..*" Consortium CarteBleue" 0..*" 0..1" virementPossible" 1" Code" retraitMax" EstAcceptéPar>" 0..*" Distributeur 1..*" Essential functions Essential objects Philippe Lalanda 15 Use cases and UML q! UML provides simple notations to deCine use cases (and scenarios) q! Very few symbols q! Easy to understand q! Informal (mainly textual) q! Integrated in the RUP (Rational Uniied Process) q! A process deCining and orchestrating UML-based activities Philippe Lalanda 16 Base elements System Actor Use case Use case diagram Use case model Philippe Lalanda 17 System q! A system is seen as a black box q! It is deined through the functions it provides, the interactions it supports BooksOnLine! Philippe Lalanda 18 Actors q! An external element interacting with the system q! He can be active (takes decision) or passive (gets information) q! Two kinds of actors q! Human q! System (external systems, devices, peripherals) q! Several notations <<actor>> Printer! Administrator! Client Philippe Lalanda 19 Actors and inheritance q! Only possible relation between actors q! The specialized actor inherits all the use cases of his father Client VIP Philippe Lalanda 20 Example <<actor>>! Bank WebUser <<actor>>! Provider Client BooksOnLine! Administrator VIP Philippe Lalanda 21 Actors vs. users q! Actors and actual users must not be confused q! An actor = a role q! A user = a person q! Several persons can play a same role q! Paul and Pierre are two clients q! A same person can play several roles q! Paul can be a CLient and a WebUser q! A role relates to a system not to the organization using the system q! Client rather than Student Philippe Lalanda 22 Use case q! A use case refers to an essential function q! It may include several actors q! It corresponds to a high level goals ReserveBook DeleteBook BuyBook AddBook LookForBook Philippe Lalanda 23 Use case q! A use case q! Allows an actor to reach a goal q! It corresponds a a function visible by the actor(s) q! It has to make sense (speciCic enough) ValidateInput ReserveBook ManageBooks ReserveLesMisérables Philippe Lalanda 24 Use case diagram q! Use case diagrams provide a global view of the functions q! It presents q! All the actors q! All the use cases Philippe Lalanda 25 Example Register LookForBook WebUser <<actor>>! Bank LogIn BuyBook <<actor>>! BookProvider Client ReserveBook AddBook SpecialSale DeleteBook Administrator VIP Philippe Lalanda BooksOnLine! 26 Use case diagram decoration { MUST } <<actor>>! LookForBook WebUser Bank { MUST } BuyBook <<actor>>! { SHOULD } Provider Client ReserveBook { SHOULD } AddBook { MUST } { SHOULD } SpecialSale DeleteBook Administrator VIP BooksOnLine! Philippe Lalanda 27 Use cases inclusion q! For factorization purposes q! May lead to ‘low level’ use cases BuyBook « includes » « includes » LogIn ReserveBook « includes » Philippe Lalanda 28 Side note "The UML includes relationships between use cases beyond the simple « includes » such as « extends ». I strongly suggest that you ignore them. I've seen too many situations in which teams can get terribly hung up on when to use different use case relationships, and such energy is wasted. Instead, concentrate on the textual description of a use case." [UML Distilled, Martin Fowler] Philippe Lalanda 29 Use case model q! A use case model describes a use case q! Speciies the interaction q! Not standardized q! Different styles q! Different interpretations BuyBook Client Philippe Lalanda 30 Two ways to describe interactions BuyBook Client Philippe Lalanda 31 Two ways to describe interactions BuyBook Client TextualSemi formal description description of the interactions Philippe Lalanda 32 Describing a use case (1) q! A sequence diagram allows to describe a sequence of messages between different entities q! An UML notation q! Can be used in many contexts (not invented by UML btw) q! Different detail levels Philippe Lalanda 33 Example “book search” use case Client BooksOnLine Log In (id + pwd)" Check (id, pwd) " First page with client preferences " Search a book (title and author) List of books with prices" Select a book " Ask for confirmation" " ...Philippe Lalanda 34 Describing a use case (2) q! Textual form q! UC begin, pre-conditions q! UC end, post-conditions q! Nominal path (behavior) q! Possible variants and error situations q! Interactions between system and actors q! Exchanged information q! Possible non functional needs Philippe Lalanda 35 Example Pre-condition :" The server is running, the maximum number of visitors is not reached. " BuyBook " Begin : When the site is called from a web browser" " End : When a confirmation is sent by email or whenever the client quits" " Post-condition : " The bank account is updated." The book provider has received an order. " Philippe Lalanda 36 Example Nominal behavior :" (1) The client logs in" (2) The system present a first page, containing client expected preferences" (3) The client asks for a book (title and author)" BuyBook! (4) The system presents a list of corresponding books with the prices" (5) The client selects a book" (6) The system asks for confirmation " (7)…" " Variants : " (A) Invalid Id or password : during step (1) …" (B) Invalid book : during step (3) ..." " Philippe Lalanda 37 Example Non functional constraints :" " (A) Performance : the system has to react in less than 5 BuyBook! seconds, whatever the operation is" (B) Fault tolerance : if a fault occurs during the use case, transaction has to be cancelled. Bank account not updated, no order to the books provider. $ The system must be able to restart in a coherent state without human intervention. " " (C) Load : the system must be able to manage 1000 users" concurrently" Philippe Lalanda 38 Example of scenario SCENARIO 4" " BuyBook •! Paul logs in on Sunday morning (at 7:00) " •! The system presents the most recent books about SciFi" •! Paul looks for Robots by Asimov " •! The system provides 3 books corresponding to the request " •! Paul selects the first one (the cheapest)" •! The system asks for confirmation" •! …" Philippe Lalanda 39 Use case vs. scenarii model instances Philippe Lalanda 40 Outline q! Deinition q! Use cases and UML q! Uniied process q! Recurring issues q! Conclusion Philippe Lalanda 41 Uniied process q! An accompanying process to deCine and organize UML activities q! Based on UML notations q! Activities ①! System preliminary description ②! DeCine use case model ③! Deine relationships between use cases ④! Detail each use case (considering priorities) Philippe Lalanda 42 System preliminary description q! Give a name to the system q! As soon as possible q! Likely to be used all along the development q! Brief textual description (a few lines) The software system BooksOnLine is a Web site which purpose is to sell books. It is specialized on novels.
Recommended publications
  • Writing and Reviewing Use-Case Descriptions
    Bittner/Spence_06.fm Page 145 Tuesday, July 30, 2002 12:04 PM PART II WRITING AND REVIEWING USE-CASE DESCRIPTIONS Part I, Getting Started with Use-Case Modeling, introduced the basic con- cepts of use-case modeling, including defining the basic concepts and understanding how to use these concepts to define the vision, find actors and use cases, and to define the basic concepts the system will use. If we go no further, we have an overview of what the system will do, an under- standing of the stakeholders of the system, and an understanding of the ways the system provides value to those stakeholders. What we do not have, if we stop at this point, is an understanding of exactly what the system does. In short, we lack the details needed to actually develop and test the system. Some people, having only come this far, wonder what use-case model- ing is all about and question its value. If one only comes this far with use- case modeling, we are forced to agree; the real value of use-case modeling comes from the descriptions of the interactions of the actors and the system, and from the descriptions of what the system does in response to the actions of the actors. Surprisingly, and disappointingly, many teams stop after developing little more than simple outlines for their use cases and consider themselves done. These same teams encounter problems because their use cases are vague and lack detail, so they blame the use-case approach for having let them down. The failing in these cases is not with the approach, but with its application.
    [Show full text]
  • Agile Software Development: the Cooperative Game Free
    FREE AGILE SOFTWARE DEVELOPMENT: THE COOPERATIVE GAME PDF Alistair Cockburn | 504 pages | 19 Oct 2006 | Pearson Education (US) | 9780321482754 | English | New Jersey, United States Cockburn, Agile Software Development: The Cooperative Game, 2nd Edition | Pearson View larger. Preview this title online. Request a copy. Additional order info. Buy this product. The author has a deep background and gives us a tour de force of the emerging agile methods. The agile model of software development has taken the world by storm. Cockburn also explains how the cooperative game is played in business and on engineering projects, not just software development. Next, he systematically illuminates the agile model, shows how it has evolved, and answers the Agile Software Development: The Cooperative Game developers and project managers ask most often, including. Cockburn takes on crucial misconceptions that cause agile projects to fail. Cockburn turns to the practical Agile Software Development: The Cooperative Game of constructing agile methodologies for your own teams. This edition contains important new contributions on these and other topics:. This product is part of the following series. Click on a series title to see the full list of products in the series. Chapter 1. Chapter 5. Chapter 6. Appendix A. Pearson offers special pricing when you package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson rep. Alistair Cockburn is an internationally renowned expert on all aspects of software development, from object-oriented modeling and architecture, to methodology design, to project management and organizational alignment. Sincehe has led projects and taught in places from Oslo to Cape Town, from Vancouver to Beijing.
    [Show full text]
  • GRASP Patterns
    GRASP Patterns David Duncan November 16, 2012 Introduction • GRASP (General Responsibility Assignment Software Patterns) is an acronym created by Craig Larman to encompass nine object‐oriented design principles related to creating responsibilities for classes • These principles can also be viewed as design patterns and offer benefits similar to the classic “Gang of Four” patterns • GRASP is an attempt to document what expert designers probably know intuitively • All nine GRASP patterns will be presented and briefly discussed What is GRASP? • GRASP = General Responsibility Assignment Software Patterns (or Principles) • A collection of general objected‐oriented design patterns related to assigning defining objects • Originally described as a collection by Craig Larman in Applying UML and Patterns: An Introduction to Object‐Oriented Analysis and Design, 1st edition, in 1997. Context (1 of 2) • The third edition of Applying UML and Patterns is the most current edition, published in 2005, and is by far the source most drawn upon for this material • Larman assumes the development of some type of analysis artifacts prior to the use of GRASP – Of particular note, a domain model is used • A domain model describes the subject domain without describing the software implementation • It may look similar to a UML class diagram, but there is a major difference between domain objects and software objects Context (2 of 2) • Otherwise, assumptions are broad: primarily, the practitioner is using some type of sensible and iterative process – Larman chooses
    [Show full text]
  • Model-Driven Development of Complex Software: a Research Roadmap Robert France, Bernhard Rumpe
    Model-driven Development of Complex Software: A Research Roadmap Robert France, Bernhard Rumpe Robert France is a Professor in the Department of Computer Science at Colorado State University. His research focuses on the problems associated with the development of complex software systems. He is involved in research on rigorous software modeling, on providing rigorous support for using design patterns, and on separating concerns using aspect-oriented modeling techniques. He was involved in the Revision Task Forces for UML 1.3 and UML 1.4. He is currently a Co-Editor-In-Chief for the Springer international journal on Software and System Modeling, a Software Area Editor for IEEE Computer and an Associate Editor for the Journal on Software Testing, Verification and Reliability. Bernhard Rumpe is chair of the Institute for Software Systems Engineering at the Braunschweig University of Technology, Germany. His main interests are software development methods and techniques that benefit form both rigorous and practical approaches. This includes the impact of new technologies such as model-engineering based on UML-like notations and domain specific languages and evolutionary, test-based methods, software architecture as well as the methodical and technical implications of their use in industry. He has furthermore contributed to the communities of formal methods and UML. He is author and editor of eight books and Co-Editor-in-Chief of the Springer International Journal on Software and Systems Modeling (www.sosym.org). Future of Software Engineering(FOSE'07)
    [Show full text]
  • Agile and Iterative Development : a Managers Guide Pdf, Epub, Ebook
    AGILE AND ITERATIVE DEVELOPMENT : A MANAGERS GUIDE PDF, EPUB, EBOOK Craig Larman | 368 pages | 11 Aug 2003 | Pearson Education (US) | 9780131111554 | English | Boston, United States Agile and Iterative Development : A Managers Guide PDF Book Rum Haunt. The Agile Manifesto and Principles. Download pdf. Investors poured billions into unproven concepts. Problems with the Waterfall. Agile is the ability to create and respond to change. Distinct preferred subjects that distribute on our catalog are trending books, solution key, test test question and answer, manual example, exercise guideline, test sample, customer handbook, owner's guideline, assistance instructions, restoration guide, and so forth. It is a way of dealing with, and ultimately succeeding in, an uncertain and turbulent environment. Evolutionary and Adaptive Development. We will identify the effective date of the revision in the posting. Each sprint has a fixed length, typically weeks, and the team has a predefined list of work items to work through in each sprint. Learn more. Timeboxed Iterative Development. The added benefit of having the definitions and practices of the individual methods in one book is also great. The Facts of Change on Software Projects. Agile Software Development Series. A lot of people peg the start of Agile software development, and to some extent Agile in general, to a meeting that occurred in when the term Agile software development was coined. They then determine how to pursue that strategy and its related goals and objectives by prioritizing different initiatives, many of which they identify by using quantitative and qualitative research tactics. Orders delivered to U. New Paperback Quantity available: 1.
    [Show full text]
  • Iterative, Evolutionary, and Agile
    UML and Patterns.book Page 17 Thursday, September 16, 2004 9:48 PM Chapter 2 2 ITERATIVE, EVOLUTIONARY, AND AGILE You should use iterative development only on projects that you want to succeed. —Martin Fowler Objectives G Provide motivation for the content and order of the book. G Define an iterative and agile process. G Define fundamental concepts in the Unified Process. Introduction Iterative development lies at the heart of how OOA/D is best practiced and is presented in this book. Agile practices such as Agile Modeling are key to apply- ing the UML in an effective way. This chapter introduces these subjects, and the Unified Process as a relatively popular sample iterative method. What’s Next? Having introduced OOA/D, this chapter explores iterative development. The next introduces the case studies that are evolved throughout the book, across three iterations. Iterative, OOA/D Case Evolutionary Inception Introduction & Agile Studies 17 UML and Patterns.book Page 18 Thursday, September 16, 2004 9:48 PM 2 – ITERATIVE, EVOLUTIONARY, AND AGILE Iterative and evolutionary development—contrasted with a sequential or “waterfall” lifecycle—involves early programming and testing of a partial sys- tem, in repeating cycles. It also normally assumes development starts before all the requirements are defined in detail; feedback is used to clarify and improve the evolving specifications. We rely on short quick development steps, feedback, and adaptation to clarify the requirements and design. To contrast, waterfall values promoted big up- front speculative requirements and design steps before programming. Consis- tently, success/failure studies show that the waterfall is strongly associated with the highest failure rates for software projects and was historically promoted due to belief or hearsay rather than statistically significant evidence.
    [Show full text]
  • Protected Variation: the Importance of Being Closed Craig Larman
    design Editor: Martin Fowler, Thought Works ■ [email protected] Protected Variation: The Importance of Being Closed Craig Larman he Pattern Almanac 2000 (Addison- OCP and PV formalize and generalize a Wesley, 2000) lists around 500 soft- common and fundamental design principle ware-related patterns—and given this described in many guises. OCP and PV are reading list, the curious developer has two expressions of the same principle— Tno time to program! Of course, there protection against change to the existing are underlying, simplifying themes and code and design at variation and evolution principles to this pattern plethora that de- points—with minor differences in emphasis. velopers have long considered and dis- I am nominating the term protected varia- cussed. One example is Larry Constantine’s tion for general use, as it is short and clear. coupling and cohesion guidelines In OCP, the term module includes all dis- (see “Structured Design,” IBM crete software elements, including methods, Systems J., vol. 13, no. 2, 1974). classes, subsystems, applications, and so forth. Yet, these principles must contin- Also, the phrase “closed with respect to X” ually resurface to help each new means that clients are not affected if X generation of developers and ar- changes. For example, “The class is closed chitects cut through the apparent with respect to instance field definitions.” PV disparity in myriad design ideas uses the term interface in the broad sense of an and help them see the underlying access view—not exactly a Java or COM in- and unifying forces. terface, for example. One such principle, which Bertrand Meyer describes in Ob- Information hiding is PV, ject-Oriented Software Construction (IEEE not data encapsulation Press, 1988), is the Open–Closed Principle: “On the Criteria To Be Used in Decom- Modules should be both open (for extension posing Systems Into Modules” is a classic and adaptation) and closed (to avoid modifi- that is often cited but seldom read.
    [Show full text]
  • Object-Oriented Analysis and Design (OOA/D)
    Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN The shift of focus (to patterns) will have a profound and enduring effect on the way we write programs. —Ward Cunningham and Ralph Johnson Objectives • Compare and contrast analysis and design. • Define object-oriented analysis and design (OOA/D). • Illustrate a brief example. 1.1 Applying UML and Patterns in OOA/D What does it mean to have a good object design? This book is a tool to help devel- opers and students learn core skills in object-oriented analysis and design (OOA/D). These skills are essential for the creation of well-designed, robust, and maintainable software using object technologies and languages such as Java, C++, Smalltalk, and C#. The proverb "owning a hammer doesn't make one an architect" is especially true with respect to object technology. Knowing an object-oriented language (such as Java) is a necessary but insufficient first step to create object systems. Knowing how to "think in objects" is also critical. This is an This is an introduction to OOA/D while applying the Unified Modeling Lan- introduction guage (UML), patterns, and the Unified Process. It is not meant as an advanced text; it emphasizes mastery of the fundamentals, such as how to assign respon- sibilities to objects, frequently used UML notation, and common design pat- 1 - OBJECT-ORIENTED ANALYSIS AND DESIGN terns. At the same time, primarily in later chapters, the material progresses to a few intermediate-level topics, such as framework design. Applying UML The book is not just about the UML. The UML is a standard diagramming nota- tion.
    [Show full text]
  • Business Modelling: UML Vs. IDEF
    Griffith University School of Computing and Information Technology Domain: Advanced Object Oriented Concepts Business Modelling: UML vs. IDEF available electronically at: http://www.cit.gu.edu.au/~noran © Ovidiu S. Noran Table of Contents. 1 Introduction....................................................................................................1 1.1 The objectives of this paper..............................................................................1 1.2 Motivation.........................................................................................................1 1.3 Some Important Terms.....................................................................................2 1.3.1 Models. .............................................................................................................. 2 1.3.2 Business Process Models.................................................................................. 2 1.3.3 Information Systems Support. ........................................................................... 3 1.3.3.1 The Business Model as a Base for Information Systems.......................... 3 1.3.3.2 'Legacy' Systems....................................................................................... 4 1.3.4 Business Improvement vs. Innovation............................................................... 4 1.4 Business Concepts...........................................................................................4 1.4.1 Business Architecture. ......................................................................................
    [Show full text]
  • Complexity & Verification: the History of Programming As Problem Solving
    COMPLEXITY & VERIFICATION: THE HISTORY OF PROGRAMMING AS PROBLEM SOLVING A DISSERTATION SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY Joline Zepcevski IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Arthur L. Norberg February 2012 © Copyright by Joline Zepcevski 2012 All Rights Reserved Acknowledgments It takes the work of so many people to help a student finish a dissertation. I wish to thank Professor Arthur L. Norberg for postponing his retirement to be my advisor and my friend over the course of this project. Thank you to my committee, Professor Jennifer Alexander, Professor Susan Jones, Dr. Jeffery Yost, and Professor Michel Janssen, all of whom individually guided this dissertation at different times and in specific ways. Thank you also to Professor Thomas Misa for his guidance and assistance over many years. I had a great faculty and a great cohort of graduate students without whom this dissertation would never have been completed. I particularly want to thank Sara Cammeresi, whose unending support and friendship were invaluable to the completion of this project. I wish to thank my family, Jovan Zepcevski, Geraldine French, Nicole Zepcevski, and Brian Poff, who supported me and loved me throughout it all. I also want to thank my friends: Tara Jenson, Holly and Aaron Adkins, Liz Brophey, Jennifer Nunnelee, Jen Parkos, Vonny and Justin Kleinman, Zsuzsi Bork, AJ Letournou, Jamie Stallman, Pete Daniels, and Megan Longo who kept me sane. I need to thank Lisa Needham for all her assistance. Without your help, I wouldn’t sound nearly as smart.
    [Show full text]
  • For Managing Large U.S. Gov't Cloud Computing Projects
    Lean & Agile Enterprise Frameworks For Managing Large U.S. Gov’t Cloud Computing Projects Dr. David F. Rico, PMP, CSEP, ACP, CSM, SAFe Twitter: @dr_david_f_rico Website: http://www.davidfrico.com LinkedIn: http://www.linkedin.com/in/davidfrico Facebook: http://www.facebook.com/david.f.rico.9 Agile Capabilities: http://davidfrico.com/rico-capability-agile.pdf Agile Resources: http://www.davidfrico.com/daves-agile-resources.htm Agile Cheat Sheet: http://davidfrico.com/key-agile-theories-ideas-and-principles.pdf Author Background Gov’t contractor with 32+ years of IT experience B.S. Comp. Sci., M.S. Soft. Eng., & D.M. Info. Sys. Large gov’t projects in U.S., Far/Mid-East, & Europe Career systems & software engineering methodologist Lean-Agile, Six Sigma, CMMI, ISO 9001, DoD 5000 NASA, USAF, Navy, Army, DISA, & DARPA projects Published seven books & numerous journal articles Intn’l keynote speaker, 100+ talks to 11,000 people Adjunct at GWU, UMBC, UMUC, Argosy, & NDMU Specializes in metrics, models, & cost engineering Cloud Computing, SOA, Web Services, FOSS, etc. 2 Today’s Whirlwind Environment Global Reduced Competition IT Budgets Work Life Obsolete Imbalance Technology & Skills Demanding 81 Month Customers Cycle Times Overruns Inefficiency Vague Attrition High O&M Overburdening Requirements Escalation Lower DoQ Legacy Systems Runaways Vulnerable Cancellation N-M Breach Organization Redundant Downsizing Data Centers Technology Poor Change System Lack of IT Security Complexity Interoperability Pine, B. J. (1993). Mass customization: The new frontier in business competition. Boston, MA: Harvard Business School Press. Pontius, R. W. (2012). Acquisition of IT: Improving efficiency and effectiveness in IT acquisition in the DoD.
    [Show full text]
  • Download Presentation Slides
    Lean & Agile Enterprise Frameworks For Managing Large U.S. Gov’t Cloud Computing Projects Dr. David F. Rico, PMP, CSEP, ACP, CSM, SAFe Twitter: @dr_david_f_rico Website: http://www.davidfrico.com LinkedIn: http://www.linkedin.com/in/davidfrico Agile Capabilities: http://davidfrico.com/rico-capability-agile.pdf Agile Resources: http://www.davidfrico.com/daves-agile-resources.htm Agile Cheat Sheet: http://davidfrico.com/key-agile-theories-ideas-and-principles.pdf Author BACKGROUND Gov’t contractor with 32+ years of IT experience B.S. Comp. Sci., M.S. Soft. Eng., & D.M. Info. Sys. Large gov’t projects in U.S., Far/Mid-East, & Europe Career systems & software engineering methodologist Lean-Agile, Six Sigma, CMMI, ISO 9001, DoD 5000 NASA, USAF, Navy, Army, DISA, & DARPA projects Published seven books & numerous journal articles Intn’l keynote speaker, 125+ talks to 12,000 people Specializes in metrics, models, & cost engineering Cloud Computing, SOA, Web Services, FOSS, etc. Adjunct at five Washington, DC-area universities 2 Lean & Agile FRAMEWORK? Frame-work (frām'wûrk') A support structure, skeletal enclosure, or scaffolding platform; Hypothetical model A multi-tiered framework for using lean & agile methods at the enterprise, portfolio, program, & project levels An approach embracing values and principles of lean thinking, product development flow, & agile methods Adaptable framework for collaboration, prioritizing work, iterative development, & responding to change Tools for agile scaling, rigorous and disciplined planning & architecture, and a sharp focus on product quality Maximizes BUSINESS VALUE of organizations, programs, & projects with lean-agile values, principles, & practices Leffingwell, D. (2011). Agile software requirements: Lean requirements practices for teams, programs, and the enterprise.
    [Show full text]