1 / 40

An Experience-Based Approach to Software Process Adaptation and Refinement

Omaha Spin. 2. Overview. Process-based knowledge managementprocess tailoring and refinementrules define when processes and tasks are applicablecollective ownership of the processBORE: a methodology generatorMultiple views of a projectintegrating documentation, process, schedule, and tasksfocu

kasen
Download Presentation

An Experience-Based Approach to Software Process Adaptation and Refinement

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. An Experience-Based Approach to Software Process Adaptation and Refinement Dr. Scott Henninger Associate Professor, Computer Science and Engineering University of Nebraska-Lincoln President, Adaptive Process Technologies

    2. Omaha Spin 2 Overview Process-based knowledge management process tailoring and refinement rules define when processes and tasks are applicable collective ownership of the process BORE: a methodology generator Multiple views of a project integrating documentation, process, schedule, and tasks focus on design, development, testing, etc. tasks tools for managers and developers Conclusions and future work current evaluation settings combining design patterns and the Semantic Web

    3. Omaha Spin 3 Development Methodologies Standard methodology frameworks and and standards produced to reach a wide audience therefore aim at the least common denominator not always sufficient information to accomplish a task quickly become outdated fast pace of business and technology changes The reality followed for auditing purposes it’s just paperwork, pure overhead level of abstraction too abstract to inform developers even so, the information can be copious not everything is appropriate for every project basis for determining project-specific criteria is lacking

    4. Omaha Spin 4 Heavyweight and Lightweight Processes Heavyweight methodologies normally document and management-driven normally set up to achieve consistency but consistency in the face if change can be dysfunctional Lightweight process minimize document and design burden designed to change quickly often confused with the term “agile” too much change can lead to chaos IT experience with teams “adapting” CSC processes more difficult to achieve process improvement Every project has elements of both need means to migrate gradually criteria for which process is applicable for a given project

    5. Omaha Spin 5 Overall Research Objectives Turn defined process into a repository of best practices use process to show how others have performed the tasks building an organization-specific knowledge base Collective ownership of the methodology process modified through practice experiences collected while executing process …and developing software collecting and disseminating lessons learned

    6. Omaha Spin 6 BORE Building a Organizational Repository of Experiences using process to organize, extend, and refine knowledge capturing the context for using different techniques Framework for building methodologies process represented at the task level multiple tasks and dependencies represent a process model each methodology represented by: tasks and dependencies rules for when the tasks apply projects create instances of the methodology differ in the options chosen and documentation

    7. Overall Approach Process tailoring (project level) define applicability rules for tasks “if there are significant technical risks” “document the risks, perform prototyping tasks” deliver development resources “when performing client-side database access, use the mediator pattern to encapsulate calls to the database server” Flexible software process (organization level) using process to disseminate best practices more detailed knowledge than process standards capture more than the least common denominator supporting process diversity tailor process to specific project needs document project-specific issues

    8. Omaha Spin 8 BORE Methodology-Based Projects

    9. Omaha Spin 9 Tailoring the Methodology Each project creates an instance of the methodology

    10. Omaha Spin 10 Tailoring Rules Tailoring to specific project needs capture context in rules under these conditions, assign this task can be high-level, or very detailed really capturing project decisions, requirements rules used for capturing context …not constraining developers, managers, other stakeholders Rule-based engine preconditions: question/answer pairs actions: assign tasks, other actions

    11. Omaha Spin 11 Process Evolution

    12. Omaha Spin 12 Organization-Level Process Refinement Methodology will never cover all projects … I.e. can never assume perfect knowledge must evolve with the changing business domain each project will extend the repository Teams can deviate from the process when current rules/tasks don’t apply provide deviation rationale review the deviation Extending the expert system paradigm rules as a resource for human action collaborative creation of rules continues to learn through use

    13. Omaha Spin 13 Deviation Process Ways to deviate from the methodology in a methodology-based project… add a new task anywhere delete a project task System opens the case to a “deviation rationale” tab record reasons why you need to add/delete the task if user cancels, task is not added/deleted Case is marked as “Provisional” case can be edited by project immediately don’t have to wait for approval

    14. Omaha Spin 14 Deviating from the Methodology Red square indicates provisional delete Green square indicates provisional add

    15. Omaha Spin 15 SEPG Group (or Person) Methodology manager sees list of process deviations can approve or reject deviations if rejected, case marked for deletion/undeleted looks for “trailblazer” projects to create new processes i.e. new parts of the methodology Manager can be anyone with proper privileges as lightweight or heavyweight as needed project manager, organization-wide process manager even developers, if desirable

    16. Omaha Spin 16 Approval Process Manager sees methodology, projects chooses project can go back and forth between deviation list and project

    17. Omaha Spin 17 Accepting and Analyzing Deviations View all deviations for methodology in projects …other views are needed

    18. Omaha Spin 18 Deviation Rationale Idea is to set the context for the deviation process custodian can choose to turn rationale into rules Example of good deviation rationale “Because there was considerable risk in requirements volatility, we added tasks for working with the user to resolve and document requirements issues” if risk in requirements = high then add tasks for negotiating and documenting requirements may even want to be more specific… Use deviations as an “opportunity for learning” can view all deviations for a methodology look for trends, gaps, etc.

    19. Omaha Spin 19 Three Project Views in BORE Task, Timeline, and Documents all generated from same integrated database

    20. Omaha Spin 20 Keeping Methodology Current Methodology embedded in hierarchy change in BORE Methodology Task changes assigned tasks versioning policies being created

    21. Omaha Spin 21 Document Generation Templates to generate documents from tasks canned templates for project to use and adapt smart incorporation of iterations i.e. use task from most recent iteration documentation largely a matter of choosing which tasks to include and where (some of this is in the works – next 2-3 weeks) Custom views of document create document and save project or individual viewable put all “success model” tasks in one document all sections with database implications, etc.

    22. Omaha Spin 22 Project Schedules Tasks have dependencies, start and end dates use to convert to a Gantt chart MS Project interface export data to Project edit in Project, import into BORE (working soon) other interfaces possible Workbench, etc. General idea is to center information in BORE use other tools for display purposes (and some editing capabilities as well)

    23. Omaha Spin 23 BORE Task Dependency Tab

    24. Omaha Spin 24 Attaching Templates Templates placed in methodology tasks copied to projects filled out by projects

    25. Omaha Spin 25 Other Features Embedded CM – Change Task Manager used to build BORE front-end to automate aspects of CVS integration with defect reports & enhancements is next Roles and task owners rules can assign tasks to roles project enactment maps people to roles Task Finder displays current open tasks (& general queries) Personal Space (Bookmarks) create links to tasks also create tasks (information holders) private to user

    26. Omaha Spin 26 BORE Evaluation Have developed about 10 methodologies most in part – most comprehensive is USC CS 577 MBASE (MBASE – Model-Based System Architecting and SE) (Boehm & Port, http://sunset.usc.edu/research/MBASE/mbase_main.html#papers) Current academic users Univ. Southern California (USC) year-long course taught by Dr. Barry Boehm develop digital library projects, some others have implemented their methodology (MBASE) in BORE are running various research projects in BORE (NASA, DoD, etc.) Software Design Studio at UNL JD Edwards Honors program 7 teams developing software for industry clients emphasis on business software

    27. Omaha Spin 27 Software Design Studio Process Combination of Agile, MBASE and RUP MBASE and RUP closely related 3 week risk-based iterations assess risks, plan next 3 weeks in detail, etc. keep current task and backlog lists prototype early, keep working version of system available 4 major milestones (anchor points) Project Initiation Elaboration/Requirements Construction Transition (no Support, etc.) Use Case-driven design documents developed via task list

    28. Omaha Spin 28 Example SDS Team Task breakdown tasks and subtasks Status indicated by colored icon blue: resolved green: active open green:open red: open/critical

    29. Omaha Spin 29 BORE Evaluation (con’t) Industry users Gallup – pilot project starting this week Jet Propulsion Laboratory process for using land rover framework Mutual of Omaha (very interested, but a maybe) Overall assessment framework is flexible enough to implement a wide range of processes knowledge management potential is high all project information in one place (not separate databases) need to incorporate more development knowledge (patterns, etc.) some questions on documentation burden seems to reduce burden overall by focusing on tasks, not documents still just an advanced prototype…

    30. Omaha Spin 30 Current System Status BORE prototype http://cse-ferg41.unl.edu/bore.html log in as ‘guest’ (no password) Currently being evaluated at Gallup Labs small IT shop very intolerant of quality breakdowns Academic settings USC CS577 course – implemented MBASE in BORE UNL Software Design Studio both develop for external clients interface and functionality feedback have been invaluable

    31. Omaha Spin 31 Future Research Directions Pattern languages deliver pattern choices as knowledge structures I.e. point people to the most applicable patterns base design choices on pattern choices initial concentration on usability patterns Semantic Web use as representational medium for tasks, reusable process models representation of relationships, constraints create an interconnected pattern “language” inferencing capabilities WWW dissemination and reuse

    32. Omaha Spin 32 Future Research (con’t) Augmenting rules with Case-Based Reasoning i.e. find processes meeting current criteria rules are used as a representation of requirements find projects with similar characteristics, use and adapt the process used need metrics to measure “success”

    33. Omaha Spin 33 Next Steps Assessment of CMMI compliance I.e. how was is it to implement CMMI PAs largely an empirical question – will implement some templates work begins in earnest once Process Models implemented use rules, inference mechanisms, to fit PA instances to projects Further validation of the tool difficult to do artificially – need more pilot projects have learned much from USC, Design Studio, Gallup can easily work with partially completed projects embed current artifacts (including schedule) in BORE use BORE to manage project & deliver information to developers continue to refine BORE to meet project needs bottom-up capture of effective work practice

    34. Omaha Spin 34 Adaptive Process Technologies UNL spin-off http://www.AdaptiveProcessTechnology.com focus on adaptive process models i.e. methodologies that adapt to project and organizational needs more than templates – organization evolves the process Business Models continued University research patterns, Semantic Web, case-based reasoning partnerships for system refinement Small Business Innovative Research (SBIR) grant from NSF, starting Jan 1 2003 may migrate to J2EE (.NET??) environment

    35. Omaha Spin 35 APT Business Model Currently developing business model and case research need, feasibility, competitors, price points, etc. Provide BORE tool and training provide tool (with templates) and train to evolve process -or- contract to provide process oversight BORE ASP BORE can support multiple independent methodologies access control at organizational, methodology, and task levels Adaptive process consulting help organizations adapt methodologies to meet their needs process evolution and improvement

    36. Omaha Spin 36 BORE and CMMI Supports either staged or continuous models BORE works at Process Area level can therefore define by capability or maturity each Process Area represented by a “Process Model” Process Model is a set of tasks and relationships incorporated in BORE soon (including rule scoping) can support many models conforming to PA specs rules help choose which model to use to meet a PA Example: quantitative project management handled by rules if task overruns by x% …add additional risk mitigation tasks and/or corrective analysis tasks

    37. Omaha Spin 37 BORE and CMMI (con’t) Provides two levels of process specification Process Areas: sets of standard tasks Tasks: specific tasks to be enacted can be more specific than PAs for ex: “Requirements Development using Use Cases” even “Use Cases for data-intensive applications” rules guard against information overload do not need to know entire process to use it just what is necessary for your project! Specific goals and practices represented in tasks each project is then a “case” of the practice/goal for example, ProjectX’s Use Cases for “Requirements Development using Use Cases” opportunity for reusing (an improving) best practices

    38. Omaha Spin 38 Software Development Resources Document management attach documents to tasks templates and other standard documents ancillary resources guidelines, design pattern, etc. Context-specific information delivery information alerting cannot assume people always know what information exists need to know something exists before people will search for it search engines are still valuable but should be the tool of last resort takes people out of their normal workflow

    39. Omaha Spin 39 Institutionalizing a Tool Like BORE Collective ownership of the process Institutional overhead process expertise (already in most organizations) process repository librarian (a CMM Level 3 requirement) Project reviews (already practiced) added burden of reviewing tool effectiveness formal means of reviewing project requirements

    40. Omaha Spin 40 task View

    41. Omaha Spin 41 Take Aways Integration of Process and Knowledge Delivery flexible process to meet diverse project needs knowledge attached to tasks across projects capture best practices and the applicability context push model for best practices Collective ownership of process initial seed by process group process group oversees disciplined evolution and specialization Integration of tasks, process, project management, and documentation all within the context of developing the software/system

More Related