1 / 14

Improving Process for Better Software

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:

beryl
Download Presentation

Improving Process for Better Software

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. Improving Process for Better Software

  2. 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

  3. 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

  4. Where We Began

  5. 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.

  6. 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.

  7. 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

  8. Team Foundation Server Bringing the Team Together

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

  10. 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

  11. Review of Agile • As stated at www.agilemanifesto.org: “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 toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding 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.”

  12. 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

  13. MSF Agile Process Guidance

  14. 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.

More Related