SaaS CRM & ERP blog Global CRM Software
  Blog   |   Team   |   Archives   |   About Me   |   About Aplicor   |   Resources
Online CRM Software Hosted ERP Software

BLOG PERMALINK


 ARCHIVES BY CATEGORY

crm

 

Road To CRM Software Progress


saas

 BLOGROLL

PGreenberg | 56 Group
GovernmentBlogger.com
ERP Blogger
CRMgonewild.com
HaileyBlog.com
MySaaSblog.com

CRMblogguy.com

iblogERP.com

Mark's Software Blog

Tim Jenkins Blog

ITchump

Jesús Hoyos (español)

 

Aplicor ERP & CRM blog

 

 

 


October 26, 2009
line
Aplicor Development Methodology

I've been asked about our software development methodology twice in the last two weeks so I'm going to be a bit more proactive and respond to this periodic question in this blog post.

Aplicor implements multiple software development methodologies as we believe different types of projects can benefit from different approaches. For many client software customization projects we use a fairly traditional waterfall method whereby project phases are well defined into discrete and sequential steps which deliver well specified results. However, for the development of our flagship CRM and ERP solutions we leverage the agile method.

The agile method has advanced nimble and iterative coding practices into a well honed development strategy that produces higher fit software faster. This approach refutes traditional coding practices whereby programmers receive detailed design documents and then go into a lengthy seclusion before unveiling a completed project.

Agile programming creates a symbiotic relationship between the user, designer or business analyst and the developer. This team-based approach focuses on smaller project components with more frequent reviews, called sprints. A more continuous feedback loop facilitates better communication between the end user and the developer, an improved understanding of requirements and more responsive reaction to shifting requirements.

Agile development is clearly picking up momentum. According to a recent Dr. Dobbs Journal, 45 percent of technology organizations surveyed indicate their software development teams have adopted agile techniques.

While we are fans of the agile method, it is not a panacea nor appropriate for all development shops. For many organizations, it is impractical for users to frequently intervene during development projects. Further, there are valid arguments which suggest that the agile method provides a less certain forecast completion date due to more frequent changes and a shifting project scope.

Technorati: ,     Technorati Add to Technorati Favorites
Del.icio.us: ,     del.icio.us icon Save this page to del.icio.us
View CC license
Posted by Chuck Schaeffer on October 26, 2009 in CRM Software & ERP Software
Permalink | Comments (1) | TrackBack (0)

divider

 READER COMMENTS

Agile and extreme programming
What is the difference between agile and extreme programming? What other methods did you consider?
Posted by Frank James on October 27, 2009

Variations of a common framework
Agile really started as an alternative to traditional software programming. In this approach, end-users and developers work together to create a software solution through a series of relatively short iterations generally referred to as sprints.

Extreme programming (XP) is an agile derivative in which two software programmers share coding and over-the-shoulder review duties at a single computer. We experimented with XP, however, found the costs to exceed the benefits. We reviewed a few other development methodologies before settling on agile.

Lean software development extracts practices from the lean manufacturing disciplines. The lean software approach attempts to reduce wasted efforts in the development process, such as excessive administrative overhead and costly commitments to software features that are nice to have but not essential.

Scrum is one of the more popular agile deviations. This method empowers ScrumMasters to manage teams of users and developers in creating and testing the software in iterative cycles.

Spiral development uses an evolutionary series of development iterations where each release results in a reduced scale prototype that approximates the proposed end product. The completion of each iteration cycle provides a fresh opportunity for risk assessment and program changes.

Waterfall programming is a traditional approach that defines the development process into discrete and sequential steps, such as requirements identification, design specification, software development, quality assurance and unit or regression testing. Each step is completed before the next step is commenced. While it remains a popular development practice, it inherits risk for those projects where environmental conditions pose changing conditions during the development cycle. This method also identifies design and coding errors very late in the process.

Trackback Trackback

Trackback URL for this entry: http://www.aplicor.com/blog/091026.htm

divider

Post a comment Post a comment   Comments can be sent to cschaeffer<at>aplicor.com or via the form below.

Comments are moderated and will not appear on this weblog until approved.

Name:
Email Address:
(Not displayed with comment)
Comment:
SaaS Blog Home Blog Home  |  Privacy Policy   |  Use Policy  |  Site Map   |  Section 508  |  FAQ