Outsourced Engineering Team, Successful Outsourcing
By Scio Team
The way we conceptualize work is changing, first as a result of the pandemic, and second as a result of technology letting us do something unthinkable a mere five years ago. The result is a landscape where a lot of organizations are more willing than ever to adapt to their collaborators, offering ways to work that strike a better balance between their personal and professional lives.
However, what does this balance mean? Because the more we think about changing our actual practices, the more challenges and conundrums appear in the need of a solution. And the software industry, as one of the leaders in this evolution of the workplace, is experimenting with ideas more than ever to hit the specific balance between work, personal life, and the needs of a given project.
A right to disconnect
A lot of buzzes were heard when France, back in 2018, began to implement the so-called “Right to Disconnect”, a legal framework aimed at protecting workers from retaliation if they choose to not attend calls after their shifts. As proposed, this regulation showed that “work” as we knew it was starting to evolve, as more and more tasks in a company started to need a kind of specialization that sometimes could not be accomplished in the traditional 9-5 office hours.
This fostered a culture of being “always-on”, which could not be healthy or sustainable at all in the long run. After all, a good outcome for any project could come from an exhausted team that always had to be ready and reachable? The Right To Disconnect tried to solve this, with mixed results.
“We have our best ideas in unexpected places, at unexpected times. Excelling in today’s economy thus demands short bursts of intensive thought followed by seemingly unproductive – yet necessary – lulls. Nourishing such approaches requires workplace flexibility, not regulatory rigidity; depriving skilled professionals of these practices by telling them exactly when and how to work also deprives them of potential opportunities to create value”, says this article by the non-profit policy research organization R Street.
So, even if the intent of these legal frameworks is desirable and necessary, it could be argued that they also fail to solve many of the intricacies of working in industries like software, where different dynamics are at play. Programming, for example, is as much of creative activity as it is a technical one, trying to solve complex puzzles as efficiently and elegantly as possible in a given timeframe.
This means that, even if everyone obviously needs time to rest and relax, the idea of rigid boundaries to solve a programming challenge during a project is closer to the idea of “mandatory fun” than keeping a healthy boundary, with some companies even going as far as disabling emails and chat programs to ensure their workers comply.
“While some procedures, like taking the email server offline, will help to ensure that all employees are on equal footing, this approach may have unintended adverse consequences on employees with flexible work arrangements. Many caregivers, for instance, handle family responsibilities during the day and resume work after hours. IT departments will need to navigate these issues with human resources and user departments”, claims the HR blog First Reference in this article.
This same quote, however, points out a solution that can keep boundaries clear, without enforcing a total disconnect that can result in counterproductive outcomes: flexibility. As the pandemic rages on, and we rethink what work is, the idea of flexibility starts to become more than choosing to work from home or going to the office on a given day; is the ability, up to a point, to set our schedules, our times, or to select to collaborate with an organization that closely aligns with ourselves.
We’re here for you
Thanks to the rise of remote work, the possibility of working with clients abroad in tech hubs like Silicon Valley and Austin without having to lose boundaries or sleep is closer than ever thanks to Nearshore development companies like Scio. But what distinguishes a Nearshore, exactly?
Nearshore companies are getting popular lately, and it’s easy to see why: the whole idea is to offer outsourced development services within the time zone that matches the clients as closely as possible. Being located in Mexico, Scio works mainly with clients based in the US, collaborating with tech firms on projects with all kinds of challenges to solve, without needing the odd working hours that might result from working with a client in Europe or Asia.
This results in a close collaboration that still leaves room for boundaries, as the working hours of the team and the clients are the same; in fact, the schedules offered by Scio make sure there’s overlap in the middle of the day while leaving every developer to choose when to begin and stop working.
“Some of our clients realized that their developers not only can come from Wisconsin, Wyoming or Missouri; they are finding an enormous amount of talent available in Mexico and other LATAM countries that have no problem whatsoever connecting remotely to collaborate”,
“We can see that in our more recent applicants, who value these opportunities and are more than ready to join from anywhere in the world. Our focus is on certain time zones that are not too far apart from our clients, but Latin America as a whole has opened as a software development possibility like never before.”
Tells Rodimiro Aburto, Service Delivery Manager at Scio.
This results in the possibility of expanding the scope of things you develop and learn from, while still maintaining real-time communication with clients in other countries entirely, and without having to adjust your working hours to maintain the same boundaries you are used to, because of the idea of a Nearshore company is to offer convenience in collaboration and communication for both clients and developers, giving you the space to work as you feel best, while maintaining the excellence in outcomes that’s expected in these projects.
“So, what Nearshore comes to offer is the flexibility in which a Development Lead can chat in real-time with a collaborator in Mexico, Chile, Argentina, or Honduras, for example, as a full member of their team while keeping the healthy boundaries in hours that having the same time zone brings”, finishes Rodimiro.
We hope that this article has helped to introduce you to the possibilities of Nearshore outsourcing and shown you how Scio can provide a valuable solution for your business needs. Our team is passionate about creating healthy boundaries for our collaborators while still providing the flexibility needed in the modern workplace. If you are interested in learning more, please send us a message. We would be happy to discuss our services with you and answer any questions you may have. Thank you for taking the time to read our article!
Customer Experience, Outsourced Engineering Team, Successful Outsourcing
The show must go on: Developing a venue booking app with UPick
As the year winds down, it’s time to look back and celebrate all of our achievements of 2021, the challenges and the goals we conquered, and the clients whose projects we helped to become reality.
This time, let’s take a look at the story behind the development of the UPick app, which had the goal of creating a useful and reliable booking tool for both venues and artists, and how we helped them bring that dream from concept to a product you can use today. Enjoy!
What goes into making a good idea into reality? For the creators of UPick, it meant finding a reliable team that could build upon their idea, understand the concept completely, and offers the best technical know-how to bring it from paper into every smart device you can imagine. The beginning was simple enough; back in 2020, a couple of friends were looking into an area of opportunity no one else seemed to be exploring yet: what if you could simplify the process to book a show for a venue through an app?
The pandemic gave them a wide-open window to implement a solution for an industry that felt the consequences of this crisis deeply. Live shows account for nearly 50% of the music industry’s revenue, so six months into the pandemic, according to the World Economic Forum, shutdowns had already cost venues around the world 10 billion dollars in sponsorships and ticket sales, with no end in sight.
But with vaccination rates increasing, it was probably a good time to try and bring shows back, and UPick’s creators thought that an app that offered a quick way to reconnect performers with venues had some fertile ground to grow.
So, in February 2021 they started considering Scio as a partner, looking for developers who could create this app from scratch, decide the full scope of the final product, and make important decisions about the direction of the platform.
This was the first time our clients worked with Nearshore developers, and the advantages of having a fully experienced team equipped and ready to roll inside your own time zone became invaluable, keeping the costs of development down without sacrificing quality.
Since our clients had never been involved in a project of this size, constant communication to decide the specifics of UPick was critical, going from things like how to monetize the service, to the best hosting platforms to use.
Typically, development at Scio consists of a 5-step plan designed to arrive at a solution in the most productive way possible. Understanding users and their needs, as well as the objectives and constraints of the app itself, was Step 1. Step 2 involved analyzing the requirements of the app in order to trace a plan for the UX/UI and architecture of the platform. Then, Step 3 is pure Agile Development, up to the official launch, which was Step 4. And after the kick-off, is a matter of support to ensure the quality of the app, giving ongoing maintenance and adding features as a Step 5.
The Scioneers chosen were a Programming Lead who developed the architecture of the app, a UI designer tasked with creating a comfortable and stylish interface, another one assigned to create a search bar and review functions within the app, and a QA lead who would make sure everything worked perfectly.
Communication was key. Thanks to daily scrums, a core pillar of our process, we walked our client through the progress of the project, needing nothing more than 15 minutes every day to discuss the changes and challenges that surfaced, as well as what we accomplished, every week.
Here, we solved tons of questions born during development, like “how will a band schedule a show?”, “how will refunds work?”, and “how will the venues and bands make deals?” to more technical matters, like choosing a cost-effective hosting solution (AWS in our case), implementing login credentials from Apple, Spotify, and social media (including some necessary workarounds), to selecting the best payment processor.
Also, as we briefly mentioned, the business plan of the app had to be revised entirely once the booking process was decided, as Upick could easily be cut out from the deal between venue and performer, and our team took care of that.
The biggest breakthrough was deciding to make UPick a “progressive application”, where a web portal could function as an app with consistency across devices, like desktops and smartphones, making it as convenient as possible.
Then features were added, like the ability to share photos, videos, setlists, and even playlists from Spotify, and we had to rethink the way bands could contact venues as our understanding of these deals grew.
Progress went smoothly until finally reaching our Minimum Viable Product, where one of UPick’s users, whom the client showed a preview, managed to run all of their bands through the platform before it was 100% finished, which not only showcases the talent of our team but also made the customer base excited about the final product.
All in all, by September the app was ready to be launched, a whole project contained within the chaotic year of 2021, where Scio was able to offer the exact solutions UPick was looking for. A learning experience for both our team and our clients, we celebrate the effectiveness of Nearshore development, which can deliver no matter the circumstances.
The Key Takeaways:
- Since communication is crucial to make a product succeed, choose a development option that can communicate with you at the best time possible.
- It doesn’t matter if the details of your idea haven’t been ironed out yet, a good team will help you with those decisions.
- Development time of an app, depending on scope, doesn’t have to be too long. It took us around nine months to bring UPick from concept to reality.
- Some APIs are not very friendly, but there are always workarounds to any obstacle.
- If better ideas surge during development, it’s good to always voice them. The schedule might need to be reworked, but the final product is always going to be better.
Entrepreneurship, Nearshore, Outsourced Engineering Team, Project Management, Successful Outsourcing
By Scio
The importance of soft skills in the workplace cannot be overstated, and doubly so for remote work, when coordinating a team you may not know in person is the core of a successful project. But how to apply those skills?
It’s no secret that managing an effective team requires a special kind of talent, one able to bring the best of every individual in the team, while also keeping everyone on the same page, looking at the same goals. In the old days, you could achieve it by having close proximity with your collaborators, keeping an eye on their needs and difficulties, and doing your best to lessen them to create an effective working environment.
But yeah, that was when the office environment was a given, and managing was a face-to-face affair. However, in the New Normal, where remote work is becoming commonplace, probably with coworkers living in entirely different continents, the skill set necessary to complete a well-done project is changing.
How do you communicate an effective company culture remotely? What do you need to manage talent through a screen? Here at Scio, where working remotely has been the norm since the very beginning (both with clients and collaborators), we know how important these skills are, and how they will become more sought after as this organization model becomes more commonplace.
1. Communicating through a Zoom call: More difficult than you think!
Hey, raise your hand if this situation is a tiny bit familiar to you:
Trying to make a joke on zoom – YouTube
Yeah. As we all know very well, conducting a videoconference is tough, as reading your coworker’s body language, emotions and predispositions are nearly impossible at a distance. Humans are social creatures, designed to pick up on gestures and the tiniest social cues while talking, and doing so through the barrier of a Zoom call is an important skill to attain.
That’s why implementing clear communication rules, and enforcing them effectively is so important. Simple etiquette rules (like turning the mic off when not speaking, giving space to questions and answers, or RVSP any invitation), assigning a person the specific task of conducting the call, as well as being clear if the call is more formal (i.e. presentations with clients) or informal (like a brainstorming session) can make a world of difference in the way a team functions.
Once your collaborators internalize these rules, further strategies will be easier to implement, and you will avoid awkward scenarios like that one.
2. The importance of choosing the right tools
“An artisan is as good as his tools”, the shared wisdom says. And that’s true whether you are talking about making a vase or developing a software app; selecting your tools well is just as important as the technical knowledge applied behind.
Zoom is a good example of the pros and cons of these tools. There are plenty of reasons why Zoom became the choice to work remotely during the pandemic (it’s friendly to use and offers a good range of basic options), but that doesn’t mean this software lacks drawbacks (like its lax security) you need to take into account.
The same is true for any tool you have at your disposal to manage teams and projects, and learning to choose and use them effectively is a valuable ability in any remote team. There are plenty of options to try and decide, but also don’t be afraid to discard anything that is not helping the team to reach their objectives.
Here at Scio, for example, beyond the usual suspects (Microsoft Teams, Zoom, Trello, etc.) we developed some internal tools, like an internal guide with the names and positions of everyone in the company, or a proprietary clocking-in page, that we continually improve and tailor to fill the needs of our clients and developers, making sure all of our developers and collaborators have any piece of information they might need.
3. Remote company culture is possible
As we mentioned, certain skills are needed to do remote work well, and these will grow in importance as more projects realize the potential of Nearshore development. The importance of soft skills has grown in recent times, as being able to communicate with your team is just as important as the technical talent you have behind. So what do you need?
- Have clear expectations: For anyone joining an organization remotely, knowing exactly what’s required of them helps build boundaries and focus efforts on things that matter. Lay them out at the beginning, and should have no problems making everyone work towards the same goal.
- Create working structures: For remote teams, lack of structure on a given day can be an obstacle to productivity. That’s why good team leaders establish a clear schedule of deadlines and meetings and explain in certain terms where a particular collaborator fits into the workflow.
- Determine delivery: In a traditional office, the time in front of the computer seemed to be just as important as the work being delivered, which of course is unsustainable in a remote environment. This is why an effective manager keeps track of the actual output every review (let’s say, once a week), to determine the effectiveness of the collaborator, who can set their rhythm with flexibility. As long as the project delivers by the agreed deadline, everything else becomes unnecessary.
- Encourage social interactions: The best teams have chemistry and rapport behind their collaboration, and managing that remotely is truly a challenge. That’s why social interactions are important; celebrating important holidays, giving them channels to communicate freely, and organizing activities for fun help a lot and creates familiarity between co-workers that otherwise will never happen.
- Give ongoing feedback: Good feedback is the lifeblood of any team, and for remote teams, doubly so. Being gentle with it, but also effective and certain, is an important skill for everyone on a team (not only leaders), and learning how to give and receive feedback is critical to delivering better and better projects.
4. The Key Takeaways
So, what does this all mean? That the best remote teams are those with strong structural support behind that lets their talent be used to its maximum potential. So we can have these few takeaways of the soft skills behind an effective remote working environment
- Pure technical knowledge can only get you so far. Managing with a wide range of skills helps everyone feel part of a team in order to achieve objectives.
- Remote working needs certain flexibility to function, but firm boundaries keep the team focused and productive, from a simple call to delivering a whole project.
- A good company culture needs to be clear and well communicated, and implementing it effectively means the difference between a good team and a so-so one.
This is clear for us in Scio, as our Nearshore model is designed to use these methods to their fullest, and guarantee that any project you have in mind has the right team for you.
Nearshore, Outsourced Engineering Team, Successful Outsourcing
Contrary to popular belief, software development isn’t just a Silicon Valley thing. Mexico has exploded onto the tech scene with game-changing companies creating software across the full spectrum of industries.
With a rapidly growing talent pool and shared timezone, these companies can easily integrate into your day-to-day processes, save you money, and deliver top-quality software. When it comes to software development, Mexico stands tall by helping engineers and devs accomplish some truly remarkable tech innovations.
1. Scio
Founded in 2003, Scio’s passion for creating world-class software combined with their desire to provide a full lifecycle approach earned them a Top 10 Places to Code award, a 5-Star Web App Development Services review from Liveli Enterprises, Top Software Development Companies Of 2020 according to DesignRush.Microsoft, AT&T, and Anthem Blue Cross Blue Shield are just a few of the Fortune 500 companies that trust Scio to deliver their software needs. Scio’s specialty is working with established companies looking to augment their staff or scale-up existing software. Whatever your needs, Scio has the development team in place to quickly bring it to market, within budget, and precisely to your specifications.
The Scio Advantage:
Deep technical knowledge and experience that scales with your business. True agility in the form of real-time collaboration and faster review cycles. Flexible engagement models to help you build and support your application in unique ways. High-performance collaboration with aligned goals so both teams can achieve greatness.
Services:
- Staff Augmentation
- Custom Software Development
- Software Testing & QA
- Mobile & Web Development
- Maintenance & Support
Customer Quote:
“Scio offers a team of well-vetted, professional developers. In addition to being timely and proactive in their approach, their unique backgrounds make for a professional relationship and improved outcomes. They continue to be a great long-term partner.” — Manuel Romero
Website — Twitter — Case Studies
2. PSL Corp
Self-described “purpose-led” software development company that aims to provide top quality agile development services nearshore in Mexico and Latin America. They are Colombia based with four offices there and have satellite offices in Mexico City and New York City.
Services:
- Agile Custom Software Development
- IT Outsourcing
- Comprehensive Outsourcing of Quality Assurance Support
- DevOps Transition
- Cloud Architecture Design and Implementation
- Software Reengineering
Customer Quote:
“They have an advanced software development process, and I like the fact that they are an employee-centric company like we are. Their reliability, quality, and technical ability is excellent” — Tom Holt
Website — Twitter
3. BairesDev
A San Francisco based technology solutions and software development company founded by developers back in 2009. They recognized a wealth of IT talent growing in Latin America and quickly expanded operations to Argentina, Columbia, Brazil, and Mexico. Their mission is to help get companies talent they need at the right time so they can scale quickly. Time to market is something critical to their core values.
Services:
- Custom Software Development
- Software Testing & QA
- Cloud Computing
- Mobile & Web Development
- Maintenance & Support
- Blockchain Consulting
Customer Quote:
“BairesDev has helped us develop a secure bitcoin-based cryptocurrency platform with engineers that are qualified and proficient in crypto. We are extremely satisfied with their collaboration and achievement. We are happy to have given BairesDev a chance to earn our trust” — Willie Wang
Website — Twitter
4. Unosquare, LLC
An Inc. 5,000 fastest-growing company, Unosquare bootstrapped their own growth on the idea that talent, transparency, quality, availability, flexibility, and value matter most. They have a global presence with offices in the US, UK, and Mexico and specialized in BFSI, life sciences, and high-tech industries.
Services:
- Software Development
- Technology Project Consulting
- Digital Transformation Strategies
Customer Quote:
“Not only did Unosquare give us solid guidance on the project, it innovated on its own” — Nick Cutillo
Website — Twitter
5. iTexico
ATX based iTexico bridges the gap between Mexico and Texas with their nearshore specialization. Founded in 2010, iTexico has found its footing through offering cheap labor and real-time collaboration. They advertise talent available “right now” and strive to make the hiring process as quick and painless as possible.
Services:
- Software Development Services
- UI/US Design
- QA
- Mobile
- Cloud
“The main impact was their speed and quality of delivery.” — Michael Baron
Website — Twitter
Summary
When looking for top-notch software development, Mexico has a world-class talent pool and the technical expertise you need to get your software developed on-time and under budget. You have many choices, but a review isn’t enough to find out if a company fits your budget, culture, and software vision. For that, you have to dig deeper and ask the right questions.
If you’re in the market for custom software, reach out to start a conversation with us.
Nearshore, Successful Outsourcing
When you’re toying with the idea of outsourcing software development outside of the US, Mexico may not be the first country that springs to mind. Especially considering that Southeast Asia has dominated the outsourcing market for over a decade thanks to its cheap labor force and predominantly young population.
However, cultural differences, language barriers, and time zone challenges are ongoing challenges when it comes to outsourcing, leaving US firms looking for alternatives. Despite the US media conjuring up various political agendas, Mexico has quietly grown its engineering workforce behind the scenes in an effort to position itself as a technology and software development heavyweight.
With the increasing participation of Mexican engineers in software development work, US companies are beginning to take notice. So we thought we would provide you with some guidelines for how to hire Mexican developers for your software projects:
Why Hire Mexican Developers?
Latin America has the second-highest growth rate of software developers in the world, and Mexico specifically has invested heavily in STEM programs. If you’re not familiar with STEM programs, it’s a curriculum built to educate students in science, technology, engineering, and mathematics.
The Mexican government also built over 140 new colleges, of which 120 now specialize in engineering and technology. Each year, thousands of information technology students graduate from universities across the country, such as the prestigious Tecnológico de Monterrey.
Mexico is simultaneously growing its English speaking population, which makes them a growing epicenter of highly sought-after job candidates.
How Do You Hire Mexican Developers?
Bring A Mexican Developer To The US
One route you can take is finding a Mexican software developer that wants to move to your location. If you’re in the US, you’ll need to adhere to USMCA, which is the United States-Mexico-Canda Agreement. It goes into effect on July 1st, 2020, and will act as a NAFTA 2.0 and facilitate an updated trade agreement between the United States, Mexico, and Canada.
When it comes to hiring for software development Mexico and Canada adhere to TN Visa requirements. The Visa is granted to those with qualified positions in one or more of sixty categories. Here are the steps:
- Ensure your role is a TN approved occupation. According to Nearshore Americas, the category “Engineer” includes software engineers.
- Offer the applicant a job. This step requires an official job offer letter and a contract term not to exceed three years. The offer letter must include start and end dates, salary, and job description on a company letterhead.
- Ensure the candidate meets TN education requirements. The applicant is required to prove they qualify for the minimum education requirements for the TN role. In most cases, this means a Baccalaureate or Licenciatura degree in a field related to the occupation.
- Assist the applicant in gathering all the necessary documents. Passport, signed job offer documents, diplomas and transcripts, equivalent studies letter, and a DS-160 application before booking the interview appointment.
- Apply and attend the interview at the US Embassy or consulate in Mexico. All documents must be submitted and any fees paid. Instructions for applying for a TN Visa can be found at the US Department Of State’s website.
- Upon approval, apply for admission at a Customs & Border Protection designated US port of entry. This depends on the applicant’s final destination.
Keep in mind, some of these steps may differ depending on your role, destination, and educational background. The US Embassy or consulate in Mexico will always have the most up-to-date information.
Hire A Nearshore Software Development Team
If dealing with immigration lawyers and consulate visits seems too much work, there is a faster, easier way to begin leveraging engineering talent in Mexico – that is, nearshore software development. This is outsourcing software development with a firm in Mexico rather than going through the arduous steps above to sponsor a job candidate. Instead, you can hire a vetted software development team to work remotely for you from Mexico.
Working with a Mexican software development team has several advantages, ranging from:
- Sharing time zones which makes it easy to integrate them into your day-to-day operations
- Considerably more affordable development compared to North American, European, and Australian developers
- More than 300 flights each day from major US cities to Mexico making it easy to visit them
- Cultural affinity and high professional standards
- All HR work (recruiting, benefits, vacation time management, etc.) is done for you by the firm you work with
Both routes have pros and cons, but if you need help sooner than later and need the power of a team versus an individual, then a nearshore software development team is the way to go.
Wrapping Up
If you’re looking for a software development team that works using an Agile process and offers a one-stop-shop for all your development needs, then consider us at Scio. Whether you’re a startup, a Fortune 500 company, or something in between, we’re ready to support your every software development need.
What are you waiting for? Contact us today.
Agile Methodology, Customer Experience, Project Management, Successful Outsourcing
If you search on the Internet for «agile project initiation» you are going to find a LOT of templates. People want structure and easy answers, so of course, these simple answers rise to the top of every search. Many (if not most) of the templates offered are pared-down formats from the Project Management Book of Knowledge (PMBOK) Project Initiation Documents (PID). There is nothing basically wrong with the idea of using templates or most of the templates offered, except – they tend to become prescriptive when they should be taken as guidance.
From the Agile Manifesto: «…we have come to value:
Working software over comprehensive documentation,»
With that in mind, we should ask – why do we document agile projects? Often, the answer is – because it is required (by someone) when in reality the answer should be – to communicate. But again, that simple answer fails to guide us to the necessary outcome:
- Documentation should be a natural part of agile project initiation, but not the goal. It should proceed from on-going discussions between stakeholders, the product owner and the development team that is developed in Sprint 0, but it must not end there. The conversations and the documentation of outcomes must continue through the lifecycle of the project and the product.
-
Initial documentation is just a strawman
Documents gathered from product owners and key stakeholders are starting points, not final documents. Documents developed by a designated team member to fill out a template are strawmen to be examined, discussed, questioned, and used as a base for the ongoing development of understanding within the entire project team.
- Living documentation formats should be preferred over static. In smaller projects, it may not be necessary to manage documentation formally, but in most cases using the same concepts as those used for source code management is a valid guideline. Properly maintained, living documentation answers the questions, «when was this decision made? by whom?» and gives a revision history that tells the story when necessary, but only makes it apparent when needed. It needs to include simple artifacts of these discussions – photographs of whiteboards, screenshots of modified mockups, etc. – in preference to notes developed after the fact and out of the sight of the team.
- During Sprint 0, the aim must be to develop enough trust among the project team members to allow questions and dialog to form the base for a common understanding of those items that are included in most PID templates. If initial documentation is «handed down from on high» to team members without open, trusting discussion – it cannot be internalized by the team and it will not respond to the inevitable changes that will come as discovery and learning continue throughout the project. Agile software development embraces change by allowing the project team to recognize the inconsistencies and discoveries that will come out during development, surface them and deal with their impact through discussion and collaborative negotiation.
And before we get too far away from it – there are some really strong ideas in the Agile Modeling page on Agile/Lean Documentation. Honestly, though, there is a lot of information in that reference that should really be digested as a part of understanding agile, not as a guideline for a new project. For that purpose, this short piece is a better resource. But, if the outcome of project initiation is not a bunch of filled out PID templates that we can all take back to our cubicles and file away – What is it?
Agile Project Initiation is All About Communication
With the ideas we have mentioned in mind, we have to acknowledge that open, trusting, collaborative communication does not happen automatically in an agile project team. There are natural stages that every group will go through before they can have the kind open discussion needed without fearing it will harm relationships and respect. Discussions need to be wider than the project infrastructure, technology, and user stories, without the feeling an individual is stepping over the boundaries by asking about non-functional issues. We might need to know:
- Does the culture and background of key user profiles matter to the software development team?
- Does the role of key subject matter experts (SMEs) in product development for an organization make a difference to who needs to be included in discussions?
- Are we using a Lean Product Development model with the inclusion of stakeholder users as part of Minimum Viable Product (MVP) development?
- If we are working in a DevOps implementation, how does that change our standard production procedures?
There are all sorts of questions that are not (and cannot be) included in standard PID templates but could be critical to a specific project. If we don’t discuss our viewpoints and ask questions, we run the risk of assuming we have a common understanding and making decisions based on those assumptions. Every project, every team, every organization is different. In the best case, we can open ourselves up to collaborative discussion by getting the team together, face-to-face during project initiation, for dialog and team building using team games and facilitation with a bias to being productive, explorative, and fun. Using these techniques, we can strengthen the bonds and shared risks necessary to maintain a successful project throughout its lifecycle.
In cases where face-to-face project initiation is not possible (hopefully more rare than the rule), much can be accomplished with video/voice meetings if they are relatively short and like agile documentation, structured just enough to ensure the meetings reach necessary outcomes and allow for continued direct discussions among stakeholders in the team when needed. There is nothing much worse than sitting in a meeting where a long, passionate discussion between two team members seems to be sucking all the air out of the room – and the meeting outcomes are lost.
This piece is relatively short and again, more of a guideline than a prescription for agile project initiation, as it should be if we are to «eat our own dog food.» Bottom line:
- Don’t be afraid to pull out a template when you start your next project, or when you look at it – crumple it up and throw it away so you can start your own list based on what you know and don’t know.
- What you think you know or don’t know are assumptions and should be treated as such both during project initiation and throughout the project. Only a discussion with open questions between team members can validate ideas and give us a basis for moving forward. And the assumption that is understood as valid today may not be completely correct at another time.
- Documentation must be limited to what is necessary when it is necessary and maintained throughout the project as living knowledge. Agile documentation should not be the domain of one person or one role. It must be available and dynamic – allowing everyone on the team to contribute when necessary – in a wiki-style rather than as a bunch of locked Word documents.
- Agile project initiation should focus on both the productive side – bringing together the information needed to organize the project, initialize environments, and the functional user stories needed, as well as the people/team side – developing the understanding, trust, and communication necessary to work collaboratively throughout the project. Ignoring either side is perilous. Assuming the job is done at the end of Sprint 0 is fatal.
Scio is a vendor of agile, nearshore services for software development projects with our customer base in North America. We can provide project-based or dedicated teams as required for each situation. We would be glad to discuss how our broad base of experience and skills could help you be successful with your next project. Contact us for more information.