Our clients trust hundreds of millions of dollars in bookings to our technology and Agile has helped us ship higher quality code while simultaneously decreasing the number of issues in old code. While we certainly have client needs that require rapid development, we lean toward quality over speed. Our first scrum master, Joe Anderson, continues to travel throughout all of our five offices to coach, mentor, educate, and help new scrum masters and engineers alike to understand and embrace Agile within the company.
Agile Product Development Consultancy
San Francisco, Los Angeles, Chattanooga, and New York
We advocate frequent release of working software. Sometimes the hardest thing to put into practice for larger companies is pushing code continuously. We use continuous integration, do test driven development, and try to deliver something that has business value to actual customers as often as possible. We have weekly iteration planning meetings, where developers, PMs, designers, and the project owner (usually from the client’s side) come together to plan the work for the week. It’s an open, collaborative discussion to identify what the highest value work is and estimate each unit of work. We’re pragmatic about pair programming and leave it up to individuals to decide. Most of the people here have had 8+ years of experience in the industry so we trust each other to reach out for a pair when needed. Some people pair all the time, some less than that, but everyone pairs some of the time. At the end of the week, we do a demo as well as a retrospective (with everyone from our team and from the client) to go over what went well and what didn’t go well this last week.
XP means we practice pairing and test-driven development while incorporating daily project standups and regular retrospectives to gauge project process. We find that XP is most effective given the nature of our client work, and we value close partnerships with our clients as well.
We work in sprints and a sprint of work for our developers typically lasts between 1 and 2 weeks. With our larger projects, we have a daily call with the customer which acts as an opportunity to raise any concerns or issues. With smaller projects we prefer a call or meeting with the customer at the start of the sprint and only arrange other calls as required.
We understand that software development projects are often difficult to specify in their entirety at the outset. Our agile software development processes accommodate the unknown, providing flexibility without sacrificing speed and quality of delivery. We work with customers from the outset to define the high level vision for their development project, and what they hope to achieve. We then perform multiple sprints of development – making changes to requirements following each sprint as required.
Our customers love the transparency and control this provides them.
We have Agile coaches who facilitate bi-weekly retrospectives and planning, and teams have a daily stand-up with the product owner. Every project starts with a minimum of two developers and ~90% of work is done with pair programming. We sit down together as a team regularly for code reviews. People show each other code that was complicated to write and discuss any code that the authors are unsure of or have questions about. The team provides feedback, which the authors can later incorporate in improving their solution.
1 Open Positions
Every engineering team has their sprint planning every 2 weeks. During these planning sessions, the product, engineering, and analytics teams look at the backlog and determine prioritization and focus areas depending on current needs.
Every day, we scrum for 10-20 minutes to touch base on where we’re at within the sprint. We keep these feedback loops short so no one is blocked, and we divide our work into small, 2-person scrum teams. We follow our sprints with a retro every 2 or 4 sprints to recap our work. While there is no official scrum master, someone plays this role for each sprint.
We also work hard to get new hires up to speed quickly, and most end up contributing to the code base within 2-3 weeks. Within 45 days, they can usually start looking at recent tickets.
For instance, here’s how it might look when we onboard engineers:
First, we provide our new hires with training that covers the workflow: where they get tickets, what our stages mean, how we consider an engineer’s job to be complete, how we hand off code to production, and so forth. After they finish this training and any HR-related work, new hires meet with the heads of each engineering sub-team to get a sense of the teams within our engineering organization. The last step is to work directly with their new manager to do a deeper dive into the specifics of their work environment, architecture, and business flows.
Once we onboard a new hire, we ease them into their work by giving them low-complexity tickets and slowly increase the complexity over time.
Likely the most important training covers the credit landscape. We don’t expect our engineers to come in with credit or financial literacy – we teach the terminology and key points they need to know to serve our members well. If they have the skills needed to do the job, and the passion to improve lives through improved credit, we can help bridge any knowledge gaps about the credit space!
This also depends a bit on the customer. In some projects, the customer is part of the scrum team, in some projects we use agile processes internally, but do not expose them to the client. We have never followed scrum or kanban practices by the book, but mostly adapted those ideas to match our needs (and company size).
Want to List Your Company?
Submit a team profile!
Select 8 Values
Contact me (Lynne 👋)
Qualify Your Values
Reach Thousands of Devs
Find Value-Aligned Candidates
Have Meaningful Initial Conversations
Don't Fill Roles, Hire Teammates
You can post as many job openings as you want.