The DTAP-Street : a phased approach to a development / deployment cycle

The acronym DTAP finds its origin in the words Development, Testing, Acceptance and Production. The DTAP-street is a commonly accepted method to have a phased approach to software development / deployment.

A typical flow works as follows :

  • Development – This environment is where the software is developed. It is the first environment that is used. Changes are very frequent here, as this is the first area where creativity is forged into a product.
  • Test – A developer is (hopefully) not alone. In the test environment, the complete code base is merged and forged into one single product. The first attempts at standardization and alignment towards the future production environment are made here.
  • Acceptation – Once the development team feels that the product is ready, it will be deployed to acceptance. This is a look-alike of the production and used by operations as a staging environment for production releases.
  • Production – The real deal… Here the product surely needs to be ready for prime-time.

dtap-kvaes.be-271014

Sometimes the following are also added ;

  • Education / Training – Sometimes a dedicated environment is needed where people can test drive the software in a safe sand box. Due to efficiency reasons, this environment is often time shared with acceptation.
  • Backup / Disaster Recovery – Disasters can happen… Therefore some disaster recovery plans may rely on a dedicated backup / disaster recovery location.
  • Integration – An environment that is sometimes located between “Test” & “Acceptance” as an intermediate step to test certain partner integrations. Just as with the “eduction” environment, this environment is often time shared with acceptation.

What are the most commonly used formations?

  • Live – Production – Many companies rely solely on a production environment. The risk reduction is often neglected in favor of the cost benefit of having one environment.
  • Staging – Production/Test – If no real customization are done to the implemented software, then two environments may suffice.
  • DTAP – Development/Test/Acceptation/Production – Once customization hit… then a full DTAP-street is needed to reduce the amount of risks involved with software development.
  • DTAPB – Development/Test/Acceptation/Production/Backup – This is an enhanced DTAP-street that is capable of doing a disaster recovery. (Sidenote ; The Test/Development environment is often shared with the backup location. This provides the advantage that the resources of the Test/Development can be sacrificed during a disaster.)

What Code / Data flows occur between the environments?

  • Software Versions – Software releases go from Development to Test to Acceptation to Production… The timing varies from the chose release management cycle, though typical times are as follows ; Development (Continuous Builds), Test (Daily Build), Acceptation (Once per quarter, three weeks before production), Production (Once per quarter)
  • Data – Data flows in the opposite direction as software versions. Data is taken from production and copied to Acceptance / Test / Development. Depending on the environment (and relative security compliancy), the data may be anonymized or even reduced to have a representative production workload of a limited size.

You think your business has it rough?

Macworld features an article called “Ten business lessons from ‘Battlestar Galactica'”

A summary

  • 1. Tech isn’t always the answer. : Totally agree… IT-ers tend to always go for a tech solution where a human solution might suffice!
  • 2. Don’t neglect training. : I guess nobody will disagree here, but companies often don’t see the hidden cost of neglecting to do so.
  • 3. Some things can’t be outsourced. : I’ll repeat it again; Outsourcing is good, but don’t do it on stategical areas!
  • 4. Update your antivirus. : Personally I’d like to see this one renamed to “keep your organization up-to-date”
  • 5. Democracy doesn’t always work. : A simple Project Management lesson; It’s a democracy until the scope is set, then it’s dictatorship!
  • 6. Some problems can’t be killed. : Indeed, not all problems can be killed, just learn to cope with them.
  • 7. Seek strategic alliances with competitors. : So true! Being a stategic game fan, I found that alliances either make or break any outcome of a game. The numerous time I’ve “won”, is always due to making (and breaking!) stategic alliances.
  • 8. Don’t store all your backups in one place. : Better renamed to “don’t put all your eggs in one basket”.
  • 9. The mission can change at any time. : A bit like 4., the world keeps evolving, incorporate that in your strategy.
  • 10. Beware of visionaries. Zealots make bad leaders. – Awh, crap, that’d be against me… 😉

Huddle up!

Huddle is a network of secure online workspaces where you and your team, your customers (even your friends) can come together to work on files, plan projects and collaborate on ideas. Each individual workspace contains files, notes, reminders and information on your project. You can even manage multiple ongoing projects across different teams with huddle.

huddle-up

I came across huddle when looking for a collaboration tool. I found it a very decent solution for groups with a flat structure. You can do the most basic file sharing things at a reasonable price (freemium model, with a fair enterprise pricing model).

In need of a CRM?

Say what?

Customer relationship management (CRM) is a term applied to processes implemented by a company to handle its contact with its customers. CRM software is used to support these processes, storing information on current and prospective customers. Information in the system can be accessed and entered by employees in different departments, such as sales, marketing, customer service, training, professional development, performance management, human resource development, and compensation. Details on any customer contacts can also be stored in the system. The rationale behind this approach is to improve services provided directly to customers and to use the information in the system for targeted marketing While the term is generally used to refer to a software-based approach to handling customer relationships, most CRM software vendors stress that a successful CRM strategy requires a holistic approach. CRM initiatives often fail because implementation was limited to software installation without providing the appropriate motivations for employees to learn, provide input, and take full advantage of the information systems.

(source wikipedia)

Options?
There are several products out there that could get the job done, but just like with all product selections first get an understanding of what you would like to do. Based upon that given feature set you’ll be able to decide which products can be eliminated quite easily. Today I’m going to present four products where two are OpenSource products (with community editions) and two from a SaaS (Software as a Service).

Continue reading “In need of a CRM?”

Scrum & XP from the Trenches

Henrik Kniberg and InfoQ.com offer a free version for download of the book “Scrum & XP from the Trenches“.

This book includes:

  • Practical tips and tricks for most Scrum and XP practices
  • Typical pitfalls and how they were addressed
  • Diagrams and photos illustrating day-to-day work
  • Testing and test-driven development
  • Scaling and coordinating multiple teams
  • Dealing with resistance from inside and outside the team
  • Planning and time estimation techniques
  • Forwards by Jeff Sutherland and Mike Cohn

I’ve enjoyed reading the book and must say that I can recommended it to anyone interested in Scrum!

OpenGoo, potential for small teams

What is OpenGoo?

OpenGoo is an Open Source Web Office. It is a complete solution for every organization to create, collaborate, share and publish all its internal and external documents.

Imagine an OpenSource “Google Apps”… It’s got potential, but it isn’t an easy roadmap to fulfil. Anyway, it might be interesting to keep your eyes on for the future.