6 tips for improving development workflow

13
Yeti LLC, 2016. 1 6 Tips for Improving Development Workflow

Upload: yeti-llc

Post on 22-Jan-2017

98 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 1

6 Tips for Improving Development Workflow

Page 2: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 2

A lot of attention gets paid to the importance of workflow, especially in development. But a tested and well-implemented workflow plan isn’t just process for process’ sake. A well-tuned workflow improves productivity, aligns team expectations and helps to define company culture. Improving your development workflow has the business impact of saving time and money by reducing wasted attention and keeping the focus on building new software.

OVERVIEW

Page 3: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 3

OVERVIEW

In the last few years we’ve seen a crush of workflow software hit the market, and with the right tools you can better manage & automate the development process. A well-curated suite of tools helps teams to sharpen & track communication, manage clear expectations & responsibilities, and allow any one team member to pick up where someone else has left off. We rely heavily on tools like Slack, Basecamp, Zeplin, and Pivotal Tracker to make sure design & development are always in communication & able to understand where the project stands.

Page 4: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 4

OVERVIEW

We’re always observing, tracking and implementing ways to improve development workflow. Whether you’re starting fresh on building a workflow plan, or adapting to accommodate a new project, there are always ways to improve & new things to consider. With that said, here are 6 tips for improving development workflow.

Page 5: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 5

Within software projects, there are inevitably problems that are difficult to predict ahead of time.

The more sophisticated the project, the more unknowns there will be. Research and development is necessary to resolve those unknowns. This phase should be done up front so the resolutions are clear, rather than later as part of the development process when this could cause major delays. We often work with clients on an initial R&D phase to answer any technical questions, especially when working with new technologies. We can then move forward quickly, with everyone feeling confident about technical decisions that have been made.

INCLUDE AN INITIAL RESEARCH & DEVELOPMENT STAGE .

1

Page 6: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 6

LEARN THE AGILE METHODOLOGY.

2

Many development teams are turning to Agile project methodology to organize goals for their product teams, which allows them to be more flexible in making changes to the process over time.

A main component of Agile is the Sprint, which makes the work of a large-scale project more manageable by dividing it into smaller tasks, usually tackle-able inside of two weeks. Breaking tasks down to fit into two-week cycles makes it easier to prioritize and plan, rather than trying to stick to a long-term plan even as priorities change.

Page 7: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 7

LEARN THE AGILE METHODOLOGY.

2

Estimating time requirements for software development is extremely challenging, as it’s next to impossible to predict when or how a ticket will cause project delays. Developers tend to estimate less time than is required, which often leads to projects going over time and budget. When working with short sprints the impact of unforeseen hiccups can easily be contained and managed.

At Yeti, we start each sprint by prioritizing the user stories (project tasks) to work on. Once the user stories are chosen, then we begin the collaboration between design and development to build out the feature or improvements.As teams change, either with new hires or moving responsibilities, it is important to bring new members up to speed as quickly as possible. This reduces gaps in productivity and means sprints can keep rolling forward.

Page 8: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 8

Copywriters, for example, use proofreading and editing as process tools to ensure that what they write is as close to flawless as possible. Developers have code reviews.

Code reviews can be automated, done by peers, or both. The goal is to identify bugs early, ensure that coding standards are maintained, and generally keep the codebase healthy. Code reviews also provide a venue for providing valuable feedback to junior developers.

At Yeti, all code is peer-reviewed by at least one other developer. The reviews take place after the code and tests have been written and committed to source control. Ultimately the code a developer is writing, needs to be crafted not just for the machine running it, but also the future developer who is going to have to read it and make a change to it.

PARTICIPATE IN CODE REVIEW.

3

Page 9: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 9

FOCUS ON CONTINUOUS INTEGRATION & CONTINUOUS DEPLOYMENT.

4

Continuous Integration and Continuous Deployment are recent practices that involve shipping tested code to users as early as possible.

Continuous Integration requires developers to merge tested code into the main codebase immediately. Continuous Deployment involves pushing that new codebase to users once it is ready. By integrating code early, bugs and other issues can be discovered and addressed when fixing them is easier and cheaper. Automation is a big part of both processes, particularly testing, to ensure time isn’t wasted manually building, integrating and deploying code.

Page 10: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 10

CREATE PROCESS AND STYLE GUIDES.

5

Agile makes it clear what is being worked on. Process and style guides make it clear how those tasks should be executed.

Each part of the development and design process is a decision that needs to be made. Documenting key decisions in guides saves teams from having to take the time to duplicate that decision-making process in the future. Teams can execute quickly, focusing on building out the new features.

Without guides, you’ll see inconsistencies in the user interface and code standards. These inconsistencies lead to problems down the line within the user experience, when bugs are hard and expensive to fix. Process and style guides remove this risk from the project scope.

Page 11: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 11

Getting development environments set up can also cause delays, especially when working with new team members. Larger companies that have multiple products and multiple teams run into this problem regularly when developers switch teams.

USE VIRTUAL MACHINES TO BUILD SHARED DEVELOPER ENVIRONMENTS.

6

It can take days from when a new developer starts until they are able to write their first line of code and even longer before that makes its way into production.

This setup process can, and should, take minutes instead of days. Utilizing virtual machines for the development environment and automated scripts to install the appropriate software and tools make a traditionally cumbersome process a lean one.

Page 12: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 12

Virtual machine tools, such as Vagrant, help set up ready-to-go development environments that can be installed on the developer’s machine. This allows developers to have a fully working version of the system on their computer within minutes.

Applying proper attention, detail, and adaptability to your workflow doesn’t just benefit the success of the specific project. It’s crucial to the overall product, your company culture and your ability to innovate.

USE VIRTUAL MACHINES TO BUILD SHARED DEVELOPER ENVIRONMENTS.

6

Page 13: 6 Tips for Improving Development Workflow

Yeti LLC, 2016. 13

Yeti collaborates with industry leaders to design, develop, and ship the products that shape the future. Leaders from industries such as robotics, IoT hardware development, virtual reality experiences, data science analytics, and community building applications partner with Yeti to define and solve problems. Our team designs, prototypes, and builds effective solutions, elegantly delivered through an iterative process that continuously evolves the product. For more information, visit us on the web at yeti.co.

Additional Resources: The Product Design Process Guide

Video: Intro To Agile Development

Webinar: Taking Your Product Idea To The Next Level