Support

Forums

Contact Me

Posts Tagged 'agile'

Agile

Agile can refer to: [http://en.wikipedia.org/wiki/Agile]

Kent Beck

Kent Beck "I'm not a great programmer; I'm just a good programmer with great habits." 
Articles tagged

Agile Scrum anti patterns

Really worth reading if you are experiencing Agile Scrum development.

800px-Scrum_process.svg 

I do think AGILE and SCRUM has its place.  It is just that I believe this place is running projects under 5 people and delivery durations of less than 6 months. At that level, employing the right people with the right skills and motivation frequently guarantees that MAGIC will occur. The new media industry proves this everyday, irrespective of approach /method used. Good people always have the potential to overcome deficiencies with methods /approaches and poor management. I have seen it time and time again.

From AGILE /SCRUM Fails to get to grips with Human Psychology.
Posted by Kevin Brady on Thu 17th August 2006 at 03:10 PM, Filed in Software Dev Methodologies,  Key Articles

This is what I would call 

anti patterns for Scrum

I think you can learn a lot more from these anti scrum pattern failures than from success stories. The path to success is narrower than you may think!, and you can be on a parallel road leading to a failure. Take also time to read all the comments, some are really interesting.

What is the most interesting is this article was written in 2006!

AGILE /SCRUM Fails to get to grips with Human Psychology.

Agile Testing Poster

Agile testing is a software testing practice that follows the principles of agile software development. Agile testing is built upon the philosophy that testers need to adapt to rapid deployment cycles and changes in testing patterns. Providing and getting feedback early, fast and regularly is one of the testers main task.

AgileTestingPoster

From http://bbv.ch/images/bbv/pdf/downloads/poster/bbv12_poster_agile_testing_1.0_web.pdf

You can order a print version at http://www.bbv.ch/de/posterbestellung.html

Find more at http://bbv.ch/de/unternehmen/publikationen.html

Understand Agile Development Methods with the Agile Development Poster

Creating software with the agile development process delivers finished products quickly in fast changing and uncertain project environments. While agile development describes several iterative and incremental software development methods, they all involve continuous planning, continuous testing and continuous integration. (don’t under estimate effort to reach this prior to try to be agile)

All agile development methods focus on helping teams to collaborate and make decisions quickly and effectively. The most popular agile methodologies is now Scrum that is resumed in the poster below.AgilePoster.ai

Thanks to Agile software development, you will be able to accelerates the delivery of initial business value. Through continuous planning and feedback, agile development ensures that value continues to be maximized throughout the development process.

(Version One, 2009)

Continuous build for Joomla! part1/x

Automatic installation of Joomla! runtime environments

Main ideas

Build is scalable

Distributed build management optimize hardware resources utilization by parallelizing product builds within the build agents grid. With build chains support, it is even possible to break down a single build procedure into several parts to run them on different build agents — both in sequence and in parallel — using the same set of sources in all of them.

I want to be able to test my components against many versions of Joomla!

All versions of Joomla! are in subversion as zip files in an own SVN repository

For example:

  • ${JOOMLA15_VCS_ROOT}  is svn:\\localhost\joomla1.5\trunk
  • ${JOOMLA10_VCS_ROOT}  is svn:\\localhost\joomla1.0\trunk

These repository ${JOOMLAxx_VCS_ROOT} are connected to all build as supplementary VCS root in TeamCity and thus content get checked out as part of the build in the build temporary directory of one agent. ($AGENT_BUILD_DIR)

joomla1.5\trunk
                            Joomla_1.5.4-Stable-Full_Package.zip
                            Joomla_1.5.5-Stable-Full_Package.zip
                            Joomla_1.5.6-Stable-Full_Package.zip
                            Joomla_1.5.7-Stable-Full_Package.zip
                            Joomla_1.5.8-Stable-Full_Package.zip

So after the checkout, the file system will look like

($AGENT_BUILD_DIR)\                     

                                 Joomla_1.5.4-Stable-Full_Package.zip
                            Joomla_1.5.5-Stable-Full_Package.zip
                            Joomla_1.5.6-Stable-Full_Package.zip
                            Joomla_1.5.7-Stable-Full_Package.zip
                            Joomla_1.5.8-Stable-Full_Package.zip

If you don't want to provide support a a specific version of Joomla! just remove it from the trunk! or add new ones on purpose. That's easy.

Ant tasks/Maven MOJO

  • Are responsible for unpacking all these zip files to the build temporary agent directory. ($AGENT_BUILD_DIR).
  • Filenames are found with a configurable regular expression,
  • All settings will be committed in \joomla1.5\trunk\build.deploy.properties

Another ant script/task will for each zip,

  • Start a Selenium test cases that will create a virtual user that use the regular Joomla! installer and drive installation till the end.
  • All settings which have to be Joomla! and build independent will be randomly generated, preferably UUID for password and database name for example.
  • Login and Admin password may be the same (admin:admin) at the beginning but can also be generated and written to a file on disk in ($BUILD_DIR)/{joomlarootversion}/build.install.properties.
  • Directory installation ($BUILD_DIR)/{joomlarootversion}/installation will be renamed to ($BUILD_DIR)/{joomlarootversion}/installation.old or simply deleted
  • Selenium/PHP Unit test that are committed in \joomla1.5\trunk\Installation.Checks will perform basic checks (login, logout, navigate) to ensure that installation of Joomla! has been successful.
    If everything succeed, we will have a set of Joomla! versions ready for our components regression testing.

Remarks:

  • No build temporary directory. ($AGENT_BUILD_DIR) will be deleted by Ant or Maven but by the build server itself. This will let developer look at the issues on file system and in database.
  • New scripts may be developed to extract from the build server or Joomla! farm easily the non running Joomla! instance files + database) so developers can install the broken setup locally.

