Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
October 2002www.qimpro.com1 SIX SIGMA BLACK BELT Summary of Steps.
Why Use Test Driven Development (TDD)?.  Why the need to change to TDD.  Talk about what TDD is.  Talk about the expectations of TDD.
System Analysis (Part 1)
Agile development By Sam Chamberlain. First a bit of history..
1 Design and Integration: Part 1. 2 What’s a metaphor? Ward Cunningham cites George Lakoff’s book, Metaphors We Live By: Lakoff argues that the assumptions.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Introduction.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
Rational Unified Process
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
EXtreme.NET Dr. Neil Roodyn. eXtreme.NET Who is Dr. Neil? MISSION: To increase the value of your Software Business Working with software for way too long.
March 30, Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Systems Analysis and Design in a Changing World, 6th Edition
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Software Development Methods And Some Other Stuff.
Design, Implementation and Maintenance
Chapter 9 – Software Evolution and Maintenance
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Lecture # 22 Software Evolution
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management greene.com 1 Applied Software.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
Managing the development and purchase of information systems (Part 1)
Software Testing Life Cycle
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
By Touseef Tahir Software Testing Basics. Today's Agenda Software Quality assurance Software Testing Software Test cases Software Test Plans Software.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Applied Software Project Management
The Long Tail Why the future of business is selling less of more ▫ISBN = ▫Chris Anderson Low Distribution and Inventory costs allow companies.
Systems Analysis and Design in a Changing World, Fourth Edition
Construction, Testing, Documentation, and Installation Chapters 15 and 16 Info 361: Systems Analysis and Design.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
MIS 7003 MBA Core Course in MIS Professor Akhilesh Bajaj The University of Tulsa Introduction to S/W Engineering © All slides in this presentation Akhilesh.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Advanced S/w Eng - s/w productivity issues 1 Software Productivity Issues Why do software projects fail? Advanced Software Engineering COM360 University.
Applied Software Project Management HOW TO DIAGNOSE AND FIX A TROUBLED SOFTWARE PROJECT Why Software Projects Fail 1.
Phoenix Scrum User Group Simplifying Scrum Online May 21 st 2009.
© 2012 Václav Rajlich Software Engineering: The Current Practice Ch Conclusion of software change The last phase of software change The activities.
Software projects can be managed in terms of 4 variables ● Time ● Scope ● Resources ● Quality.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Week # 4 Quality Assurance Software Quality Engineering 1.
Project Management Software development models & methodologies
Applied Software Testing
Systems Analysis and Design
Applied Software Implementation & Testing
X in [Integration, Delivery, Deployment]
Teaching slides Chapter 1.
Design and Programming
Introduction to Project Management
Software Testing and Maintenance Maintenance and Evolution Overview
Applied Software Project Management
Lecture 06:Software Maintenance
AD642 Project Communication: Intro
Agile Development – a new way of software development?
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software Projects Fail (Part II) How to diagnose and fix a troubled software project

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Iteration Abuse Iteration can be a useful tool, but it is often abused The team uses iteration as a guessing game Programmers deliver build after build; users and stakeholders make small changes to each build Programmers like it because they can dive in Users and stakeholders like it because they dont have to read documents or think about their needs

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Scope Creep After the programming has started, users and stakeholders make changes Each change is easy to describe, so it sounds small and the programmers agree to it Eventually, the project slows to a crawl Its 90% done – with 90% left to go The programmers know that if they had been told from the beginning what to build, they could have built it quickly from the start

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Fixing Requirements Problems When software requirements are not gathered and specified before the software is developed, it causes scope creep and the team resorts to iteration abuse. The team can adopt software requirements engineering practices to write down most of the changes before the work begins A change control process gives them a handle on the few changes that remain

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Haunted by Ghosts of Old Problems Programmers find that old bugs suddenly reappear without warning As the code base grows, it becomes harder to keep control of the source code They may use a shared folder to store source code, but occasionally old copies of files are copied over newer ones

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Broken Builds The programmers deliver a build which does not work – and the testers cant even begin to test it The programmers get frustrated because they feel that they put a lot of effort into testing the build Isnt it the job of the QA team to figure out the build is broken and tell them what to fix? The testers spend hours or days setting up a test environment, only to redo it for the next build

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Spaghetti Code Maintaining old code is the least desirable programming job in many organizations Old, highly modified code turns into a twisted mess of execution paths and patches Spaghetti code is often used as an excuse to do an unnecessary rewrite

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Fixing Programming Problems When the team adopts good programming habits, they can avoid ghosts of old problems, broken builds and spaghetti code. Get control of the source code with version control software like Subversion Use unit tests and test-driven development to increase the quality of the build Use refactoring to keep the code readable

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Requirements Havent Been Implemented The team delivers software missing behavior or even entire features Software is complex, and even with good review practices, its difficult for programmers to fully implement everything Missing requirements are difficult to spot because even the programmer missed them when looking over his own work

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Obvious Bugs Slipped Through Inexperienced testers are expected to just bang on the software Technical support staff, junior programmers, end users, outside temps and sales people are drafted as testers Even when experienced testers are used, they are not given time to plan Decisions about release readiness are made based on the schedule, rather than the quality

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management But It Worked For Us! When a product is not tested in all environments in which it will be used, the tests will be thrown off Defects are missed when testers cant adequately replicate the environment in which the software will be used Test data may not resemble actual production data

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Fixing Testing Problems When code is delivered with too few requirements implemented and too many bugs included, the team needs better testing practices. Software testers must be involved in every stage of development Test planning must be given adequate time on the schedule Sufficient budget must be provided for a testing environment.

Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Common Problems Can Be Avoided! Almost everyone has experienced at least a few of these problems. We know what causes them, and we have tools, techniques and practices that can fix them. All it takes is good project management and sound software engineering… and any project team can do it!