Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Efficient Development Workflows Series: Developing a New Feature
How to save development time by working efficiently

This is a republished blog post. Original source: http://blog.codeship.io/2013/08/16/the-codeship-workflow-part-1-developing-a-new-feature.html


With this blog post we start a new series about how we work on the Codeship. Many people asked us how we develop features, about our workflow and which apps we use every day.

This blogpost focuses on the workflow to implement a new feature. From branching away from master until it is ready for the pull request. The following blogposts will talk about our internal communication, how we do pull requests and code reviews and an in-depth look into our deployment strategy.

Git branching model
We follow the Github-flow model of development (check out Scott Chacon's article, so whenever we start a feature we create a feature or bug branch. Most of our team usesgit-extras by visionmedia for this.

The Codeship Workflow - Branches

Typically only one person works on one branch. If we need more people to work on a feature we break it down to the smallest possible chunk that one person can ship.

For example consider one of our latest improvements: Ben, who joined us in July, implemented a first basic version that allowed to invite collaborators from Github. He worked on his own feature branch and had a simple UI that was ready to be shipped. After the feature passed the pull request and code review his changes were shipped.

Then Alex created another feature branch from master and implemented the final user interface which makes it super easy to invite anyone to the Codeship who committed to the GitHub repository.

The Codeship Workflow - Teammate Invitations

Both committed and pushed regularly while still working on the feature. When a small piece is done we typically push it to Github to run our complete test suite. While Codeship runs all of the integration tests we keep working on the feature.

This way we very quickly see if our changes broke any part of the application without running the full test suite locally. And breaking a feature branch is absolutely ok. We want our developers to push early and often and let Codeship take care of the tests so they do not waste time.

The Codeship Workflow - Steps of your builds

There are numerous advantages in shipping a minimum viable feature first. We keep waiting times between the developers to a minimum while still shipping improvements very quickly. Thereby we remove a lot of unnecessary communication. And we never run into any kind of merge problems when two developers work on the same feature.

Of course there are challenges with this workflow. Sometimes features are shipped with the expectation that they are improved right afterwards, but something else needs immediate attention. This way the improvement can take a bit until it is shipped. Therefore getting that minimum viable feature right is very important. Big enough to be valuable, but small enough to be shipped fast and by a single person.

We are very interested in your workflows, so please leave a comment how you are working on new features. If you have any questions leave a comment, send us an in-app message or a tweet to @Codeship.

Next time we will show you how we go from code to pull request, code review and then merge into master. Stay tuned.

About Manuel Weiss
I am the cofounder of Codeship – a hosted Continuous Integration and Deployment platform for web applications. On the Codeship blog we love to write about Software Testing, Continuos Integration and Deployment. Also check out our weekly screencast series 'Testing Tuesday'!

Latest Cloud Developer Stories
With more than 30 Kubernetes solutions in the marketplace, it's tempting to think Kubernetes and the vendor ecosystem has solved the problem of operationalizing containers at scale or of automatically managing the elasticity of the underlying infrastructure that these solutions n...
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructur...
When building large, cloud-based applications that operate at a high scale, it's important to maintain a high availability and resilience to failures. In order to do that, you must be tolerant of failures, even in light of failures in other areas of your application. "Fly two mis...
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performa...
As Cybric's Chief Technology Officer, Mike D. Kail is responsible for the strategic vision and technical direction of the platform. Prior to founding Cybric, Mike was Yahoo's CIO and SVP of Infrastructure, where he led the IT and Data Center functions for the company. He has more...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021



SYS-CON Featured Whitepapers
ADS BY GOOGLE