RESTful Architecture Makes Project Management Extremely Simple
From Project Manager 97Things
Flexibility Simplifies Project Management
Krishna Kadali, M. Tech Kondapur, Hyderabad, India
Miyamoto Musashi, a famous 17th century Samurai, believed in the principle, “Do not develop an attachment to any one weapon or any one school of fighting.” This advice also rings true in our project life. It is imperative that we not get too attached to any one management principle, software tool, or programming language as our only weapon. It is only through seeing our resources in a flexible way, arrangeable in many varying configurations, that we are able to prepare the best response to the customer problems that become our project.
Take an open-minded approach right from the beginning when you define your project requirements. If you already have your weapon and fight plan chosen before you talk to the customer, how can you be sure your pre-defined solution is the best one?
Before picking your weapon, examine all your customer’s requirements. What problem is the customer trying to solve using your new software? The problems are usually attached to some business logic that shows the current resources aren’t feature or function rich enough. Next, consider the pool of existing factors and systems within your organization. Reusing parts of existing environmental systems skillfully can shorten and ease your project path.
Available enterprise environment factors include such diverse things as the company infrastructure of existing facilities, equipment and software, commercial and private databases, programming tools, and human resource skills.
A resource-oriented analysis of the customer requirements to be met by the software or other project deliverables will reveal some of these underlying resources which already exist in the organization. “Our users must be able to see the XPP34 call center system side by side with our corporate accounts receivable system”. Your product will need to be merged, or be compatible, with our 4465IL legacy software.
Your job is to ask the right questions about various final performance results expected by the customer, and how existing resources/software or systems and your new code ouput are to interrelate. You may be able to lay a foundation for changes your customer will want in the future using this resource-oriented approach. At the end of this analysis, your software begins to take shape as a set of new resources; things that not only solve today’s problems, but that can be used to complete future projects and interact with future software.
Once you know what the customer wants and you know what resources are already available with your organization that must be taken into account, NOW you can choose your best weapon to fight the problem. Actual development can first focus on a few key requirements you deliver to gain the customer’s confidence. The modules and services needed for satisfying the key requirements should be implemented first.
Leaving your mind open to new paths through software design provides a pleasant way to handle software projects in the world of constantly changing requirements. This flexibility will simplify your project management challenges, and creating fresh weapons and plans keeps your workday interesting and enriching.