One popular topic in the discussion thread is the definition of success and failure. How do we know when a project is one or the other? Some of the more obvious ways of measuring success follow:Has the project satisfied the business requirements of the primary stakeholders?Were the deliverables produced on time and within the budget (as amended by formal change control)?Do the business owners believe the project was successful?Has the project delivered the business value promised?
Traditional Testing Model:Separate test group from developmentTests are derived from detailed requirements instead of being part of requirementsTesting is conducted after development is completeDefects are written to communicate with developersDevelopers and Testers are working against each otherAutomation is a nice-to-have instead of a must-have
Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. The term was coined in the year 2001 when the Agile Manifesto was formulated.
Extreme Programming (XP)CrystalAdaptive Software Development (ASD)ScrumFeature Driven Development (FDD)Dynamic Systems Development Method(DSDM)
Scrum is an iterative, incremental framework for project management and agile software development.“Scrum Master”, who maintains the processes (typically in lieu of a project manager) “Product Owner”, who represents the stakeholders, represents the business “Team”, a cross-functional group of about 7 people who do the actual analysis, design, implementation, testing, etc.
There was an important job to be done andEverybody wassure Somebody would do it.Anybody could have done it, but Nobody did it.Somebody got angry about that because it wasEverybody’s job. Everybody thought Somebody could do it butNobody realized Everybodywouldn’t do it.In the end Everybody blamed SomebodyWhen Nobody did what Anybody could havedone.