Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.

Slides:



Advertisements
Similar presentations
Applying Agile Methodologies to Traditional Publishing Kristen McLean Bookigee, Inc. February 12 th, 2011.
Advertisements

Agile Software Development Robert Moore Senior Developer Curtin University.
SharePoint Project Management. EPM Live provides Microsoft-Base Project Management solutions that allow individuals, teams, workgroups, and organizations.
HP Quality Center Overview.
Eralp Erat Senior Software Developer MCP,MCAD.NET,MCSD.NET.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Eric Nickell.  History  What is Feature Driven Development?  What is a Feature?  Feature Driven Development Roles ◦ Class Ownership  Feature Driven.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Software Life Cycles ECE 417/617: Elements of Software Engineering
Visual Studio Team System (VSTS). Richard Hundhausen Author of software development books Microsoft Regional Director Microsoft MVP (VSTS) MCT, MCSD,
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Team System and Microsoft Solutions Framework Team collaboration tools Process authoring Process Guidance MSF-Agile & MSF-CMMI Software Factories Future.
Agile Software Development Matt Rice November 27, 2006.
Team System and Microsoft Solutions Framework Alan Cameron Wills Architect, MSF
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Visual Studio 2005 Team System: Software Project Management Hans Verbeeck
, TargetProcesswww.targetprocess.com1 TargetProcess:Suite Agile Project Management System Powers iterative development Focuses on Project Planning,
PopMedNet Software Development Life Cycle Chayim Herzig-Marx Harvard Pilgrim Health Care Institute Daniel Dee Lincoln Peak Partners.
Welcome to the Minnesota SharePoint User Group. Introductions / Overview Project Tracking / Management / Collaboration via SharePoint Multiple Audiences.
Visual Studio 2005 Team System: Enterprise Class Source Control & Work Item Tracking Ajay Sudan Microsoft Corporation
Chapter : Software Process
Complete and Integrated Lifecycle Management. Challenges 1.
MSF for Agile Software Development Granville Miller 8 November 2005.
Development Best Practices Concepts & Microsoft’s Approach.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
CompSci 230 Software Design and Construction
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Testing Life Cycle
Project Workflow. How do you do it? -Discussion-
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
DEV 303 Visual Studio "Whidbey" Enterprise Tools: Source Control and Work Item Tracking Brian Harry Product Unit Manager Microsoft Visual Studio.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Visual Studio 2005 Team System: Enabling Better Software Through Testing Tejasvi Kumar Technology Specialist - VSTS Microsoft Corporation
MSF 4.0 for Agile Software Development Ron Tolido Capgemini.
Visual Studio 2005 Team System: Software Project Management Brian A White Microsoft
Software Testing Process
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Using Scrum to Improve Teamwork, Communication, Quality and Speed
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Illuminating Britelite’s Internal Services for Success Strategy for Process Improvement.
1 Introduction Bindia Hallauer & Ajay Sudan Product Management, Visual Studio Team System Microsoft Corporation.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Class-oriented metrics – Weighted methods per class, depth of the inheritance tree, number of children, coupling, response for class, lack of cohesion.
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
P ERSONAL & TEAM PROCESS MODELS Lecture 05 Part -2.
Using Scrum to Improve Teamwork, Communication, Quality and Speed.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Chapter 2- Software Development Process  Product Components  Software Project Staff  Software Development Lifecycle Models.
Project Workflow.
The Value of Managing the Review Process
Where Agile Business Meets Agile Development
Agile Software Development Brian Moseley.
1.Introduction to Rational Unified Process (RUP)
Introduction to Team Foundation Server 2010
Introduction to Software Engineering
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Improving Process for Better Software

Who We Are An experiential learning program that provides technology solutions for our partners, and real- world experience for our students Housed within the College of Business at Oregon State University Two components: –Hardware & software product testing –Custom software application development Made up of 6 full-time staff and between 40 and 50 Student Interns

Where We Began Curriculum Workflow, Our First.NET Application –No Defined Process –Two Developers Just Getting it Done –Valued Client Interaction and Feedback Catalog & Schedule of Classes –First Application with Many Developers (6-8) –Still No Defined Process –Daily Progress Updates and TODO Lists –Valued Client Interaction and Feedback –Introduced Source Control

Where We Began Discover Requirements Via User Feedback Develop The Application Publish The Application

What We Were Missing Documentation & Code Standards –Result: miscommunication of requirements and code that is difficult to maintain. Testing –Result: users perception of the system skewed since they tested it, and quality issues. Defect Tracking –Result: bugs slip through the cracks after they had been identified, and quality issues. Task Tracking –Result: unable to manage large numbers of developers and keep them on task. –Result: no metrics upon completion on the effort put into the project, which leads to an inability to make better estimates of future projects.

Why Did it Work Small Shop Documentation –Advantage: fewer communication issues amongst developers and access to the author of code eases code maintenance. Testing & Defect Tracking –Advantage: respond quickly to issues and little overhead allowing more individual developer resource to be applied to a single project. Quick bug fixing improves user perception of the system. Task Tracking –Advantage: focus on the project without being distracted by other projects allowing tasks to be completed without much tracking.

Where We Are Today 3 Full Time Staff and 19 Student Interns 10 Active Projects, 1 Project Not Started 4 Projects In Bid 15 Projects in Maintenance Advantages of a Small Shop Are Gone

Team Foundation Server Bringing the Team Together

What is TFS? Connects developers, testers, managers, analysts by creating “a global, collaborative environment for the entire team.” Version Control Work Item Tracking Build Automation Team Communications Reporting

Process Templates MSF Agile –Relies on team member responsibility –Focuses more on the project –Less rigid MSF CMMI Process Improvement –Software Engineering Institute’s (SEI) Capability Maturity Model Integration (CMMI) level 3 with transition to level 5 –Focuses more on the organization –More formal process requirements and measurements

Review of Agile As stated at “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.”

MSF Agile Concepts Roles –Business Analyst –Project Manager –Architect –Developer –Tester –Release Manager Work Items –Individual Work Activities Used to Track Assignment and Status –Types Scenario Quality of Service Requirement Risk Task Bug Work Streams – A Group of Activities (can include work items) –Can Cross Multiple Roles

MSF Agile Process Guidance

Where We Will Be Documentation & Code Standards –Defined scenarios for capturing requirements and static code analysis and reviews will help improve communication and code maintainability. Testing –Integrating testing from the beginning at the unit and system levels will help create quality code. Defect Tracking –Bug work items will help keep bugs from slipping through the cracks improving the quality of the applications. Task Tracking –Task work items will help communicate to the team what needs to be done and allow project managers to track progress and keep the customer informed.