CakeDC Blog

TIPS, INSIGHTS AND THE LATEST FROM THE EXPERTS BEHIND CAKEPHP

A quick guide to agile development - why it has become such an important concept

Agile has been around for a while, but recently it has come back into focus. But what is agile development and why has it become such an important concept? It has become such a buzz word but do you really know what it means or why it could be a great addition to your development process?

Agile is a project management term that uses short development cycles, or iterations, to focus on continuous improvement in the development of a product or service.

Agile was originally developed to improve the development process - allowing it to rapidly identify and adjust for issues and defects. A major benefit is that it allows development to keep ahead of customer expectations, competition etc.

 There are 12 key principles that guide an agile project

  1. Customer satisfaction is always the highest priority; achieved through rapid and continuous delivery.

  2. Changing environments are embraced at any stage of the process to provide the customer with a competitive advantage.

  3. A product or service is delivered with higher frequency.

  4. Stakeholders and developers closely collaborate on a daily basis.

  5. All stakeholders and team members remain motivated for optimal project outcomes, while teams are provided with all the necessary tools and support, and trusted to accomplish project goals.

  6. Face-to-face meetings are deemed the most efficient and effective format for project success.

  7. A final working product is the ultimate measure of success.

  8. Sustainable development is accomplished through agile processes whereby development teams and stakeholders are able to maintain a constant and ongoing pace.

  9. Agility is enhanced through a continuous focus on technical excellence and proper design.

  10. Simplicity is an essential element.

  11. Self-organizing teams are most likely to develop the best architectures, designs and meet requirements.

  12. Regular intervals are used by teams to improve efficiency through fining tuning behaviors.

 Many industries actually make use of an agile development process and follow these key principles. It is highly collaborative and is seen to be more efficient.

Some of the more popular agile methods used are

  • Scrum

  • Kanban

  • Lean (LN)

  • Dynamic System Development Model, (DSDM)

  • Extreme Programming (XP)

  • Crystal

  • Adaptive software development (ASD)

  • Agile Unified Process (AUP)

  • Crystal Clear methods

  • Disciplined agile delivery

  • Feature-driven development (FDD)

  • Scrumban

  • RAD(Rapid Application Development)

While agile development has many advantages, it also has a few disadvantages - it certainly is not for every project or project team. It also favors developers, project teams and customer goals, not necessarily the end user’s experience.

Latest articles

Navigation options for improved usability

Ease of navigation is closely linked to user experience - it can make or break how the user interacts with your website. From being able to find and use your navigation menu, through to the user being able to find the information they are looking for, it is important to ensure your navigation options are cleverly designed and stick to best practices.   If visitors are having difficulty with your navigation options, you are missing an opportunity to either create a conversion, delight your customer or engage a potential client.   When it comes to your website usability, here are some things you can focus on to ensure your site’s navigation is a user-friendly one:   1.     Keep it simple While this one may sound obvious, it is important to ensure that you avoid making your navigation difficult to comprehend. Examples of this include cluttered navigation menus, disorganized sub menus   2.     Keep it predictable While creativity makes your website stand out and is great to catch a user's attention and provoke emotion, it is important not to practise creativity in areas where predictability is preferred by the user or visitor. Such as when creating your navigation menu or the placement thereof.   3.     Keep it consistent It is key to keep the theme and structure of the different pages of your site consistent. Check our CakeDC.com menu and the different pages, each page keeps the overall theme and structure consistent. This is to ensure that your user is able to make sense of the content as quickly as possible when switching between pages.   4.     Have a clear hierarchical structure Every category and clickable sub category should have a clear hierarchical structure and should be visible in your menu. Doing this gives your user a clear view and pathway for them to go to the exact page or content that they are wanting. This point is particularly important for website that have a wide range of products or services.   5.    Make it distinct Navigation options should be clearly visible and easy to find. They should stand out from other graphics, images or backgrounds. This can be done through size, color and font.   6.    Link the logo to the homepage A good practice is to link the homepage to the logo of your company on your website. This logo should be in the same place on every page. Users have a high tendency to click on your logo, with the expectation that it will lead back to the home page as this is a generally predictable behavior across websites and design practices.   7.     Always include a search bar Search bars are necessary for making your website more usable to your visitors. Some visitors only want to find information by using a search bar within your site. Offer your users a way to navigate through your website without having to go through every page or menu option.

