The Latest
Predicting the Past[magazine] Developing an accurate prediction process is complex, time consuming, and difficult. But, basing predictions on causality rather than correlation and learning how to "predict the past" can help us gain confidence in the validity of our work. |
||
That's No Reason to Automate![magazine] Automating test execution is supposed to give tremendous benefits, but often gives disappointing results—because it hasn’t met the objectives set for it. The fault may not lie with the automation itself, but with the objectives you are attempting to achieve. Aiming at the wrong target does not bring success! For example, objectives for automation are often confused with objectives for testing, but they should be different. In this article, learn how to avoid the most insidious traps and how to recognize good objectives for automation. |
||
Feel the Burn: Getting the Most Out of Burn Charts[magazine] Burn-down charts have become a popular project artifact, but too often, people accept the default chart from whatever project management tool they're using. What choices can we make about the chart format and scale that will help us create charts that answer the questions that are really important to us? And when the chart looks "funny," what could it possible mean? |
||
Software to Go: Developing Applications for a Wireless World[magazine] The mobile arena is in constant evolution, changing the way we approach software development both from a business and a technical perspective. Taking the time to set your plan can make the difference between success and just a good idea. In this article, Luis Carvalho shares some guidelines for bringing new applications into the mobile ecosystem. |
Luis Miguel Carvalho
July 15, 2009 |
|
Avoiding Half-baked Discovery[magazine] It can be difficult to explain to your customer why cutting half of the features doesn't cut half of the time and cost. Every software project has fixed costs that often get overlooked in project planning—setting up development environments, ramp-up, building frameworks, and setting up configuration management to name a few. Read on for some ideas on how you can position this with your customer. |
||
Testing the Contract Metaphor[magazine] A contract represents a service agreement between two parties, the bounded provision of service by one party to the other. This metaphor also applies to how we can think about the relationship between unit tests and code. A contractual mindset encourages test names and partitioning based on clear propositions, backed up with executable examples. |
||
A Visualization of Your Data is Worth a Thousand Words[article] Today I watched an old TED Talk by Dr. Hans Rosling entitled "Debunking third-world myths with the best stats you've ever seen." If you haven't seen it yet, I recommend taking a moment to watch it - I've never seen statistics presented in such an engaging and entertaining fashion. In this talk, Dr. Rosling uses his fantastic visualization software to demonstrate the changing relation between the wealth and health of nations over several decades. |
||
Coach Release Management like a Winning Sports Team[article] Release management is very similar to a team sport that involves many essential interactions. Very often teams find it particularly challenging to work together effectively, and the end result is that they cannot manage to complete any complex tasks without making many mistakes. Sports teams are also affected by interpersonal dynamics that can either help build the team or render it completely dysfunctional. Release management involves the packaging of every component in order to successfully deliver a complete product to a customer. Your release management function needs to efficiently coordinate the work of each player on your team. |
||
Dicta RM[article] With the right amount of preparation, executing release management can be done successfully. By educating the entire development team on the release timing, and its impact, learn how release management is made easier, and with much less risk. |
||
A Security Testing Process in the Software Development Lifecycle[article] This security testing strategy document describes the methods and tools used by security engineers to validate the security of a system. It also contains an outline of the approach the security engineering team will take to ensure that security acceptance criteria is met. |
Khaja Shariff
July 10, 2009 |
|
Managing Software Debt[article] Continued Delivery of High Values as Systems Age Many software developers have to deal with legacy code at some point during their careers. Seemingly simple changes are turned into frustrating endeavors: Code that is hard to read and unnecessarily complex. Test scripts and requirements are lacking, and at the same time are out of sync with the existing system. The build is cryptic, minimally sufficient, and difficult to successfully configure and execute. It is almost impossible to find the proper place to make a requested change without breaking unexpected portions of the application. The people who originally worked on the application are long gone. |
||
Timing Matters in Managing Change[article] Implementing change can be a colossal challenge. People tend to prefer what's familiar, safe, and predictable to that which is new, unfamiliar, uncertain, confusing, or potentially risky. But the timing of a change effort can influence how readily people accept the change and adjust to it. |
||
When is Open Source not Enough?[article] Open source CI tools have been immensely popular, but are they the perfect fit for your operation? Answer these seven questions to quickly assess if you should upgrade to an enterprise-class CI environment. |
||
A pragmatic approach to Build and Deployment management[article] Suppose you have to start a new development team today: One of the items in the ‘to do' list would be to define the build and release management process for the product to be developed. In last 30 years Software configuration management has progressed from simple tools to fairly complex and feature rich tools. Some of the new-age continuous integration tools boast of simplifying and automating the entire build and release process. Still it is a Herculean task for the product development team to identify the right set of tools which would help in automating the entire build and deployment process. Most project teams are not able to innovate beyond a limit and their build management system is mostly based on manual steps. Continue to read on if you have faced such a dilemma and are looking for an easy way out to this cognitively complex problem. The objective of this paper is to document the simple steps which would help a development team harness the power of automated build-test-deployment process. |
Mayank Gupta
June 23, 2009 |
|
Essentials of the Build Process[article] Build is central to CM and iit's critical to do it right. A basic build capability is founded on two key fundamentals: the ability to reproduce the build and the ability to automate the build process. Without these fundamentals, you're fighting an uphill battle. Reproduction of the build implies that you have a CM system able to capture the build definition. Automation helps to ensure that no manual errors can play into the production, but this is just a basic build capability. |