![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
At Millenique, we use industry-proven software development methodologies to deliver high-quality solutions to our clients within the project's timeline and budget constraints. As part of our general approach we make prototypes. However, depending on the nature of the project, we may use other methodologies as well. Rapid prototyping combined with a flexibility to re-iterate the design will give us a unique opportunity in understanding the client's requirements. Sound, Elegant, and Flexible Design Design is the most important part of software development lifecycle. Poor design is the most common cause of failure and/or going over budget later in the course of development and maintenance. At the same time, complexity in design can cause the project to collapse under its own weight and make future changes virtually impossible. Use of Open Technologies and Standards To ensure the longest possible life for software and to guarantee interoperability, it is essential to build software on top of open technologies and standards. Availability of source code and technical discussion groups have been invaluable in the formation of numerous successful development projects. Resilience, Robustness, and Reliability The very first goal when implementing software is to make sure that it conforms to the specifications. But this is just the beginning. Software should continue to work correctly and be predictable. There are always situations where software will run into unexpected conditions. Resilient software handles these situations gracefully, ensuring maximum uptime and the least manual intervention. Software Interoperability In the modern world, software does not live in an isolated island. Companies need their enterprises to exchange data with other businesses through B2B applications. Their data should also be accessible through different technologies (e.g., wireless and handheld devices). Software should provide APIs and be able to communicate with other systems to exchange data in well-defined formats. Performance and Scalability Properly designed software should scale as its workload increases and it should maintain top performance. Meeting user expectations for response time is a challenge and a critical factor in the competitive world of business. As the number of users grow, software should be capable of adapting to an increased workload and of utilizing more resources to maintain the expected response time. Quality Assurance Before deploying enterprise solutions, the software needs to be tested against the requirements. Doing regression tests, supplying different patterns of data via automated test scripts, performing load tests to make sure the software scales well, and trying to break and crash the software are among the least noticed but most important parts of the development cycle. Installation and Configuration Management Software should be well-packaged and easy to install. Installation should be intuitive and at the same time flexible to suit different scenarios. Being able to configure the software for different needs and situations is even more important as this facilitates adapting the software to changes in the least possible time. Maintenance and Fixing Problems All that being said, finding "bugs" in a software system is not a matter of if, but a matter of when. The main issue is how bugs are dealt with and how they can be fixed quickly and safely, i.e. without introducing new bugs. This is where good design, locality of functions and references, and well-written source code become very important. Flexibility for Change Although the best of efforts are made to identify the requirements in advance, change is inevitable. Business processes and organizations both change in response to business needs. These business changes will result in the need for modifications in the software systems supporting the business. The software should be engineered, both at design and implementation level, to be reasonably easy to change and adapt new needs.
|
| Copyright © 2003 Millenique, Inc. All rights reserved. |