Automatic deployment of Joomla! components

Your component is typically shared and many developer committed regularly in a different VCS root... For SecurityImages 5.x.y, subversion root may be  svn:\\localhost\securityimages5\trunk

This VCS root is also attached to the build and get check out at build time by TeamCity.

Packaging

if a build.xml is present in {VCS_ROOT}\build.xml then it is executed prior to any further operations, purpose of build.xml is to produce a component binary distribution (zip or tar.gz) that can be then installed to ALL Joomla install in the agent root directory.

Deployment

if a deploy.xml is present in {VCS_ROOT}\deploy.xml then it is executed, purpose of deploy.xml is to deploy one or many component binary distribution (zip or tar.gz) to ALL Joomla install in the agent root directory.

Why one or many component?

I want to be able to track also component dependencies issues.

Lets say that SecurityImages does not play well with VirtueMart, I may want to test also that combination across Joomla! instances, that's why VirtueMart may have to be deployed with SecurityImages or not.

prerequisites:

  • Running SVN server, see HERE for installing it on windows
  • Installed JVM, latest JDK 1.6u10
  • Running TeamCity server
  • Running XAMPP with HTTP root directory at TeamCity agent root directory.
  • Apache ANT with additional library for more control (if, case, for loop)

This articles will be available in my WIKI soon http://wiki.waltercedric.com/index.php?title=ContinuousBuildforJoomla so any reader or developer can participate to the discussion, next step is to implement the above and that will e documented as well :-)

Atlassian just acquired GreenHopper

greenhoppertaskboard

Atlassian just acquired GreenHopper, a popular JIRA plugin with over 800 customers.

GreenHopper is a JIRA plug-in that adds a broad collection of agile project management capabilities to JIRA, and extends JIRA as a powerful platform for agile development teams. GreenHopper simplifies the planning and organization of tasks, workflows and reporting for agile teams.

It introduce in JIRA

  • Card management:  Visualise issues, tasks and user stories as graphical "cards", color-coded and dynamically editable.

  • Planning Board: Quickly create, assemble, sort and prioritize project tasks with drag-and-drop simplicity.

  • Task Board: Track progress through simple, graphical views of remaining tasks across projects and teams.

  • Chart Board: Customizable dashboard, dynamic burn down and burn up charts.

Learn all about GreenHopper at www.atlassian.com/greenhopper. Unfortunately it is not a free extension… ($700 to $1150 to add to JIRA)

Defunct Scrum - A collection of everything wrong with Scrum.

Scrum is an iterative, incremental framework for project management and agile software development.
Although Scrum was intended for management of software development projects, it can be used to run software maintenance teams, or as a general project/program management approach.

And now visit the funny Scrum cartoons

Scrumtoon33 

Scrumtoon31

http://defunctscrum.blogspot.com/

And there is a lot more HERE :-)

QUALITY DRIVEN DEVELOPMENT POSTER

AgileRequirementEngineeringPoster

From http://bbv.ch/images/bbv/pdf/downloads/poster/bbv11_poster_agile_re.pdf

You can order a print version at http://www.bbv.ch/de/posterbestellung.html

Find more at http://bbv.ch/de/unternehmen/publikationen.html

Principles behind the Agile Manifesto

PrinciplesBehindTheAgileManifesto

We follow these principles:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Read more: Principles behind the Agile Manifesto

ContinuousBuild4Joomla project submitted to JoomlaCode.org

I will commit soon a first draft (alpha) of what is expected to bring continuous build to any Joomla! component (or event to Joomla! core itself ;-))

You are free to join the project, all documentation effort stay at the moment in my WIKI

 

Donations

Thank You for supporting my work