Difference between UX and UI

UX and UI are often misused in the tech industry. Understanding the key differences between UX and UI is beneficial, we take a quick look at both. UX, User Experience Design, and UI, User Interface Design, are both crucial to a product, such as a website, and work closely together while remaining vastly different disciplines. UX design tends to be more analytical and technical, while UI is not. A basic example for UX design would refer to how users interact with CakeDC.com, where they find the navigation menus (is this as per industry norm or do they have difficulty navigating around the website to find the information they are looking for, or how to contact CakeDC via our contact form or telephone number). Whereas UI design looks at ensuring brand relevance through the look and feel of the site, keeping color standards as per best practice. UX, User Experience Design UXD or User Experience Design refers to the process of enhancing the experience that a user has with a company, its products or its services. This is done by focusing on increasing the ease of use as well as improving the overall interaction between the user and the product or service. Good user experience design translates to customer satisfaction and loyalty so it's vitally important to ensure good design is put to practice! As a UX designer, you will  need to understand your site’s users and potential users, from creating persona’s to determining user stories and carrying out user testing. A persona could be an example of a customer who is seeking more information by contacting you versus a visitor who would like to learn more by reading your blog. UI, User Interface Design User Interface Design is the look, feel and interactivity of the product, basically referring to the means by which the user and a product (such as a website) interact with each other. The end goal of UI Design is to “achieve structure, analysis and optimization of a customer’s experience with the company and product.” UI Design includes activities that range from user guides and story lines through to UI prototyping and implementation with the development team.
  While there are differences between UX and UI, there are some similarities, let’s look at these:

  • Have a primary objective of improving customer satisfaction such as improving the use of a “contact us” form
  • Focus on the user and his/her interaction with a product/service such as having an easy to navigate menu
  • Can be applied to any product
Here is an example of the planning behind CakeDC.com

Website redesign? Here's a checklist of things you’ll need to consider

Redesigning your website can be a daunting and scary task, however, with the proper preparation and the right development team it can be a breeze! It can be a potentially long and tedious process, with a lot that can go wrong. From just a visual overhaul through to improving branding, user experience and sales, a website redesign can encompass a wide variety of changes that you can benefit from. Whatever your reasoning is for choosing a redesign, it offers you an opportunity to re-evaluate the bigger picture and see where improvements can be made. Here’s a quick checklist of things to look out for when embarking on a website redesign

  1. Strategy - why are you doing a redesign. Pencil down your main points behind the redesign project. What are your goals, ideals, visions. Where do you want the redesign to get you. What are the measurable results that you are hoping to see - importantly, you should also benchmark your current traffic and metrics.
  2. Saving your current assets - Have you made the proper back ups of the important files, media etc so that these remain accessible after the redesign of your website is complete. Go a step further, and take your metrics to work out what the most important assets and pages of your website - such product pages with the most sales or blog posts with the most views or social shares.
  3. Define your target audience - who is your idea visitor? Look at your customer journey and describe your customer.
  4. Have you checked out your competitors? Conduct competitive research - their overall look, problem areas, good ideas that appeal to you and your product/redesign.
  5. Outline your key features - identify what is most important to your website redesign. From shopping carts to news posts, landing pages, social sharing, security updates.
  6. Set your budget - outline what you want and how much you’d like to spend on it. Who - an agency, a freelancer etc - as well as the size or scope of your project, backend applications or additional features that you are looking for.
  7. Create a timeline and schedule your milestones - When do you expect to see things happen.
  8. Have you considered optimization? Don’t forget to make sure that your site is optimized social media and search engines.
  9. Test and revise - before launching!

We Bake with CakePHP