BAMCIS - also known as the six troop leading steps is a method used by the Marine Corps to prepare for execution of a mission or task. We can easily relate this back to software development, design, and delivery. We will cover the basics of the six steps and how they are relevant to the software development process.
(B)egin the Planning
First, we either have or accepted an idea for a new product or service, and we begin to ideate around the many ways we might execute that product. During this phase we look to develop a full understanding of what the product or service is going to provide to the end customer. Relating this to a software project, it would be evaluating the different types of technology that would assist in the design and implementation of the product. Analyzing the trade-offs of different approaches in the solution and evaluating the risk of the task at hand.
(A)rrange Reconnaissance
We develop a list of research objectives and methods for obtaining the information we need for the execution of the project. This could mean planning different methods to provide a proof of concept that can be easily shown to the end consumer. During this phase, we would be coming up with associated teams and assigning objects that match the planning phase.
(M)ake Reconnaissance
Next, we go and execute our research plan. Arranging the teams to create the proof-of-concept applications for owner display. This phase is where the real magic happens, it allows the service/product owners to make an educated decision on the direction of the product. When this is done with honest intent, we can significantly reduce risk by confirming hypotheses and by eliminating uncertainty. This phase is where teams will get a deeper level of understanding of trade-offs and pitfalls of the associated technology chosen for the initial implementation.
(C)omplete Planning
The observations and insights gained from the make reconnaissance execution, will allow us to make a final decision on if the product is worth building or if the direction was incorrect. This phase is where the owners will finalize on the product/service and choose based on initial feedback from the reconnaissance teams and evaluation of discoveries. Here the owner/owners will choose the best approach that will work best for the company. We can also use the evaluation of the teams in order to come up with a timeline for deliverables for the product. Easily transitioning this to a full scale Agile approach to be tracked throughout the process.
(I)ssue Orders
My experience in the Marine Corps and in the software development field includes working with large cross-functional teams. Each associated team has a specific objective to deliver and needs to be affectively communicated. Using the previous phase, management can come up with deliverables and timelines for the teams to meet and utilize tools such as Kanban, Sprints, and many other project planning tools in order to ensure that requirements are clear, and objectives are realistic and can be completed. There needs to be a clear line of communication between the perspective objective owners and the final supervisor when it comes to handling unforeseen issues that can arise with the execution of the project.
(S)upervise
There is a common saying in the military and specifically the Marine Corps that no plan survives the first contact. Consistent monitoring and communication are required to keep the teams motivated and focused on delivering the final product. Especially when roadblocks appear and there needs to be a decision made on what direction to continue in. The other saying from the Marine Corps is Semper Gumby meaning always flexible and able to adapt to changes that are unforeseen.