1 / 51

IS 553 Advanced Systems Development Practices

IS 553 Advanced Systems Development Practices. James Nowotarski 25 May 2004. Course Map. Underpinnings . Introduction . Essentials Content . Rational Unified Process . Agile Implementation . Metrics . CMM . Distributed development . Tools & training Briefings (Term Papers).

gaston
Download Presentation

IS 553 Advanced Systems Development Practices

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IS 553Advanced Systems Development Practices James Nowotarski 25 May 2004

  2. Course Map Underpinnings . Introduction . Essentials Content . Rational Unified Process . Agile Implementation . Metrics . CMM . Distributed development . Tools & training Briefings (Term Papers) 1 2 3 4 5 6 7 8 9 10 11 Week Assignments Quizzes (Distr. Dev.) (RUP) (Agile) (CMM)

  3. Today’s Objectives • Understand who uses methodology and why • Understand key strategies and issues affecting methodology deployment, adoption, and usage • Be able to outline a methodology deployment plan • Be aware of development tools “big picture”

  4. Today’s Agenda Topic Duration • Quiz 4 recap 15 minutes • Who reads methodology and why 15 minutes • Deployment, adoption, use 60 minutes • *** Break 15 minutes • Current Event Reports 30 minutes • Development tools 60 minutes

  5. Today’s Agenda Topic Duration • Quiz 4 recap 15 minutes • Who reads methodology and why 15 minutes • Deployment, adoption, use 60 minutes • *** Break 15 minutes • Current Event Reports 30 minutes • Development tools 60 minutes

  6. Factors to Determine Location (Gartner Group)

  7. Today’s Agenda Topic Duration • Quiz 4 recap 15 minutes • Who reads methodology and why 15 minutes • Deployment, adoption, use 60 minutes • *** Break 15 minutes • Current Event Reports 30 minutes • Development tools 60 minutes

  8. IS 553 Who Reads Methodologyand Why The focus of IS 553 has been the process component of systems development capability People Process Technology

  9. Who Reads Methodologyand Why Today, we will focus on the People and Technology components People Process Technology

  10. Who Reads Methodologyand Why People – The most difficult component People Process Technology

  11. Who Reads Methodologyand Why Changing people’s behavior is usually the hardest part of implementing technology “A lot of times, technology is hyped and sold and somebody buys it. But what isn’t hyped enough is how difficult it is to implement the technology so that it has an impact” – Tim Waterloo, president of Glen Ellyn consulting firm Oak Enterprises, quoted in Crain’s Chicago Business, 10 May 2004.

  12. Who Reads Methodology and Why • Study of 1000 practitioners by Prof. Gezinus Hidding, Loyola University (mid-1990’s) • Practitioners seldom “read” the methodology • But when they do, it is to: • learn about something new (training) • look something up that they once knew or want to confirm (reference) • Different needs depending on role

  13. Who Reads Methodology and Why Methodology is used mostly by planners and mostly for reference purposes How Used Roles Source: Gezinus Hidding, Loyola University

  14. Who Reads Methodology and Why Process descriptions and artifacts are the most valuable types of REFERENCE information Percentage of time Planners REFERENCE Process info Source: Gezinus Hidding, Loyola University

  15. Who Reads Methodology and Why • Information needs of planners (“crucial target”) • need for speed • summary overviews of processes and artifacts • Information needs of doers • artifact samples • guidelines/techniques

  16. Today’s Agenda Topic Duration • Quiz 4 recap 15 minutes • Who reads methodology and why 15 minutes • Deployment, adoption, use 60 minutes • *** Break 15 minutes • Current Event Reports 30 minutes • Development tools 60 minutes

  17. Why is Software Process Implementation So Hard? • Process change affects behavior • Cultural barriers • Examples: • “Cowboy culture” will resist structure • Hierarchical culture will resist XP • Target audience lacks time • “Death by 1000 initiatives” • Not a “sexy” topic • Method/1 = “Methadone”

  18. New process Completely Implemented 6. Evaluate the process implementation Software Process Implementation Steps • Assess the current state • Set (or revise) goals Current process 3. Identify risks 4. Plan the process implementation 5. Execute the process implementation

  19. New process Completely Implemented 6. Evaluate the process implementation Software Process Implementation Steps • Assess the current state • Set (or revise) goals Current process 3. Identify risks 4. Plan the process implementation 5. Execute the process implementation

  20. 1. Assess the current state One approach to assessment: Look at assets, deployment of assets, and usage of assets Scorecard/Gap Analysis

  21. 1. Assess the current state • Assets: Do we have good stuff? • Deployment: Do people know about the assets? Do people know what to do with the assets? • Usage: Are people using the assets on projects?

  22. 1. Assess the current state People - Perhaps the most difficult piece for a technology person • Ownership/Sponsorship • Motivation • Rewards/Incentives • Training • Physical work environment • Roles, reporting relationships • Performance measurement People Process Technology

  23. 1. Assess the current state Technology elements must be addressed also People Process Technology • Tools • Standards • Reusable components • Alignment with other frameworks

  24. New process Completely Implemented 6. Evaluate the process implementation Software Process Implementation Steps • Assess the current state • Set (or revise) goals Current process 3. Identify risks 4. Plan the process implementation 5. Execute the process implementation

  25. Elements of an Implementation Plan • Sponsorship • Marketing & Communication • Education & Training • Coordination with other initiatives • Rollout schedule • Ongoing Support • Metrics

  26. Elements of an Implementation Plan • Sponsorship • Executive level • Visibility • Accountability

  27. Elements of an Implementation Plan • Marketing & Communication • Need to be aware of where target audience is: • Misinformed • Unaware • Aware • Understand • Believe • Action • Err on side over-communication • Relate to business performance objectives • Types of materials? (discuss)

  28. Elements of an Implementation Plan • Education & Training • Train-the-Trainer • Rollout training (one-time event) • For the unwashed masses • “Retread” training • Ongoing training curriculum • Levels to target • User • Developer • Manager • Executive

  29. Elements of an Implementation Plan • Coordination with other initiatives • Align vocabulary, practices • Examples: • Performance evaluations • IT strategy • Allow others to “invoke” methodology • Analogous to Microsoft publishing API’s in a Software Developer Kit (SDK)

  30. Elements of an Implementation Plan • Rollout schedule • Incremental approach recommended • Pilot is usually a good idea • Shake out • Success story will help with takeup by others • Especially critical if risks are great • “the most effective way to introduce process and tools”

  31. Elements of an Implementation Plan • Ongoing Support • Local experts • Central help desk • Need to capture feedback (“experience factory”) • Fixes • Enhancements • Innovations • Systems development metrics

  32. Elements of an Implementation Plan • Metrics (on the implementation process) • Training time • Awareness • Usage • Local experts time allocation • Help desk requests • Errors/Enhancements

  33. New process Completely Implemented 6. Evaluate the process implementation Software Process Implementation Steps • Assess the current state • Set (or revise) goals Current process 3. Identify risks 4. Plan the process implementation 5. Execute the process implementation

  34. New process Completely Implemented 6. Evaluate the process implementation Software Process Implementation Steps • Assess the current state • Set (or revise) goals Current process 3. Identify risks 4. Plan the process implementation 5. Execute the process implementation

  35. Software Process Implementation Steps Implementing a process is a project Phase 2 Phase 3 Phase 4 Phase 1 The group of people working on implementing the process should be dedicated

  36. Implementation Key Success Factors • Involve systems developers in assessing current process • Implement appropriate tools • Software development tools • Methodology related tools • configuration/customization • browsing • estimating • project planning/management • workflow management • Communicate, communicate, communicate • Visible executive support • Positive track record (i.e., no “busts”) • Incremental/Iterative implementation of methodology • For XP, start with testing or planning

  37. Usual Causes of Implementation Failure • No clear business objective • Lack of visible leadership/sponsorship • Lack of adequate training • Lack of effective communication • Death by 1000 initiatives • New/Changed roles not implemented • Fail to account for different information needs of “planners” and “doers” • Too detailed for planners • Not enough detail for doers

  38. Today’s Agenda Topic Duration • Quiz 4 recap 15 minutes • Who reads methodology and why 15 minutes • Deployment, adoption, use 60 minutes • *** Break 15 minutes • Current Event Reports 30 minutes • Development tools 60 minutes

  39. Today’s Agenda Topic Duration • Quiz 4 recap 15 minutes • Who reads methodology and why 15 minutes • Deployment, adoption, use 60 minutes • *** Break 15 minutes • Current Event Reports 30 minutes • Development tools 60 minutes

  40. Tools Framework – Overview Security Management Collaborative tools enable groups of people to communicate and to share information. E-mail, video and audio conference calls, and instant messaging are examples of these tools. Configuration Management tools include the version control, migration control and change control of code and documentation. Environment Management tools support the operation of the development environment, such as help desk support and backup/recovery activities. Information Management tools organize and manage information used by other tools. Information types may include code, documentation, test scripts and data and database designs. Problem Management tools assist problem tracking and solution processes. Process Management tools enforce the correct sequencing of tasks and tools in conformance with a pre-defined methodology. Productivity tools provide the basic functionality required to create documents, spreadsheets, and simple graphics or diagrams. Program and Project Management tools assist project planning and help track project status according to plan. Quality Management tools help gather and present product- and process-related metrics, and includes tools like CQMA. Release Management tools manage project dependencies between multiple releases and between different teams working on the same release. Security Management tools secure the development environment and serve as components in the security layer of the solution being developed. System Building tools constitute the core of the development architecture and are used to design, build, and test the system. Release Management Configuration Management System Building Program & Project Mgmt Quality Mgmt Productivity Collaboration Problem Management Environment Management Information Management Process Management Source: Accenture

  41. Analysis & Design Analysis & Design Prototyping Application Logic Design Database Design Presentation Design Communication Design Usability Test Reuse Support Analysis & Design Reverse Engineering Reverse Engineering Interactive Navigation Repository Population Reverse Engineering Graphical Representation Restructuring Extraction Data Name Rationalization Data Modeling Packaged Component Integration Process Modeling Event Modeling Packaged Component Integration Packaged Component Integration Performance Modeling Construction Object Modeling Customization Component Modeling Test Construction Construction Source Code Editor QA Utilities Compiler/Linker/Interpreter Code/Object Libraries Source Code Debugger Media Content Creation Generation Test Test Test Data Management Emulation Tools Test Data Manipulation Test Result Comparison Test Planning Test Coverage Measurement Test Execution SIR Management Performance Management System Building

  42. System Building Application development (AD) for most enterprises' business solutions has become a "two-horse race" — between .NET and Java 2 Platform, Enterprise Edition (J2EE) J2EE • IBM has leadership role • Rational acquisition in late 2002 • Integration of Rational tools with WebSphere application development tools .NET • Microsoft announcing its Visual Studio Team System week of 5/24/04 • Tools from requirements analysis to modeling, design, development, testing, and maintenance • Features a tool, code-named Whitehorse, that will allow programmers to construct an application from a visual representation (model-driven) • Support for service-oriented architectures (aka web services) • “Drag, drop, and connect”

  43. System Building Increasing emphasis on model-driven approaches • Model-driven: Use business terminology to describe what the software is to do • Higher level of abstraction than code • No manual translation required • IBM, Microsoft, Borland all pursuing

  44. System Building Application development is increasingly about assembly rather than coding • By 2007, packaged applications and outsourced development will be the main source of new applications • Result: De-skilling of in-house application development organizations

  45. System Building One of the biggest application development challenges is to address the huge amount of legacy code • Example: CICS/Cobol with IMS or DB2 as DBMS • Primary approach is to “wrap” legacy code with well-defined, component-based interfaces

  46. System Building 80% of new code development is Java and Visual Basic • The number of professional VB developers is approximately 2x the number of professional Java developers • Between 2000 and 2008, number of worldwide Java developers to grow from 1M to 5M

  47. Cobol C# System Building C# demand will increase, C++ and Cobol will decline VB Java C++ Current developer base PowerBuilder Pascal Smalltalk Delphi Future demand Source: Gartner Group

  48. System Building For Java, 35-40% of enterprises use the tools of Borland and IBM • Dubbed “The Magnificent Two” • IBM Visual Age for Java • Borland JBuilder

  49. System Building JavaScript is the most heavily-used scripting language JavaScript Perl VBScript Current developer base ColdFusion JScript Python Future demand Source: Gartner Group

  50. System Building The Eclipse Foundation has far-reaching potential • Extensible, open source architecture • Based on Java and J2EE • Foundation for variety of plug-in modules targeted at application development and deployment • IBM has been main driver • Needs better balance of non-IBM members • Name implies anti-Sun, anti-standards (eclipse=blot out sun) • Sun has its own open source Java architecture called Netbeans.org

More Related