Understanding the power of creativity and entrepreneurship, Intertech’s Consulting Division continues to prove that there is more to a consultant than heads-down programming. Working with companies like 3M, Microsoft, and Medtronic since 1991, Intertech has demonstrated through continuous growth and retention of clientele that its unique formula of information sharing is a powerful tool.Discuss Project
A big key to the success of Intertech’s Consulting Division is in our team’s use of software development best practices.
Often these improvements include defining and implementing automated build procedures, selecting a source control system, implementing development and automation tools such as Microsoft Team Foundation Server (TFS), Maven, or Hudson, and performance and tuning systems.
Intertech’s experience has proven these sorts of improvements for our clients will result in a higher degree of success around project goals, deliverables, timelines, and budgets. Following Intertech’s model of training and mentoring customers during projects, our team makes sure to pass on important SDLC skills and methodologies to our clients so they can continue to experience successful project deliveries into the future.
The two-part graphic below shows the traditional Sequential or Waterfall development process for delivering projects along with the Agile or Collaborative development process. The Waterfall process goes through a long requirements gathering process in the beginning followed by design, development, and testing. Intertech’s experience reveals that once a project begins, the requirements change and the development team must adapt quickly to changes demanded by the business. This can be a challenge in a Waterfall environment, but can be easily addressed and accepted within the Agile process.
Intertech’s preferred method of project delivery is to use an Agile or Scrum process. An Agile software engineering approach often results in more accountability and less waste for problem analysis, solution design, coding, testing, and product release. The continuous feedback loop fostered with the Agile approach illuminates problems earlier than with other methodologies. Instead of only one long iteration of performing these SDLC activities sequentially, an Agile team repeatedly performs these activities in short durations. In addition, Intertech’s team of experienced consultants are experts at working with our clients to identify the highest priority business needs, and then strive to deliver these needs early in the project cycle.
A common theme in Agile methodologies is adaptation of a methodology and procedures to a given team or organization’s culture, history, and staff. Intertech consultants are experts at working with our clients to best determine how an Agile process can most effectively be used on your given project and within your organization.
The Agile process disperses responsibilities among all project team members, and increases accountability of the team to stakeholders. Intertech’s consultants recognize that Agile has many pragmatic practices, and it allows choice about the ones best suited for your team, and/or customizing the approach to work best in your culture. Below is an overview of the roles Intertech uses depending on the project and client.
The product owner is one of the key planners, along with the coach and tech lead, and is the primary decision-maker for the product. Usually, multiple people or business units have input into the product priorities and often a consensus can be reached. However, with the occasional priority conflict, the product owner makes the final decision on product features and priority.
The coach guides the project team through the iterations, facilitating the meetings (e.g., iteration open, iteration close, retrospective, planning), helping to remove obstacles for the project team, and communicating with management and stakeholders. The coach also challenges the team to improve and reduce waste, and teaches improvement techniques as needed. Depending on project size and complexity, an additional project manager may exist, particularly with teams new to Agile or with organizations that still require some of the traditional approaches.
The project team members include all roles involved with the project, such as the product owner, coach, business users, development team (programmers, business analysts, and testers), and infrastructure/network team. The team may consist of employees, consultants, or both.
Traditionally, stakeholders have been defined as the person or business unit whose budget funds the project. With the Agile approach, depending on the methodology, the term “stakeholders” typically is not used. Instead, terms such as “customer” and “programmer” or “product owner” and “team members” are used. If “stakeholder” is used, it typically includes anyone directly or indirectly affected by the development or use of the product. Different stakeholders have a vested interest in the product at different times, and some for the life of the product from inception.
Progress is measured in an Agile project through iterations. Iteration, also known as a Sprint in the Scrum methodology, is an improvement increment of a product that results in a tangible work product that can be reviewed or demonstrated to the stakeholders. Multiple orchestrated iterations are the foundation of the project. Iterations range from one to four weeks in length, with two-week durations the most common. Intertech consultants work closely with the project team to determine appropriate iteration duration for the team, and to schedule work for each iteration.
We also work closely with our client to discover the priority order and component dependencies so the team can deliver working software with each iteration.
For example, here is a “Velocity report” of a customer Intertech is working with and mentoring on adopting SCRUM. As an example of our metrics, this report gives the team constant feedback and it is something they can measure over time. What this report doesn’t show is the “can-do-spirit” among team members that has dramatically risen as the team begins to get in the rhythm of producing real-world useable results for a set of stake holders given them increasingly rave reviews.
Intertech consultants follow an Agile roadmap for each iteration in a project.
The team plans ahead of iteration execution in an iteration planning meeting. The customer (or appropriate representative) reviews the product backlog, asks development for more refined estimates, adjusts priorities, and the top priorities become the iteration backlog – the planned work for the iteration.
The iteration planning meeting creates the iteration backlog – the work the team plans to accomplish in the iteration.
At the end of an iteration, the team delivers a product increment – preferably delivering value a small iteration at a time. The product may have enough functionality to warrant a production release; at minimum, it is an internal release to testing and customer demonstration.
In the iteration review meeting, the team demonstrates to the users the new functionality completed during the iteration. This meeting and demonstration enables the product owner and users to validate progress, and offer insight into what the next iteration might contain.
The project team reflects on the iteration and determines necessary improvements. While the customer adjusts business needs, priorities, and selections per iteration, the team reviews and adjusts their activities per iteration, focusing on continuous improvement.
The product backlog contains the product’s incomplete features and bugs. At any time, any team member can add items to it. The product owner, with input from others, maintains the priority of all items in the backlog. All ideas are valid, however not all ideas may become implemented as part of the product (i.e., features that don’t adhere to law, regulations, or company standards won’t become part of the backlog). The backlog consists of stories and tasks, initially at high-level and explored into more detail as requested during iteration planning.
Listed below are examples of Intertech's responsibilities and deliverables when following an Agile process for client projects.
Provide development process/methodology assessment, mentoring, guidance
Outline methodology to be followed, keeping in mind industry best practices and client standards.
Quantify and outline milestones to ensure project is on track.
Outline deployment strategy.
Provide a framework to log activities.
Ensure that new system is easy to understand and maintain.
Provide an outline to ensure security requirements are met, ranging from authentication/authorization to securing data from accidental damage or penetration.
Implement change management process.
Identify component dependencies (other applications, external data feeds, etc.).
Establish volume objectives (throughput, storage, etc.).
Ensure the product adheres to service level agreements.
Implement access/security constraints.
Ensure the product adheres to auditing/regulatory requirements.
Establish and enforce accessibility standards.
Provide system and technical design document.
Discuss your project today with one of our consultants!Discuss Project