Home
   
 
 
Discuss XP, Agile, Java, OOP, ...
   
 
 
Search
 
 
 
Architecture
   
 
 
patterns
 
 
 
Methdology
 
 
 
Java
   
 
 
 
   
   
 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 
 

 
     
   
     
 
 
 
     
 
David Hecksel
Version 1.0
Page First created: March 5, 2004
Last Modified: May 16, 2004

Project Context

A Project Context is an innovative object oriented and pattern driven approach to examining methodology and methodology selection. Below we will focus our energy on applying the Project Context concept to software development, but the concept can be applied to any number of areas. Because I have a passion for software development and am entering my 20th year in the software development industry, this article will focus on the Project Context for Software Development, but the concept is equally applicable to hardware development, homebuilding, project management, service delivery, support services, fundraising, introducing a new product ( technical or consumer ), ...

The Project Context discussion concludes by defining and introducing a re-usable pattern mining framework to help you apply the Project Context concept to areas other than Software Development, even areas in business such as leadership and marketing. Software developers, architects, and project managers will benefit from the concepts introduced within this article and corresponding Whitepaper.

 
     
  Software Development is a tricky business. The standard approach is to treat software development like other engineering projects – with the expectation that engineering level predictive standards are applicable. However, software is different – much different. The differences are driven by:  
     
 
  • The environment of the software development project is ambiguous
  • Project requirements typically change sixty (60) percent once the project vision has been created
  • Technical complexity leads to greater variance – projects often have to be pioneers by implementing a technical solution for the first time
  • Software development is a people intensive process – governed by random and unpredictable events and human behavior
  • Ambiguity of requirements translates to increased project risk. To operate effectively within the environment of “squishy” requirements, iterations are often performed in an attempt to mitigate risk, do what can be done, and get early feedback from the customer. Requirements generate requirements – thus early iterations will likely generate additional project requirements as the customer continues to finalize the definition of what they want.
 
     
  This white paper describes a system and method for selecting a compatible methodology for your project. This document is a white paper version of a patent titled “System and Method for Software Methodology Evaluation and Selection”. The article will state seven critical elements of the patent. For further information on these elements, please download the soon to be available whitepaper on the subject.  
     
  The seven critical elements are:  
     
 
  1. The definition and description of the term Project Context. Taking a Copernican view, the Project Context is placed in the center of the universe for all relevant software project discussions. By taking an OO approach to describing a project, we discuss multiple components of a Project Context including People, Process, and Technology. Each component has multiple attributes whose values have predictive insight on the successful outcome of a software development project.
  2. Creating and defining a methodology model. A methodology model not only has a data element for each attribute of a project context, but also defines shadow minimum and maximum compatibility range data elements for each project context attribute
  3. Using simulation along with the techniques of mathematical statistics, regression analysis, and statistical forecasting on the Project Context
  4. The proposition that a scoring interface exists for each methodology model
  5. The concept and creation of a methodology compatibility matrix
  6. Defining the existence of a methodology pattern framework for a software development project context
  7. Specification and definition of a re-usable rule and pattern-mining framework (useful for any subject matter)
 
     
  Other interesting items are the creation and definition of an Agility Index (officially the "Hecksel Agility Index"), and the composite attribute items, like Communication Index.  
     
  The whitepaper can be viewed online here  
     
  Click here for System and Method for Methodology Selection Whitepaper