Streamline SCM, CI, Reusable Artifacts, etc.

In order to be successful, Agile projects need to maintain a constant pace of sustainable development [1, http://agilemanifesto.org/principles.html]. Implementation teams should be able to quickly develop, test and deliver (deploy, monitor, support, etc.) potentially shippable software in short iterations. Businesses should be able to quickly evaluate software and provide feedback so it can be fine tuned iteratively. If this feedback loop is maintained at a constant pace, it results in greatly improving the quality of the requirements, the implementation, and the delivery.

But such a constant pace cannot be sustained unless there are repeatable (and automated) processes in place. The implementation team should be able to add artifacts (code, rules, etc.) at a rapid pace without overwriting each others work, or drastically impacting working software. Each change should be put through regression testing to quickly identify and react to newly introduced bugs. Data setup and tear-down needed to support such testing needs to be in place and updated regularly. Deployment to different environments (user acceptance, staging, production) should be performed regularly to address challenges (ex: infrastructure issues like firewalls, SSL certificates, etc.), and to avoid surprises later. Handling of requirements backlog, defect tracking, release notes, etc. needs to streamlined. This is where the concepts of SCM (Software Configuration Management) and CI (continuous integration) come into play. Next Path consultants have deep expertise in this area, and will do the upfront work (during the first few iterations/sprints) needed to put the necessary tools and repeatable processes in place. This will allow the rest of the team to focus on the business problem at hand.

Another very important ingredient to maintaining constant pace, is to promote reuse and preventing teams from “reinventing the wheel”. For example, cross cutting concerns like application context, exception handling, security, auditing, logging, encryption/decryption, integration related plumbing, etc. can be abstracted and applied consistently throughout the solution. Next Path consultants have deep expertise in this area, and will spearhead the creation of reusable artifacts over time in a prioritized order, allowing the rest of the team to focus on the business problem at hand. We provide the necessary expertise in agile engineering practices such as test coverage, refactoring, removing duplication, etc. which is key to achieving the level of reuse needed to maintain constant pace.

Document

While Next Path Solutions embraces the Agile Manifesto, which values “working software over comprehensive documentation”, it understands that Agile does not discourage necessary documentation. Common to all software development efforts is a need to capture and share knowledge about the requirements and designs of the product. As part of the “Transition” portion of our delivery model, Next Path Solutions consultants lead development teams in identifying the lean and efficient use of documentation to meet an enterprise’s requirements for knowledge transfer, operations support, and regulatory compliance.

Architecture design documents and operations guides all should be kept simple, striving for the fewest documents with the least overlap. If a document’s need or purpose cannot be clearly stated and justified by its audience, it is likely not needed and will add waste and risk to the project.

Executable specifications are captured in User Stories that are continuously updated as the requirements evolve and mature. No documents should be considered static. Most executable specifications can be captured in the form of tests as part of a test-driven development approach in which detailed specifications are written on a just-in-time basis for development.

Embed, Mentor, Empower

It is Next Path Solutions’ mission to lead and guide our clients in the transition to a new business driven IT delivery approach.  Success will not be complete unless our clients’ personnel are empowered to continue the delivery approach on their own, refining and improving it iteration upon iteration.  Thus, Next Path Solutions expects its expert consultants to be embedded in one or more client teams, augmenting rather than replacing the client’s long-term staff.  Working alongside the client’s staff, our experienced consultants take a mentoring approach, seeking to provide a richer transition and knowledge transfer experience than just documentation and training.  A mentoring approach allows less-experienced team members to participate in and contribute to solutions design and implementation.  Their creativity and innovation is encouraged while navigation around the pitfalls is provided.

Revisit, Re-validate, Refine

Our view is that in order to be successful at solution delivery, we can never lose sight of the big picture. To us, that means not forgetting why we are implementing a given solution, what goals and KPI targets we are trying to meet, and what risks, challenges, and mitigation strategies are considered pertinent. While the overall business vision may not change drastically over time, the goals, risks, challenges, etc. do tend to change. It is only natural that over the course of the effort, assumptions made at the beginning of the effort may no longer be true. New issues, and opportunities may also be uncovered. Armed with this knowledge, the team would want to revisit, re-validate, and refine several aspects of the solution.

In the “Comprehend” section of the overall plan, we recommend at least one checkpoint when the leadership team regroups to verify that the effort is on track to meet the original goals, whether high priority risks have been mitigated, whether the projected budget and timelines are tracking, whether all the original goals are as valid at this point as they were at the beginning, whether there are a new set of goals and risks to be considered, whether the budget and timelines need to be adjusted, and whether any re-prioritization and adjustments are needed. Depending on the size of the effort, multiple such checkpoints can be put in place.

In the “Strategize” section of the overall plan, we recommend at least one checkpoint when the leadership team regroups to verify that the initial architecture specification (including architecture decisions) is indeed helping mitigate the highest risks, whether the technology and team selections need to be adjusted, whether the SCM and CI processes have been streamlined, whether the correct set of common mechanisms have been put in place so the rest of the team can focus on business functionality, etc. Depending on the size of the effort, multiple such checkpoints can be put in place.

In the “Transition” section of the overall plan, we need to periodically revisit whether the necessary amount of “teaching how to fish” mentoring is happening to ensure a smooth and successful transition. Such checkpoints can be used as an opportunity to tweak the transition plan and make it more effective.

Our Delivery Model
We have combined our expertise in software implementation methodologies such as Unified Process, SunTone, Agile, PMI, etc. with hard lessons we learned on the ground, to define an optimal delivery model.
Testimonials
See what others have to say about us.
Friends of Next Path
High value consultants often choose to work for themselves, but love being part of skilled teams that take on challenging projects. We maintain a network of highly skilled experts in whom we have the utmost confidence. Click here if you are interested in being part of our network.
  • Facebook
  • LinkedIn