About Me

My photo
Coimbatore ( Tamilnadu), Mumbai, V.V.Nagar ( Gujarat), Tamilnadu, Maharashtra, Gujarat, India
Master of Computer Application from S.P.University - Vallabh Vidhyanagar. Serving as a S/W eng. at Essar Information Technology Ltd.

Wednesday, June 8, 2011

Software Development Frameworks, Process’s, Methods, or Philosophies


  • Agile Software Development
    Extremely popular at the moment, Agile tries to minimize risk by developing software in short iterations. Each iteration is a small project in itself.
    http://www.agilealliance.com/


  • Agile Unified Process (AUP)
    A simplified version of the Rational Unified Process. It is based around four phases: Inception, Elaboration, Construction, Transition.
    http://www.ambysoft.com/unifiedprocess/agileUP.html
    Best Practice
    The best way to get a specific outcome your looking for.


  • Constructionist design methodology (CDM)
    A methodology used to develop cognitive robotics, artificial intelligence systems, and communicative humanoids.
    http://www.mindmakers.org/projects/CDM


  • Cowboy Coding
    Your screwed, well.. I guess unless your trying to learn something new, some quick solution for an extremely small problem, or seeing if something might work.
    http://www.monster.com/


  • Design by Use (DBU)
    A software development technique that helps if your working with multiple teams building components that will be integrated to build a larger system. Communicate early and integrate immediately.


  • Design-Driven Development (D3)
    An Agile process for creating really cool and innovative requirements to build awesome solutions. Works really nicely with SCRUM and XP.


  • Don’t repeat yourself (DRY) or Once and Only Once (O3)
    Process philosophy aimed at reducing duplication.
    http://c2.com/cgi/wiki?DontRepeatYourself


  • Dynamic Systems Development Method (DSDM)
    A framework based originally around Rapid Application Development, now an agile method based around continuous feedback from users and responds nicely to changing requirements.
    http://www.dsdm.org/


  • Extreme Programming (XP)
    A set of rules to run a team based around: Communication, Simplicity, Feedback, Courage, and Respect. This is done by: Coding, Testing, Listening, Designing.
    http://www.extremeprogramming.org/


  • Pair Programming
    An extreme programming practice, works great! Two programmers working side-by-side, alternating turns on the keyboard and mouse, while the other watches and analyzes.
    http://pairprogramming.com/


  • Iterative and Incremental Development
    The idea of developing software systems incrementally, giving time for developers to learn from earlier releases.
    http://c2.com/cgi/wiki/wiki?HistoryOfIterative


  • KISS principle (Keep It Simple, Stupid)
    Everything should be done as simple as possible.


  • MIT Approach (Worse is better)
    Simplicity of the interface is the most important than anything else, even correctness, completeness, and consistency.
    http://dreamsongs.com/WorseIsBetter.html


  • Open Unified Process
    Part of the Eclipse Process Framework, it’s just an implementation of RUP and UP.
    http://www.eclipse.org/epf/


  • Quick-and-Dirty
    A crude solution or programming implementation that is imperfect, inadequate, but solves the problem, or masks the problem, at hand.


  • Rational Unified Process (RUP)
    A well known refinement of the unified process, it is an iterative software development process created by Rational Software Corporation (now a division of IBM).
    http://www.rational.com/


  • Scrum (management)
    Agile methodology wrapping extreme programming.
    http://www.controlchaos.com/


  • Spiral model
    Combines top down and bottom down methodologies.
    http://www.sce.carleton.ca/faculty/ajila/4106-5006/Spiral%20Model%20Boehm.pdf


  • Software Scouting
    Experiment before building (proof of concept, prototypes, mocks, simulations, etc.).


  • Test-driven development (TDD)
    Write test case first, then write code that passes the test.
    http://www.nunit.org/


  • Unified Process
    Iterative and incremental software development process framework that can and should be customized before use by any organization.


  • Waterfall Model
    Requirements, Design, Implementation, Verification, Maintenance.
    http://www.it-director.com/content.php?articleid=12686


  • Worse is better (New Jersey style)
    Simplicity over correctness.
    http://dreamsongs.com/WorseIsBetter.html


  • You Ain’t Gonna Need It (YAGNI)
    Never add functionality until it is necessary.