Agile Methods using the Scrum Process seem built for WordPress Development

Agile methods have a manifesto and development methodology which is gaining traction not just in software development but broader project planning. Agile methods are geared to handling the rapid change required in modern project planning but also to accomodate fast changing tools and methods used to build and deliver projects.

Principles behind the Agile Manifesto

[fac_icon icon=”arrow-circle-right”]Our highest priority is to satisfy customers through early and continuous delivery of working and valuable software.
[fac_icon icon=”arrow-circle-right”]Welcome changing requirements, even late in development.
[fac_icon icon=”arrow-circle-right”]Agile processes harness change for the customer’s competitive advantage.
[fac_icon icon=”arrow-circle-right”]Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
[fac_icon icon=”arrow-circle-right”]Business people and developers must work together daily throughout the project.
[fac_icon icon=”arrow-circle-right”]Build projects around motivated individuals.
[fac_icon icon=”arrow-circle-right”]Give them the environment and support they need and trust them to get the job done.
[fac_icon icon=”arrow-circle-right”]The most efficient and effective method of
conveying information to and within a development team is face-to-face conversation.
[fac_icon icon=”arrow-circle-right”]Working software is the primary measure of progress.
[fac_icon icon=”arrow-circle-right”]Agile processes promote sustainable development.
[fac_icon icon=”arrow-circle-right”]The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
[fac_icon icon=”arrow-circle-right”]Continuous attention to technical excellence and good design enhances agility.
[fac_icon icon=”arrow-circle-right”]Simplicity–the art of maximizing the amount of work not done–is essential.
[fac_icon icon=”arrow-circle-right”]The best architectures, requirements, and designs emerge from self-organizing teams.
[fac_icon icon=”arrow-circle-right”]At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Agile methods of design and devlopment originated in software development in the late 1950-1960’swith  iterative and incremental development at IBM  Services In the 1970 refinements by Edmonds and Tom Gilb brought agile methods to a broader project management task set.In the 1990 to present Agile Methods have been adopted with renewed vigor in the Web Development and Services fields. This has been driven by the rapid change in underlying IT technologies, economic conditions and the need to respond to the  rapidly evolving nature of projects.

