How we get work done

Agile – by definition – is the ability to move quickly, easily, and to think and understand quickly. Agile from a management perspective is typically used within technology projects (Software Development has been the industry that uses this methodology the must); however, other types of projects are beginning to adopt the Agile management methodology to improve the success of each deliverable and ensure acceptance of new initiatives.

Agile is a group of methods based on iterative and incremental development, where requirements and solutions evolve through collaboration among self-organizing, cross-functional teams. Agile promotes adaptive planning, evolutionary development and delivery – a time-boxed iterative approach – and encourages rapid and flexible response to change. The Agile Manifesto introduced the term in 2001. The Agile Manifesto values (among other things):

Individuals and interactions

Customer collaboration

Responding to change

Open communication and collaboration between teams

Alignment with program/domain delivery objectives

Transparency across teams

Fast feedback cycles

Over the past decade, Near Coding has introduced Scrum to several organizations of different sizes and expertise. Some of the projects were complex and involved distributed teams, others were straightforward and involved small, co-located teams. However, even the simple projects reached across many departments or functional areas. A failure to sell the Agile process change to any one area can negatively impact the project’s outcome.

Through constant training, trial and error, we have created several techniques, rules and approaches for successfully introducing an Agile process to organizations.

1. Decide if Agile Is Right for Your Organization
2. Get managers and stakeholders to gain confidence about Scrum
3. Get and excited and motivated team
4. Empower your team into self-organization
5. Apply discipline from the very beginning
6. Spread the word to keep the organization engaged

Agile Team Development, Recruitment and Hiring Process

Hiring software development talent is a multi-disciplinary skill that lies between social networking, technical knowledge, product, project, program and process management, and even some intuition.

The hiring process is the process of reviewing applications, selecting the right candidates to interview, testing candidates, choosing between candidates to make the hiring decision and performing various pre-employment tests and checks.

At Near Coding we have created a flowchart that shows the major steps in the hiring process:

The process of finding and hiring the best Software professionals and creating an Agile team begins before the interview itself. A systematic approach to properly identifying potentially qualified candidates can streamline and increase the efficiency of the entire recruiting process significantly.

Without a doubt, the single best source of qualified candidates is personal networking, as quality people tend to associate with quality people. Personal referrals dominate as the most productive source for successful new hires, which is one of Near Coding’s strengths.

Other valuable sources of top-notch technical talent include:

Blogs and online technical postings. Developer blogs can be a great source of strong candidates. Technical posts often provide valuable insights into a developer’s technical acumen, approach to problem solving, and writing skills, all of which are important criteria for identifying cream-of-the-crop candidates.

Open source code contributors, such as GitHub and SourceForge.

Conference speakers and co-attendees at relevant technical conferences often provide a valuable resource for qualified candidates.

Here's an overview of each step in the interview process, along with a brief description on the best way to handle each type of interview as we progress up the interview ladder towards a job offer.

Step 1: Screening Interview

A screening interview is a type of job interview that is conducted to determine if the applicant has the qualifications needed to do the job for which the company is hiring. A screening interview is typically the first interview in the hiring process if the company does not start with open interviews where multiple candidates are screened at an open hiring event.

Step 2: Phone Interview

Phone interviews are used to narrow the pool of applicants who will be invited for in-person a technical interviews. Every single candidate that fits is called and a first assessment is conducted.

Step 3: First Interview

The first in-person job interview is typically a one-on-one interview between the applicant and a hiring manager. The interviewer will ask questions about the applicant's experience and skills, work history, availability, and the qualifications the company is seeking in the optimal candidate for the job.

Step 4: Second Interview/Technical Interview

A second interview will be conducted with the candidates that have demonstrated technical aptitudes towards the position. Each technical item to be reviewed depends on the selected role.

Step 5: Third Interview

A third interview typically involves a final meeting with the management team, staff members, executives and any other stakeholder from the client side that would like to get to know more the selected resource(s).

Step 6: Background Check

Step 7: Job Offer

The techniques described herein can serve as a valuable core process for finding and hiring software developers that are the best in the industry. Yet it is important to remember that effective hiring is not a destination, it’s a journey. Each entity must continually re-evaluate and tweak their process, as a static process is destined to become a dead process.

Every company’s journey will be different, based on its own culture and priorities. Find the path that’s right for your organization and execute on it. You will have successes and you will have failures, but as long as you learn from the latter, you can be assured that you’re on the right path. Send us a message to info@nearcoding.com or call us at +1 321 445 1796 for more information.