Nonetheless some key components of Agile methods have crystallized during this period:
[fac_icon icon=”angle-double-right” color=”#1e73be”] Customer success and satisfaction is derived from early and continuous delivery of working code  of increasing completeness;
[fac_icon icon=”angle-double-right” color=”#1e73be”] Driven by a backlog Business Model with resulting project success measures, a project marks progress by confirming the well-tested operational state of  delivered components and tasks;
[fac_icon icon=”angle-double-right” color=”#1e73be”] Working software increments are delivered in weeks not months embedding changes/fixes based on testing as well as new feature chunks or sprints
[fac_icon icon=”angle-double-right” color=”#1e73be”] Immediate reviews of departures from expected performance measures inform next iteration priorities  allowing responding to changing conditions and requirements
[fac_icon icon=”angle-double-right” color=”#1e73be”] Face-to-face conversation is the best form of co-location communication and decision-making
[fac_icon icon=”angle-double-right” color=”#1e73be”] There is strong, daily colocation cooperation between business customers, management deciders and system developers.
[fac_icon icon=”angle-double-right” color=”#1e73be”] System developers are responsible for continuous attention to technical excellence and good design
[fac_icon icon=”angle-double-right” color=”#1e73be”] Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
As a result a number of Agile Development methodologies have emerged in the past two decades covering not just software development but broader project management.

Agile Development Methologies

Many of these agile  principles have in turn been adopted in ever more sophisticated project planning methods:
Crystal Clear Method uses many agile components in approaching broad innovation design tasks.
Adaptve Software Development concentrates on the messy, challenging components of system design.
Adaptive vs Predictive paper looks in detail at the trade-offs between traditional and agile methods
BADM_Business Analysis Design Method creates a new role, Business Analysis Designer using agile methods
Dynamic System Development Methodology provides Agile’s iterative, incremental discipline to rapid application development technologies
Agile Modeling provides just-enough model planning for Agile methods.
agilemodeling
Agille Modeling results in a more complete modeling practice for Agile development.
Scrum is an Agile method which takes advantage of just enough planning coupled with Kanban modeling an cultivated team collaboration. In parallel, WordPress fits well with Agile methods because its advanced design tools plus componentized themes, plugins and widgets  allow WordPress developers to deliver working code right from the get go for a diverse range of Web Projects. Thus, Scrum and WordPress appear to be a natural fit together.  So how Scrum and WordPress co-operate will be the subject of the rest of this review.

Scrum and WordPress

Scrum is a methodology that adopts many key Agile tenets: daily face to face meetings with customers and developers to review project progress and track departures from expected performance measures; comprehensive testing is an inherent step in the process; delivery of working, tested code in short 1-3 week cycles if not sooner; just enough planning and reporting supported by KanBan and Scrum report tools:
anniemwk
Scrum is clear and flexible so it can be used on large projects as well medium and smaller scale projects that fit many WordPress and/or JavaScript micro-projects. The fit is particularly a natural in the case of WordPress and Scrum:

  1. Swap in – swap out WordPress themes, templates, widgets and plugins allows for rapid prototyping and testing. WordPress developers can be confident they will be able to deliver continual, incremental working code throughout a project;
  2. WordPress interactive frontend development tools make it easy to collaborate with customers in refining a design and reacting to changing conditions and priorities;
  3. Face to face daily meetings will have good Scrum tools to assess project progress; like the KanaBan swimlanes shown above  and other tools for tracking and displaying progress;
  4. WordPress and its plugins have great tools for tracking website usage,  components performance and adoption of design changes to pages. This allows for fast feedback on project measures of success;
  5. WYSIWYG page/post creation tools have restored tarnished WP WYSIWYG luster and made it possible to quickly change page designs and layouts to respond to changing needs;,
  6. A newly emerging set of CSS Styling tools for WordPress ease the burden of making styling changes to WordPress websites again accommodating change more readily;
  7. Rigorous Unit-testing is supported in WordPress which may be vital for reliability critical projects;
  8. WordPress has two free plugins that support Scrum processes.

Kanban for WordPress

kanbanKanban for WordPress provides a classic tasks to-do list with swimmlanes for Ready,In-progress, QA and Done. The resulting Kanban board provides a quick overview of progress on a project. However the Kanban board is viewable only by users that can sign on to the website.

Moving tasks from swimlanes is simplicity itself – just drag and drop. However, viewable real estate is at a premium, so Kanban for WordPress is suitable for small to medium projects. Because users can define projects/sub-projects Kanban offers additional display flexibility. We found it very useful for displaying the mmost active sub-projects in a broader development timeline.

FlowBoard

Flowboard is similar to Kanban for WordPress – it also suupplies swimlane models as seen in the screenshot:
flowboardThe tradeof is that Flowboard does not offfer the same choice of swimlanes as does Kanban. But Flowboard can be displayed in posts especially using CPT-aware plugins. And like Kanban, Flowboard is easy to use and the sticky note interface has the look of many  on the job Scrum boards.

In sum, Scrum provides a natural fit for achieving robust WordPress development using Agile techniques. One of the biggest benefits is aiding the  development steps through the many conversations between developers and end users. However, Agile methods including Scrum do present a number of challenges that potential users will have to be aware of. Here are some of the key concerns about agile methods:

  1. Lack of customer and/or management decider support for the Agile process.It is particularly damaging if the Product owner role is not properly filled. One sided commitment can defeat the open, team conversations vital to agile methods;
  2. Business Models and Planning can be short changed as not enough understanding & delineation of key priorities, risks, and planning outcomes/measure are made;
  3. Too much planning and preparation does not allow for delegation to task-capable personnel trusting they will deliver and/or the daily stand-up will reveal any blockages/problems;
  4. Adding stories/use cases to a project/sprint already  in progress. The most delicate Agile dynamic is adding new requirements. This often requires presence of Product Owner and/or Scrum Master to manage the process;
  5. Assigning tasks is the next Agile process step that is  most fraught  with danger . Too early assignment does not allow team members to display their skills. Too repetitive and boxed does not allow for natural training and learning for other team members. Too much content in a sprint/step may may spread some critical skills too thin.;
  6. Unrealistic trade-offs between Costs, Schedule/Duration, Scope of Taskset, and Quality/Performance. Balancing these variables along with status of progress should be the focus of Daily Stand Up meetings. Out of this comes sub-meeting to engage in problem solving while the rest of the team moves ahead. This is the prime  facilitator challenge for the Scrum Master;
  7. The most common cause of unsuccessful Agile projects is insufficient training and understanding of roles.

Clearly, though there is an amazing fit between WordPress and Scrum’s Agile Project management methods, there is no guarantee that Scrum-based projects will always work well. The challenge will be to understand not only the Scrum cost/benefits but also the basic methods and roles of the process and fit them well to your project.

One Response